🐙

ddu.vim でフィルターのウィンドウで入力を完了したら自動的にウィンドウを閉じる

2024/02/05に公開

『ddu のフィルターのウィンドウを閉じる』やり方は :help ddu-ui-ff-examples にも書いてあるんですが『入力が終わったら自動でウィンドウを閉じる』をやりたかったので設定。
基本的には closeFilterWindow アクションを使って閉じるのがよいらしいです。

function! s:ddu_filter_my_settings() abort
	augroup ftplugin-my-ddu
		autocmd! * <buffer>
		" フィルターのウィンドウで Esc を押したら自動で閉じるようにする
		autocmd InsertEnter <buffer>
			\ inoremap <silent><buffer> <Esc> <Esc><Cmd>call ddu#ui#do_action('closeFilterWindow')<CR>
	augroup END
endfunction

augroup my_ddu
	autocmd!
	autocmd FileType ddu-ff-filter call s:ddu_filter_my_settings()
augroup END

上記のように『フィルターのウィンドウで Esc を押したら自動で閉じるようにする』にしています。
インサートモードで <Esc> を押したときのキーマッピングを有効にしたいので autocmd InsertEnter <buffer> でキーマッピングを定義してます。

GitHubで編集を提案

Discussion