アルパカログ

📅  2020-11-02

NeoVim ファイル検索もgrepもサクサクdenite.nvimの設定と使い方


Vimでファイル名をあいまい検索したり、ファイルの中身をgrepしたいと思ったときに、まず候補に上がるのがdenite.nvimだと思います。

denite.nvimを使えばファイルを開いたりgrepするだけでなく(私はそこまで使いこなせていないですが)カスタマイズしてもっといろいろなことがVimでできるようになります。

ちなみに、denite.nvimとよく比較されるプラグインとしてfzf.vimがありますが、fzf.vimはgrepすると頻繁に固まってしまったので個人的には安定してサクサク動くdenite.nvimがおすすめです。

そういうわけで、このエントリではNeoVimにdenite.nvimを導入する際の極めて個人的なおすすめの使い方と設定を紹介します。

基本のキーマッピング

denite.nvimはREADMEの冒頭に書かれている通り、インストールしただけではデフォルトのキーマッピングを持ちません。

そこで作者がサンプルとして載せてくれているキーマッピングを自分なりにアレンジして使わせてもらいます。

grepコマンドの変更

ファイル検索(file/rec)とgrepを高速なrgに変更します。rgはripgrepのコマンドでagよりも高速で.gitignoreファイルを考慮して検索してくれます。

こちらも作者が載せてくれているサンプルをそのまま使わせてもらいます。

rgコマンドが必要なので適宜インストールしてください。Macでは下記のようにHomebrewで簡単にインストールできます。

フィルター内でのdeoplete.nvimの補完をオフにする(オプション)

ファイル名を検索するフィルターでdeoplete.nvimによる補完が嫌な人は、下記の設定を追加してオフにします。

好みの問題なので、実際に使ってみて必要なら設定してみてください。

ファイル検索とgrepのキーマッピング

ファイル検索とgrepのキーマッピングを追加します。

ここは好みによって大きく変わってくる部分なので、私の設定を紹介しつつ、何をしているかだけ説明したいと思います。

まず下記が私の設定です。

;fでファイル検索file/recを開始できます。-start-filterオプションをつけると入力モードでフィルターを開始することができます。;Fを使うとプロジェクトディレクトリから検索できます。

;gでカーソル位置の単語で検索できます。区切り文字を含むようなネストされたモジュール名などをカーソル位置から検索するには;Gを使います。

自分でキーワードを入力してgrepしたい場合は;;g;;Gを使います。

denite#custom#optionの第1引数はバッファ名で、-buffer-name=some-nameのようにオプションで指定したバッファに対して個別にオプションを設定することもできます*1。

さらに下記のエントリでは自動プレビューの設定を紹介しています。自動プレビューは必須級に便利ですので、ぜひ設定してみてください。

以上です。

このエントリではNeoVimにdenite.nvimを導入する際の極めて個人的なおすすめの使い方と設定を紹介しました。

これを参考にぜひご自身の好みに合わせてカスタマイズしてみてください。良いVimライフを!

同じカテゴリーの記事


おすすめ記事


最新記事


カテゴリー