最近Vimを使いこなしたくイジイジしてたので少しまとめてみました.
Vimでもっと便利にタグジャンプしたい!!
という人を対象に書いています(多分).
分かりづらいところが多々あると思います申し訳ございません.
Vimスクリプトとは?
Vimに組み込まれたスクリプト言語である。
ググってもらえれば良くはわかると思います.
超すごいタグジャンプ
タグジャンプとは?
コード中に書かれた変数や関数の宣言元を一発で参照することのできる機能です.
どのくらい便利なのか?
こんな感じにエディタなのに宣言元に移動できちゃいます.
導入方法&使用方法
ctagsをちゃんと使う
その他にもググってもらえればたくさんヒットします.
スマートにタグジャンプ!!(本題)
デフォルトのタグジャンプ
単語上にキーカーソルを移動しCtrl+]で宣言元に移動します.
デフォルトのままだと,複数宣言元が見つかった場合,第一候補にジャンプしたりと少し使いにくい.
スマートにタグジャンプ
キーマッピングして,複数のコマンドを組み合わせ使いやすくしてやります.
今回は,Ctrl+h・Ctrl+kでキーカーソル上の単語の定義元を新たなタブで垂直・水平に分割してジャンプします.
複数宣言元が見つかった場合,リストにして選べるようにします.
.vimrcの編集
.vimrc
nnoremap <C-h> :vsp<CR> :exe("tjump ".expand('<cword>'))<CR>
nnoremap <C-k> :split<CR> :exe("tjump ".expand('<cword>'))<CR>
.vimrcにこの二行を記述して保存,Vimを再起動するとCtrl+h・Ctrl+kでタグジャンプできるようになります.
意味はヘルプでバッチリ調べれます.
例):help vsp
垂直に新規タブでジャンプ
水平に新規タブでジャンプ
最後に
垂直に新規タブで宣言元にジャンプしたいなぁと調べていて書き方だけは見つけたのですがVimスクリプトの意味が理解できず…(そもそもVimスクリプトという存在を知らなかった)
そこでヘルプがとても重要な情報源となりました.
今回のキーマッピング,実際のコーディングで使ってないので今後改める必要があります.
ヘルプでコマンドを調べて書き換えてやれば他にも色々とできちゃいそうです.