vimでrubyを書くために
書いてたのに消えた…。やる気失せたけどやったことはメモしておく。
vimのrubyオプションを有効にする。
$ vim --version | grep ruby
-python3 +quickfix +reltime -rightleft -ruby +scrollbind +signs +smartindent
オプションの確認。
-rubyなので現在は無効。
Homebrew の Vim formula 書いた
から
https://gist.github.com/721952
を利用してbrewでvimをインストール。
$ brew install https://gist.github.com/raw/721952/7e09331daa87184b21f97062a1468fd5ed8a07d2/vim.rb --enable-interp=ruby --force --HEAD
Error: You must install Mercurial: brew install mercurial
--HEADオプションを付けたせいかバージョン管理ツールのmercurial入れてねって言われたので入れる。
再度トライで完了。
それだけだとvimで起動するのは元々入っていたvimになるので、変更。
~/.bash_profileを編集
export PATH=/usr/local/bin:$PATH
vim --version | grep ruby
-python3 +quickfix +reltime -rightleft +ruby +scrollbind +signs +smartindent
Linking: /usr/bin/clang -L. -L/Users/****.rbenv/versions/1.9.3-p194/lib -L/usr/local/lib -o vim -lm -lncurses -liconv -framework Cocoa -lruby-static -lobjc -L/Users/****/.rbenv/versions/1.9.3-p194/lib
できた!
は良いんだけど、使い方全然分かんない…。途方に暮れそうになるがまぁ慣れるしかない。
vim-rubyの導入
gem install vim-ruby出来なかったのでgithub vim-ruby / vim-rubyからファイルをダウンロードして、bin/vim-ruby-install.rbを実行してインストール。
$ ruby vim-ruby-install.rb
vim-ruby-install.rb:15: Use RbConfig instead of obsolete and deprecated Config.Possible Vim installation directories:
1) /Users/****/.vim
2) /usr/local/Cellar/vim/HEAD/share/vim/vimfilesPlease select one (or anything else to specify another directory):
Please enter the full path to your Vim installation directory: /usr/local/Cellar/vim/HEAD/share/vim/vim73
ディレクトリがvim73になってるのでそれに変更してインストール。
.vimrcがまだなかったので、生成。
$vim .vimrc
#以下を記入
set nocompatible
syntax on
filetype on
filetype indent on
filetype plugin on
compiler ruby
let ruby_space_errors=1 #余分なスペースがあるとハイライトしてくれるオプション
試しに以前書いたrubyのコードを読み込むと、ちゃんとシンタックスハイライトされて表示された!
追記:gemのインストールちゃんと出来てなかった。git使ったほうが確実。
$ git clone http://github.com/vim-ruby/vim-ruby.git
$ cd vim-ruby
$ rake package
$ gem install etc/package/vim-ruby-{yyyy.MM.dd}.gem #ファイル名は適宜変更
で上の手順を踏む。
入力の補完とか
機能的には入力途中のコードを保管してくれる機能も付いているんだけど、Ctrl+x Ctrl+oを実行すると毎回落ちる。
Vim: Caught deadly signal SEGV
Vim: preserving files...
Vim: Finished.
Segmentation fault: 11
原因として考えられるのは使用しているrubyのバージョンとvim内で利用するバージョンが違うと起きるという事なので、rbenvで管理してるのが原因臭い。が、解決索を探るのに時間がかかりそうで仕事にならないので、一先ず放置することにする。時間ができたら修正したい。
参考:vim caught deadly signal SEGV