ℹ️
ddu-ui-filer の設定例は Vimファイラの決定版「ddu-ui-filer」設定例を紹介 をご覧ください。
先日 ddu.vim の正式バージョンがリリースされました。
ddu.vim は denite.nvim の後継にあたる Vim プラグインで、denite.nvim よりも自由度の高いファジーファインダーとして使うことができます。
このエントリでは ddu.vim の設定例を紹介します。
ℹ️
ddu.vim について詳細は作者のエントリをご覧ください
ddu.vim では UI やソース、フィルターなどを自分で選んでインストールします。
私が使っているプラグインは下記です。
Plug 'Shougo/ddu.vim'
Plug 'Shougo/ddu-ui-ff'
Plug 'Shougo/ddu-source-file_rec'
Plug 'shun/ddu-source-rg'
Plug 'Shougo/ddu-filter-matcher_substring'
Plug 'Shougo/ddu-kind-file'
下記が私の設定です。
patch_global()
でグローバルなデフォルト設定を、 patch_local()
で name
ごとの設定ができます。
call ddu#custom#patch_global({
\ 'ui': 'ff',
\ 'sources': [
\ {
\ 'name': 'file_rec',
\ 'params': {
\ 'ignoredDirectories': ['.git', 'node_modules', 'vendor', '.next']
\ }
\ }
\ ],
\ 'sourceOptions': {
\ '_': {
\ 'matchers': ['matcher_substring'],
\ },
\ },
\ 'filterParams': {
\ 'matcher_substring': {
\ 'highlightMatched': 'Title',
\ },
\ },
\ 'kindOptions': {
\ 'file': {
\ 'defaultAction': 'open',
\ },
\ },
\ 'uiParams': {
\ 'ff': {
\ 'startFilter': v:true,
\ 'prompt': '> ',
\ 'split': 'floating',
\ }
\ },
\ })
call ddu#custom#patch_local('grep', {
\ 'sourceParams' : {
\ 'rg' : {
\ 'args': ['--column', '--no-heading', '--color', 'never'],
\ },
\ },
\ 'uiParams': {
\ 'ff': {
\ 'startFilter': v:false,
\ }
\ },
\ })
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', {'name': 'open', 'params': {'command': 'vsplit'}})<CR>
nnoremap <buffer><silent> <Space>
\ <Cmd>call ddu#ui#ff#do_action('itemAction', {'name': 'open', 'params': {'command': 'split'}})<CR>
nnoremap <buffer><silent> a
\ <Cmd>call ddu#ui#ff#do_action('openFilterWindow')<CR>
nnoremap <buffer><silent> p
\ <Cmd>call ddu#ui#ff#do_action('preview')<CR>
nnoremap <buffer><silent> <Esc>
\ <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
inoremap <buffer><silent> <CR>
\ <Esc><Cmd>close<CR>
inoremap <buffer><silent> <Esc>
\ <Esc><Cmd>close<CR>
nnoremap <buffer><silent> <CR>
\ <Cmd>close<CR>
nnoremap <buffer><silent> <Esc>
\ <Cmd>close<CR>
endfunction
nmap <silent> ;f <Cmd>call ddu#start({})<CR>
nmap <silent> ;g <Cmd>call ddu#start({
\ 'name': 'grep',
\ 'sources':[
\ {'name': 'rg', 'params': {'input': expand('<cword>')}}
\ ],
\ })<CR>
キーマッピングは NeoVim ファイル検索もgrepもサクサクdenite.nvimの設定と使い方 で紹介した denite.nvim の設定を踏襲し ;f
でファイル検索開始、 ;g
でカーソル上のワードで grep となっています。
他にもおすすめのプラグインや設定があったらぜひ教えてください。
以上です。このエントリでは ddu.vim の設定例を紹介しました。
コメントを送る
コメントはブログオーナーのみ閲覧できます