diff options
Diffstat (limited to 'runtime/lua/vim/_defaults.lua')
-rw-r--r-- | runtime/lua/vim/_defaults.lua | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/runtime/lua/vim/_defaults.lua b/runtime/lua/vim/_defaults.lua index 723d425174..09670f4c32 100644 --- a/runtime/lua/vim/_defaults.lua +++ b/runtime/lua/vim/_defaults.lua @@ -208,6 +208,171 @@ do { remap = true, desc = 'Show diagnostics under the cursor' } ) end + + --- vim-unimpaired style mappings. See: https://github.com/tpope/vim-unimpaired + do + -- Quickfix mappings + vim.keymap.set('n', '[q', function() + vim.cmd.cprevious({ count = vim.v.count1 }) + end, { + desc = ':cprevious', + }) + + vim.keymap.set('n', ']q', function() + vim.cmd.cnext({ count = vim.v.count1 }) + end, { + desc = ':cnext', + }) + + vim.keymap.set('n', '[Q', function() + vim.cmd.crewind({ args = vim.v.count ~= 0 and { vim.v.count } or nil }) + end, { + desc = ':crewind', + }) + + vim.keymap.set('n', ']Q', function() + vim.cmd.clast({ args = vim.v.count ~= 0 and { vim.v.count } or nil }) + end, { + desc = ':clast', + }) + + vim.keymap.set('n', '[<C-Q>', function() + vim.cmd.cpfile({ count = vim.v.count1 }) + end, { + desc = ':cpfile', + }) + + vim.keymap.set('n', ']<C-Q>', function() + vim.cmd.cnfile({ count = vim.v.count1 }) + end, { + desc = ':cnfile', + }) + + -- Location list mappings + vim.keymap.set('n', '[l', function() + vim.cmd.lprevious({ count = vim.v.count1 }) + end, { + desc = ':lprevious', + }) + + vim.keymap.set('n', ']l', function() + vim.cmd.lnext({ count = vim.v.count1 }) + end, { + desc = ':lnext', + }) + + vim.keymap.set('n', '[L', function() + vim.cmd.lrewind({ args = vim.v.count ~= 0 and { vim.v.count } or nil }) + end, { + desc = ':lrewind', + }) + + vim.keymap.set('n', ']L', function() + vim.cmd.llast({ args = vim.v.count ~= 0 and { vim.v.count } or nil }) + end, { + desc = ':llast', + }) + + vim.keymap.set('n', '[<C-L>', function() + vim.cmd.lpfile({ count = vim.v.count1 }) + end, { + desc = ':lpfile', + }) + + vim.keymap.set('n', ']<C-L>', function() + vim.cmd.lnfile({ count = vim.v.count1 }) + end, { + desc = ':lnfile', + }) + + -- Argument list + vim.keymap.set('n', '[a', function() + vim.cmd.previous({ count = vim.v.count1 }) + end, { + desc = ':previous', + }) + + vim.keymap.set('n', ']a', function() + vim.cmd.next({ count = vim.v.count1 }) + end, { + desc = ':next', + }) + + vim.keymap.set('n', '[A', function() + if vim.v.count ~= 0 then + vim.cmd.argument({ count = vim.v.count }) + else + vim.cmd.rewind() + end + end, { + desc = ':rewind', + }) + + vim.keymap.set('n', ']A', function() + if vim.v.count ~= 0 then + vim.cmd.argument({ count = vim.v.count }) + else + vim.cmd.last() + end + end, { + desc = ':last', + }) + + -- Tags + vim.keymap.set('n', '[t', function() + vim.cmd.tprevious({ count = vim.v.count1 }) + end, { desc = ':tprevious' }) + + vim.keymap.set('n', ']t', function() + vim.cmd.tnext({ count = vim.v.count1 }) + end, { desc = ':tnext' }) + + vim.keymap.set('n', '[T', function() + vim.cmd.trewind({ count = vim.v.count ~= 0 and vim.v.count or nil }) + end, { desc = ':trewind' }) + + vim.keymap.set('n', ']T', function() + -- :tlast does not accept a count, so use :trewind if count given + if vim.v.count ~= 0 then + vim.cmd.trewind({ count = vim.v.count }) + else + vim.cmd.tlast() + end + end, { desc = ':tlast' }) + + vim.keymap.set('n', '[<C-T>', function() + vim.cmd.ptprevious({ count = vim.v.count1 }) + end, { desc = ' :ptprevious' }) + + vim.keymap.set('n', ']<C-T>', function() + vim.cmd.ptnext({ count = vim.v.count1 }) + end, { desc = ':ptnext' }) + + -- Buffers + vim.keymap.set('n', '[b', function() + vim.cmd.bprevious({ count = vim.v.count1 }) + end, { desc = ':bprevious' }) + + vim.keymap.set('n', ']b', function() + vim.cmd.bnext({ count = vim.v.count1 }) + end, { desc = ':bnext' }) + + vim.keymap.set('n', '[B', function() + if vim.v.count ~= 0 then + vim.cmd.buffer({ count = vim.v.count }) + else + vim.cmd.brewind() + end + end, { desc = ':brewind' }) + + vim.keymap.set('n', ']B', function() + if vim.v.count ~= 0 then + vim.cmd.buffer({ count = vim.v.count }) + else + vim.cmd.blast() + end + end, { desc = ':blast' }) + end end --- Default menus |