ddu.vim導入
ddu.vimを一発で導入するためのスニペットを書いた。
各種解説を読みたい場合は、新世代の UI 作成プラグイン ddu.vimを読めば良い。
自分なりに、噛み砕いた記事も参考にしてもらえると嬉しい。
スニペット
"vim-plug
call plug#begin()
Plug 'Shougo/ddu.vim'
Plug 'vim-denops/denops.vim'
Plug 'Shougo/ddu-ui-ff'
Plug 'Shougo/ddu-source-file'
Plug 'Shougo/ddu-source-register'
Plug 'kuuote/ddu-source-mr'
Plug 'lambdalisue/mr.vim'
Plug 'shun/ddu-source-buffer'
Plug 'Shougo/ddu-filter-matcher_substring'
Plug 'Shougo/ddu-commands.vim'
call plug#end()
"ddu settings.
call ddu#custom#patch_global({
\ 'ui': 'ff',
\ 'sources': [{'name':'file','params':{}},{'name':'mr'},{'name':'register'},{'name':'buffer'}],
\ 'sourceOptions': {
\ '_': {
\ 'matchers': ['matcher_substring'],
\ },
\ },
\ 'kindOptions': {
\ 'file': {
\ 'defaultAction': 'open',
\ },
\ },
\ })
"ddu-key-setting
autocmd FileType ddu-ff call s:ddu_my_settings()
function! s:ddu_my_settings() abort
nnoremap <buffer><silent> <CR>
\ <Cmd>call ddu#ui#ff#do_action('itemAction')<CR>
nnoremap <buffer><silent> <Space>
\ <Cmd>call ddu#ui#ff#do_action('toggleSelectItem')<CR>
nnoremap <buffer><silent> i
\ <Cmd>call ddu#ui#ff#do_action('openFilterWindow')<CR>
nnoremap <buffer><silent> q
\ <Cmd>call ddu#ui#ff#do_action('quit')<CR>
endfunction
autocmd FileType ddu-ff-filter call s:ddu_filter_my_settings()
function! s:ddu_filter_my_settings() abort
nnoremap <buffer> <CR>
\ <Cmd>call ddu#ui#ff#do_action('itemAction')<CR>
nnoremap <buffer><silent> q
\ <Cmd>call ddu#ui#ff#do_action('quit')<CR>
inoremap <buffer> <CR>
\ <Cmd>call ddu#ui#ff#do_action('itemAction')<CR>
inoremap <buffer> <C-j>
\ <Cmd>call ddu#ui#ff#execute("call cursor(line('.')+1,0)")<CR>
inoremap <buffer> <C-k>
\ <Cmd>call ddu#ui#ff#execute("call cursor(line('.')-1,0)")<CR>
endfunction
"ddu keymapping.
nnoremap <SID>[ug] <Nop>
nmap ,u <SID>[ug]
nnoremap <silent> <SID>[ug]m :<C-u>Ddu mr<CR>
nnoremap <silent> <SID>[ug]b :<C-u>Ddu buffer<CR>
nnoremap <silent> <SID>[ug]r :<C-u>Ddu register<CR>
nnoremap <silent> <SID>[ug]n :<C-u>Ddu file -source-param-new -volatile<CR>
nnoremap <silent> <SID>[ug]f :<C-u>Ddu file<CR>
使い方
normalモードで、
- ,umで履歴表示
- ,ubでバッファ表示
- ,urでレジスタ表示
- ,unで新規ファイル作成
- ,ufでファイル選択
となっている。
iキーを押すと、ファジーファインドモードになり、そこから対象を絞り込んで行くことが出来る。
Ctrl+j/Ctrl+kで対象を上下移動でき、Enterでデフォルトのアクションを実行する(ファイルを開く等)。