私は使っています Ctrl-] VimでCtagsを使用してナビゲートします。複数の一致がある場合、代替ファイルに移動するにはどうすればよいですか?
例something.publish
は、publish
の複数のオカレンスを含むコードベースで:
class Foo
def publish
end
end
class Bar
def publish
end
end
:tn[ext]
は次のタグに移動します、:tp[revious]
は前のものに移動します。 :ts[elect]
は、選択するリストを提供します。
:help tag-matchlist
より楽しくてエキサイティングなことを試してみてください!
使用する g]
の代わりに C-]
すべての一致のリストを取得します。
:help g]
他の人に役立つ場合に最終的に探していた答えを追加:
g<C-]>
は、一致するものが1つしかない場合はタグにジャンプし、複数の一致がある場合はリストを表示します。
このマッピングを.vimrcに追加して、デフォルトで必要なことを実行できるようにしました。
nnoremap <C-]> g<C-]>
ltag
ltag the_tag_name
lopen
タグが一致する場所ウィンドウを開きます。
これは、正規表現のタグ検索で特に強力です。
ltag /tag_na
lopen
文字列tag_na
(したがってthe_tag_name
を含む)を含むすべてのタグがリストされます。
Enterキーを押してタグにジャンプする前に、場所リスト内をさらに検索できます。
カーソルの下のWordに使用するには、マップを定義する必要があります。
nnoremap <leader>l exec("ltag ".expand("<cword>"))<CR>
そして、あなたが私のようなタブマニアなら:
command! -nargs=1 Ltag silent ltag <args> | execute "normal \<C-o>" | tab lopen
タブに直接ジャンプする代わりに、場所リストとすべての一致を含む新しいタブを開きます。
:Ltag /my_struct