defx.nvimを導入するとファイルツリーを表示したり、ファイルの新規作成、コピー、削除といった操作がVim上で簡単に行えます。
denite.nvimがファイル検索に特化したプラグインであるのに対し、defx.nvimはファイル操作に特化したプラグインになっています。
💡
defx.nvim の作者が開発した高速なファイル検索プラグイン denite.nvim の導入もぜひご検討ください。NeoVim denite.nvimで自動プレビューするための設定紹介(auto preview) で紹介しています。
このエントリでは、defx.nvimの設定と使い方を紹介します。
defx.nvimはコマンドが少ない(:Defx
だけ?)ため基本となるキーマッピングはシンプルです。
ここでは;d
コマンドでdefx.nvimを開くようにしています。
" Defx
nnoremap <silent> ;d :<C-u>Defx<CR>
次にオプションの設定です。オプション設定では下記の内容を設定しています。
- ウィンドウ幅の指定
winwidth
- ファイルツリーを左側に表示する
split
,direction
- ドット
.
で始まるファイルを表示するshow_ignored_files: 1
-
:Defx
でdefx.nvimを終了できるようにするtoggle: 1
- 前回の状態でdefx.nvimを開く
resume: 1
call defx#custom#option('_', {
\ 'winwidth': 40,
\ 'split': 'vertical',
\ 'direction': 'topleft',
\ 'show_ignored_files': 1,
\ 'toggle': 1,
\ 'resume': 1,
\ })
最後にdefx.nvim上でのキーマッピングの設定です。キーマッピングはほぼ見たままですが、いくつかピックアップして説明します。
- エンターキー: 垂直分割でファイルを開く(同時にDefxバッファを閉じる)
- スペースキー: 水平分割でファイルを開く(同上)
-
..
: 親ディレクトリへ移動 -
yy
: パスをヤンク
autocmd FileType defx call s:defx_my_settings()
function! s:defx_my_settings() abort
nnoremap <silent><buffer><expr> <CR>
\ defx#is_directory() ? defx#do_action('open') :
\ defx#do_action('multi', [['drop', 'vsplit'], 'quit'])
nnoremap <silent><buffer><expr> <Space>
\ defx#do_action('multi', [['drop', 'split'], 'quit'])
nnoremap <silent><buffer><expr> <Esc>
\ defx#do_action('quit')
nnoremap <silent><buffer><expr> q
\ defx#do_action('quit')
nnoremap <silent><buffer><expr> ..
\ defx#do_action('cd', ['..'])
nnoremap <silent><buffer><expr> c
\ defx#do_action('copy')
nnoremap <silent><buffer><expr> p
\ defx#do_action('paste')
nnoremap <silent><buffer><expr> d
\ defx#do_action('remove')
nnoremap <silent><buffer><expr> r
\ defx#do_action('rename')
nnoremap <silent><buffer><expr> m
\ defx#do_action('move')
nnoremap <silent><buffer><expr> n
\ defx#do_action('new_file')
nnoremap <silent><buffer><expr> N
\ defx#do_action('new_directory')
nnoremap <silent><buffer><expr> yy
\ defx#do_action('yank_path')
endfunction
私の設定は下記をご覧ください。
do_action('multi')
は下記を参考にしました。
以上です。このエントリでは、defx.nvimの設定と使い方を紹介しました。
コメントを送る
コメントはブログオーナーのみ閲覧できます