Site cover image
NeoVim denite.nvimで自動プレビューするための設定紹介(auto preview)

denite.nvimを使うとファイル検索やgrepの使い勝手が劇的に向上します。

さらに下記のスクショのように、ファイル検索やgrep実行時のdenite-filter画面でプレビューを表示すると、使い勝手が良くなるのでおすすめです。

Image in a image block
フローティングウィンドウで左側にgrep結果、右側に周辺のプレビューが表示される

このエントリでは、denite.nvimでフローティングウィンドウを使って自動プレビューするための設定を紹介します。

💡
denite.nvim の導入方法は NeoVim ファイル検索もgrepもサクサクdenite.nvimの設定と使い方 をご覧ください。

フローティングウィンドウと自動プレビューのために下記のように設定します。

'auto_action': 'preview'が自動プレビューのための設定です。

その他の設定は、ほぼフローティングウィンドウのためのものです。

let s:floating_window_width_ratio = 1.0
let s:floating_window_height_ratio = 0.7

call denite#custom#option('default', {
\ 'auto_action': 'preview',
\ 'floating_preview': v:true,
\ 'match_highlight': v:true,
\ 'preview_height': float2nr(&lines * s:floating_window_height_ratio),
\ 'preview_width': float2nr(&columns * s:floating_window_width_ratio / 2),
\ 'prompt': '% ',
\ 'split': 'floating',
\ 'vertical_preview': v:true,
\ 'wincol': float2nr((&columns - (&columns * s:floating_window_width_ratio)) / 2),
\ 'winheight': float2nr(&lines * s:floating_window_height_ratio),
\ 'winrow': float2nr((&lines - (&lines * s:floating_window_height_ratio)) / 2),
\ 'winwidth': float2nr(&columns * s:floating_window_width_ratio / 2),
\ })

nmap <silent> ;g  :<C-u>DeniteProjectDir grep:::<C-r><C-w><CR>

'match_highlight' は、マッチした文字をハイライトするための設定ですが、ドキュメントによると遅くなるとありますのでお好みで設定してください。

設定を保存したら一度NeoVimを立ち上げ直して適当なソースコードを開きます。

適当なワードにカーソルを合わせてgrepを実行します(上記のキーマッピング例では;g)。

Image in a image block
検索したいワードにカーソルを合わせてgrepコマンド

下記のようにdenite-filterバッファとプレビューが開けば成功です。

Image in a image block
フローティングウィンドウで左側にgrep結果、右側に周辺のプレビューが表示される

私の設定は下記で公開しているので、良かったら参考にしてみてください。

以上です。

このエントリでは、denite.nvimでフローティングウィンドウを使って自動プレビューするための設定を紹介しました。

denite.nvimを使い始めたときからずっとやりたかった設定だったので、上手くできて嬉しいです。Shougoさん、ありがとうございます!

スクショのカラースキームが気になった人は下記の記事をご覧ください。

Thank you!
Thank you!
URLをコピーしました

コメントを送る

コメントはブログオーナーのみ閲覧できます