menu
書いてる野郎
orebike@gmail.com
Shougo/defx.nvim: The dark powered file explorer implementation
おなじみ暗黒製のファイラプラギン
やはりちょっとムズい。
Neovim/Plugin/dein.vim これによって管理されていて、 Neovim/Plugin/deoplete.nvim/Install これによって Python3 を Neovim で使えるようになっている前提。
toml ファイルを記述する。こんな感じ。
[[plugins]] repo = 'Shougo/defx.nvim' hook_add = ''' autocmd FileType defx call s:defx_my_settings() function! s:defx_my_settings() abort " Define mappings nnoremap <silent><buffer><expr> <CR> \ defx#do_action('open') nnoremap <silent><buffer><expr> c \ defx#do_action('copy') nnoremap <silent><buffer><expr> m \ defx#do_action('move') nnoremap <silent><buffer><expr> p \ defx#do_action('paste') nnoremap <silent><buffer><expr> l \ defx#do_action('open') nnoremap <silent><buffer><expr> E \ defx#do_action('open', 'vsplit') nnoremap <silent><buffer><expr> P \ defx#do_action('open', 'pedit') nnoremap <silent><buffer><expr> o \ defx#do_action('open_tree', 'toggle') nnoremap <silent><buffer><expr> K \ defx#do_action('new_directory') nnoremap <silent><buffer><expr> N \ defx#do_action('new_file') nnoremap <silent><buffer><expr> M \ defx#do_action('new_multiple_files') nnoremap <silent><buffer><expr> C \ defx#do_action('toggle_columns', \ 'mark:indent:icon:filename:type:size:time') nnoremap <silent><buffer><expr> S \ defx#do_action('toggle_sort', 'time') nnoremap <silent><buffer><expr> d \ defx#do_action('remove') nnoremap <silent><buffer><expr> r \ defx#do_action('rename') nnoremap <silent><buffer><expr> ! \ defx#do_action('execute_command') nnoremap <silent><buffer><expr> x \ defx#do_action('execute_system') nnoremap <silent><buffer><expr> yy \ defx#do_action('yank_path') nnoremap <silent><buffer><expr> . \ defx#do_action('toggle_ignored_files') nnoremap <silent><buffer><expr> ; \ defx#do_action('repeat') nnoremap <silent><buffer><expr> h \ defx#do_action('cd', ['..']) nnoremap <silent><buffer><expr> ~ \ defx#do_action('cd') nnoremap <silent><buffer><expr> q \ defx#do_action('quit') nnoremap <silent><buffer><expr> <Space> \ defx#do_action('toggle_select') . 'j' nnoremap <silent><buffer><expr> * \ defx#do_action('toggle_select_all') nnoremap <silent><buffer><expr> j \ line('.') == line('$') ? 'gg' : 'j' nnoremap <silent><buffer><expr> k \ line('.') == 1 ? 'G' : 'k' nnoremap <silent><buffer><expr> <C-l> \ defx#do_action('redraw') nnoremap <silent><buffer><expr> <C-g> \ defx#do_action('print') nnoremap <silent><buffer><expr> cd \ defx#do_action('change_vim_cwd') endfunction call defx#custom#option('_', { \ 'split': 'floating', \ 'show_ignored_files': 1, \ 'buffer_name': 'exlorer', \ 'toggle': 1, \ 'resume': 1, \ }) '''
Defx はコマンドだけが提供されていてキーバインドはまったくされていないので、 ここは自力でやる必要がある。のだが、サンプル設定があるのでそれをそのままコピペした。
neovim を再起動するとインストールされる。
Defx を起動する
:Defx
エラがー出るので
:UpdateRemotePlugins
で neovim 再起動で動いた。意味不明。
コマンドで起動すると指定した
:Defx
設定のコマンドをパラメータつけて呼び出せばいい。
call defx#custom#option('_', { \ 'split': 'floating', \ 'show_ignored_files': 1, \ 'buffer_name': 'exlorer', \ 'toggle': 1, \ 'resume': 1, \ })
挙動のコントロールも適当にコピペで作った。floating
となっているのは Defx 自体をどのように表示するか。
自分はペイン管理がグチャグチャになるのが嫌だったので floating によって明確に Defx の用途を固定した。