LoginSignup
0
1

More than 5 years have passed since last update.

vimのcurrent bufferにあるrubyスクリプトを実行したい

Last updated at Posted at 2017-01-13

vimのcurrent bufferでrubyのソースコードを実行したい。お試しで書いたファイルすら作ってない場合どうやるのがいいのかなと考えてみた。

ファイルがない

eval便利。

各行を1行ずつ処理したい。

:rubydo eval $_

けど、classやmethod定義もワンライナーじゃないといけないから複数行まとめて処理したい場合はこっち。

:ruby eval(Vim::Buffer.current.length.times.inject("") {|res, i| res << Vim::Buffer.current[i+1] << "\n"})

keymapがめんどくさかった

nnoremap <leader>rb :ruby<Space>eval(Vim::Buffer.current.length.times.inject(''){<Bar>res,i<Bar>res<lt><lt><Space>Vim::Buffer.current[i+1]<lt><lt><Space>"<Bslash>n"})<Return>

ファイルがある

おまけ。

:!ruby %
0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1