Vim プラグイン開発でも継続的インテグレーションがしたい! (Travis CI 編) #ci#editorwar#vim 2013年 02月 06日 kana 問題 昨今は継続的インテグレーション(CI)が大ブームです。 そしてオープンソースのプロジェクトならTravis CIを使うことで簡単にCIを始めることができます。 という訳でこのビッグウェーブに乗るしかありません。 それも Vim プラグイン開発で。 しかし、 Vim プラグインのテストはどう書けば……他のプラグインに依存しているプラグインだとどうしよう…… という割と面倒臭い問題があります。 しかしもう2013年です。 Vim プラグイン開発でも CI したいお年頃です。 一体どうすれば良いのでしょうか。 解答 幸いなことにもう2013年です。 なので以下のステップをこなせば Vim プラグイン開発でも簡単に CI できます
Expression レジスタをはじめて使った。 vimはvimscriptで色々な処理を行えるけど、Expression レジスタは入力中に計算した結果を表示したいとか 関数や式の結果を入力したいという場合に使えるみたい。 例えば、カレントディレクトを表示する場合。 =でExpression入力モードを表示し、getcwd()を入力しエンター Insertモードで表示されているカーソル部分ににgetcwd()で返されたカレントパスが入力される 出力結果例 /home/foo良いと思った点 組み込み関数だけでなく自分で定義した関数も使える。 変数も使える。 evalも使える。 設定によってはtab補完が効く。(vim7だけ?) ワンライナーの練習になる。 vimscriptを触る機会が増える。 Insertモードから抜けなくても良い。突進。 多用しまくりたい!! そういえばこの間、職場のE
より快適なVim × Ruby環境を目指して構築したvim環境について。 0からでも構築できるように整理した。 やること 最初にRuby、Vim、その他必要なパッケージをガシガシインストールする。 その後、設定した下記機能について実際の操作例を見ていく。 自動コード補完ができるようにする(Rsense/neocomplete) Vim上で静的解析ができるようにする(Rubocop/syntastic) Vimからリファレンスを閲覧できるようにする(vim-ref/vim-ref-ri) メソッド定義元へのジャンプができるようにする(ctags/vim-tags) 構文終わりのキーワードを自動入力できるようにする(vim-endwise) OSはLinux(CentOS6.5)を想定。検証環境は以下のとおり。 $ uname -a Linux vagrant-centos65.vagrant
Vim スクリプトを書いていると、どうしても Vim だけの機能では難しい、または面倒な場面にでくわすことはよくある。特に通信周りなんかはそうだ。 外部コマンド 1 つで済めばいいが、複雑になってくると Ruby などでスクリプトを書きたくなってくる。かと言ってファイルが増えるのは嫌だし、そもそも plugin ディレクトリなどに .rb などのファイルが入るのも気にくわない。 そこでいっそ Vim スクリプト内にコードを書きたくなるわけだけど、各種言語のインターフェースはオプションなので、組込まれていない Vim では使えなくなる。マシン自体に言語環境は入っているけど Vim には組込まれていない、なんてことは割とありがち。外部コマンドとしてなら使えるのに…。 と言うわけで、Vim スクリプトにインターフェースを使わずに他の言語を埋め込む方法。用途を考えると半分ネタなのであんまり本気にし
Vim上でirbみたいな事が出来たら素敵かなぁと思って、こんなスクリプト作ってみた。 概要 Vim上でのRuby開発を加速させます(たぶん) 組込みRubyを使ってVim上でirbみたいな事ができます。 ノーマルモードで「ctrl + enter」すると、カーソル下の行実行 ビジュアルモードで「ctrl + enter」すると、選択範囲の実行 matchit.vimがあるとブロック実行出来て更に幸せです。 インストール ~/.vim/after/ftplugin/ruby.vim辺りに保存しておいて、再起動。 nmap <buffer> <C-CR> :call <SID>Eval(function("<SID>YankNormal"))<CR> vmap <buffer> <C-CR> :call <SID>EvalVisual()<CR> execute 'ruby vim_bind
「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
Vim 7.2 対応 http://0xcc.net/blog/archives/000137.html だいぶ適当。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) VimScript(string) s = "abc" let s = "abc" s = x + y let s = x . y s == x s ==# x s % [x, y] sprintf(s, x, y) printf(s, x, y) [x, y, z].join(s) call join([x, y, z], s) s.capitalize call substitute(s, '\w\+', '\u\0', "") s.capitalize! s.center(x) :center ならある s.chomp s.chomp! s.chop let s = strpart(s,
おそらく、誰もがやる深夜のWebサーフィンは、究極のところ時間の無駄ではないのかもしれない。 それは、Webで夢をみているのにほかならないのだ。(T.B=リー「Webの創成」より) さて、Vim導入メモを書いてから、早いものでもう一ヶ月経ってしまいました。 ようやく使い方にもそこそこ慣れてきたので、今回はVim導入の一番の目的でもあったRails開発についてまとめてみたいと思います。 Rails開発に役立つVimスクリプト(必須) Vim/Ruby Vim/Ruby Configuration Files これはVimでRubyを扱う際の最も基本的な拡張機能と思います。 .rb(ruby)と.rhtml(eruby)のファイルでシンタックスハイライトが有効になるほか、オムニ補完(<C-X><C-O>で表示される自動補完)も使えるようになります。 omni補完 - モデル内で「has」と入力
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く