2018-07-31 Meguro.rb #17
@thinca
-
thinca (Twitter,GitHub他)
-
Rails アプリ書くお仕事をしてます
-
好きなエディタ: Vim
-
自分の .vimrc に設定を書く
-
Vim プラグインを書く
-
Vim script を書く必要がある
- Vim script わからん
-
Ruby interface for Vim
-
Vim script の代わりに Vim で書ける
-
Vim 自体に付いている機能
- ただしビルド時に有効になっている必要がある
-
+ruby 機能が有効にされた Vim
- ./configure --enable-rubyinterp
-
brew …は…よく知らない…
-
Vim のコマンドラインから直接
-
Vim script 内に埋め込む
-
ファイルに書いて読み込む
単発で実行する
:ruby print 'Hello Ruby!'
範囲の各行で実行する
:rubydo $_ = "# #{$_}"
2の階乗を計算する例
function! Pow2(num) abort
ruby << EOR
res = 2 ** Vim::evaluate('a:num')
Vim::command(%(let result = #{res.inspect}))
EOR
return result
endfunction
※ pow()
は Vim script にもあります
sample.rb
のようにファイルを用意
class MyVimPlugin
def useful_feature
puts 'useful'
end
end
以下のコマンドでファイルを読み込む
:rubyfile /path/to/sample.rb
-
触る対象は結局 Vim
- Vim の内部の構造をある程度知っている必要がある
-
Vim 内で Ruby の環境は1つだけ
- トップレベルで定義したメソッドは 当然グローバルでずっと残る
-
Ruby で Vim を拡張できる
- Vim script を書かなくてよい
- とは言え Vim のことは知る必要がある
-
+ruby でビルドしてある必要がある
-
VimConf 2018 開催します
-
2018-11-24(Sat) in 秋葉原
-
Vim の作者 Bram 氏が来日します
-
発表者募集中!