diff options
Diffstat (limited to '')
| -rw-r--r-- | .vim/plugin/auto.lua | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/.vim/plugin/auto.lua b/.vim/plugin/auto.lua new file mode 100644 index 0000000..ab4e159 --- /dev/null +++ b/.vim/plugin/auto.lua @@ -0,0 +1,38 @@ +local augroup = vim.api.nvim_create_augroup +local autocmd = vim.api.nvim_create_autocmd + +do + local group = augroup('EasyQuit', { clear = true }) + autocmd('FileType', { + pattern = { + 'help', + 'qf', + 'dap-float', + 'gitsigns-blame', + 'git', + }, + callback = function() + vim.keymap.set('n', 'q', '<cmd>close<cr>', { silent = true, buffer = 0 }) + end, + group = group, + }) + autocmd('FileType', { + pattern = { 'gitgraph' }, + callback = function() + vim.keymap.set('n', 'q', '<cmd>bdel!<cr>', { silent = true, buffer = 0 }) + end, + group = group, + }) + autocmd('FileType', { + pattern = { 'DiffviewFiles' }, + callback = function() + vim.keymap.set('n', 'q', '<cmd>tabclose<cr>', { silent = true, buffer = 0 }) + end, + group = group, + }) + autocmd('TermClose', { + pattern = { 'term://*' }, + command = [[ if !v:event.status | exe 'bdelete! '..expand('<abuf>') | endif ]], + group = group, + }) +end |