読者です 読者をやめる 読者になる 読者になる

カーソル下のキーワードを含む行をすべて表示してジャンプする

Vim

:help include-search
もしくは
:help definition-search

ぼくは[Iだけよく使います。
(※フォントによって読みにくかったので注釈。大文字のiです。ぼくの環境だとアイとエルが区別できん)
便利だと感じているのですが、紹介されているのをあんまり見たことないような。

カーソル下のキーワードを含む行をすべて表示する。

							*[I*
[I			カーソルの下にあるキーワードを含む行をすべて表示する。
			結果にはファイル名と行番号が表示される。検索はファイル
			の先頭から開始される。{Vi にはない}

							*]I*
]I			"[I"と同様だが、検索が現在のカーソル位置から開始される。
			{Vi にはない}

例えば{call}の上にカーソルがあるとして、

[Iと押すとこうなります。

ただこのままだと該当行が表示されるだけなのでちょっと使いづらい。
なので、helpに載っているように番号指定してジャンプ出来るようにマッピングします。

nnoremap <Space>w [I:let nr = input("Which one: ")<Bar>exe "normal " . nr ."[\t"<CR>

こんな感じ。

便利!

おまけ

unite.vimを使っている方は「:UniteWithCursorWord line」でも同じような結果を得られます。
「:UniteWithCursorWord -no-quit line」にすれば検索結果を残したままアッチへコッチへ移動できるので、そういうケースにとても便利。
あと該当結果が多い時には[Iだとぎゃーってなるのでunite使った方が楽。