feat(defaults): add default unimpaired style mappings (#28525)

This commit is contained in:
Gregory Anders
2024-10-01 07:24:43 -05:00
committed by GitHub
parent 1c30d86c33
commit bb7604edda
7 changed files with 202 additions and 26 deletions

View File

@@ -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