51 lines
1.4 KiB
Lua
51 lines
1.4 KiB
Lua
-- Shortcuts
|
|
vim.keymap.set('n', '<leader>pv', vim.cmd.Ex)
|
|
vim.keymap.set('n', '<leader>pS', vim.cmd.PackerSync)
|
|
vim.keymap.set('n', '<leader>m', vim.cmd.Mason)
|
|
|
|
-- Select and Drag
|
|
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
|
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
|
|
|
-- J without moving cursor
|
|
vim.keymap.set('n', 'J', 'mzJ`z')
|
|
|
|
-- Center cursor when jumping
|
|
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
|
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
|
|
|
-- Center cursor during search
|
|
vim.keymap.set('n', 'n', 'nzzzv')
|
|
vim.keymap.set('n', 'N', 'Nzzzv')
|
|
|
|
-- Paste without yank
|
|
vim.keymap.set('x', '<leader>p', '\"_dP')
|
|
|
|
-- Delete without yank
|
|
vim.keymap.set('n', '<leader>d', '\"_d')
|
|
vim.keymap.set('v', '<leader>d', '\"_d')
|
|
|
|
-- yank to system clipboard
|
|
vim.keymap.set('n', '<leader>y', '\"+y')
|
|
vim.keymap.set('v', '<leader>y', '\"+y')
|
|
vim.keymap.set('n', '<leader>Y', '\"+Y')
|
|
|
|
-- no
|
|
vim.keymap.set('n', 'Q', '<nop>')
|
|
|
|
-- Format
|
|
vim.keymap.set('n', '<leader>f', function()
|
|
vim.lsp.buf.format()
|
|
end)
|
|
|
|
-- quickfix
|
|
vim.keymap.set('n', '<C-k>', '<cmd>cnext<CR>zz')
|
|
vim.keymap.set('n', '<C-j>', '<cmd>cprev<CR>zz')
|
|
vim.keymap.set('n', '<leader>k', '<cmd>lnext<CR>zz')
|
|
vim.keymap.set('n', '<leader>j', '<cmd>lprev<CR>zz')
|
|
|
|
-- Super substitute
|
|
vim.keymap.set('n', '<leader>s', [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
|
|
|
-- make current script executable
|
|
vim.keymap.set('n', '<leader>x', '<cmd>!chmod +x %<CR>', { silent = true })
|