🗃️

Vimのファイルパス補完をちょっと使いやすくするマッピング

2024/07/27に公開

Vimには標準でファイルパス補完機能が同梱されています。インサートモードで<c-x><c-f>で起動します。


ファイルパス補完の例

便利なのですが、起動キーの<c-x><c-f>は押しやすいとはいえません。
深いパスまで補完しようとすると、候補選択のたびに<c-x><c-f>を入力しないといけないのでちょっと大変です。補完のスタートはこれでもいいとして、パスを辿っていく途中はもう少し楽に入力したいと思いました。

ということで、/を拡張[1]して、パス補完を連鎖的に行うマッピングを作りました。
「ファイルパス補完中」かつ「候補が選択されている」状態において、/<c-x><c-f>として動作します。

inoremap <expr> /
      \ complete_info(['mode']).mode == 'files' && complete_info(['selected']).selected >= 0
      \   ? '<c-x><c-f>'
      \   : '/'

これで「候補選択して/」だけでパスを辿っていくことができます。

脚注
  1. マッピングするキーは何でもいいのですが、ファイルパスなので/がわかりやすいと思います ↩︎

Discussion