vimで特定のファイルの特定行に飛ぶ
vimでノーマル・モードでカーソルの下にあるファイルのパスにジャンプするにはgfを入力するか、もしファイル名 行番号のようにファイル名の後に行番号がある場合はgFでそのファイルのその行に飛ぶことができる。
例えばLinuxで下記のようなエラー表示をファイルに保存すればgFでエラーの箇所に直接飛ぶことができる。
from /usr/lib/ruby/lib/ruby/1.8/optparse.rb:1443:in `catch'
ただ、windowsでは下記のような記述の上でgfもしくはgFを入力すると
from d:/Program Files/ruby-1.8/lib/ruby/1.8/optparse.rb:1443:in `catch'
E447: pathには "d:/Program" というファイルがありません
が表示される。
これは、vimの設定でファイル名として許される文字にwindowsの場合 (スペース)が含まれないためだ。また逆に:が含まれているため、 (スペース)をつけただけでは
E447: pathには "from d:/Program Files/ruby-1.8/lib/ruby/1.8/optparse.rb:1256:in
" というファイルがありません
となってしまう。なので、下記のようにファイル名として許される文字から:を抜きスペースを許す設定をする。
:set isfname=\ ,@,48-57,\\,/,.,-,_,+,,,#,$,%,{,},[,],@-@,!,~,=
これでgFでカーソル下のファイルの行番号に飛ぶことができる。
| 固定リンク
「vim」カテゴリの記事
- windowsのgvimの設定(2008.02.17)
- VIMでマッチしているHTMLタグやrubyの対応するdo endにカーソルを移動させる。(2009.07.28)
- vimで特定のファイルの特定行に飛ぶ(2009.06.26)
- rails.vim pathには "app/models/blog.rb" というファイルがありません (2009.05.18)
- vim grepした結果を編集して使う。(2008.12.23)


コメント