nvim/lua/my_keymappings.lua
2022-05-11 17:46:28 +02:00

61 lines
2.6 KiB
Lua

vim.g.mapleader = ','
vim.keymap.set('n', '<space>', 'nil', { noremap = true, silent = true })
-- Paste from clipboard
vim.keymap.set('n', '<leader>p', '"+p')
vim.keymap.set('n', '<leader>P', '"+P')
vim.keymap.set('v', '<leader>p', '"+p')
vim.keymap.set('v', '<leader>P', '"+P')
-- Yank to clipboard
vim.keymap.set('v', '<leader>y', '"+y')
vim.keymap.set('n', '<leader>Y', '"+yg_')
vim.keymap.set('n', '<leader>y', '"+y')
vim.keymap.set('n', '<leader>yy', '"+yy')
-- Tabs
vim.keymap.set('n', '<S-Right>', ':tabnext<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<S-Left>', ':tabprevious<CR>', { noremap = true, silent = true })
-- Split movement
vim.keymap.set('n', '<A-Up>', ':wincmd k<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<A-Down>', ':wincmd j<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<A-Left>', ':wincmd h<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<A-Right>', ':wincmd l<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<C-S>', ':wa | wshada<CR>')
-- Linewrap and jumping
vim.keymap.set('n', 'k', 'gk')
vim.keymap.set('n', 'j', 'gj')
vim.keymap.set('n', '0', 'g0')
vim.keymap.set('n', '$', 'g$')
vim.keymap.set('n', '<Up>', 'gk')
vim.keymap.set('n', '<Down>', 'gj')
vim.keymap.set('n', '<Home>', 'g<Home>')
vim.keymap.set('n', '<End>', 'g<End>')
vim.keymap.set('v', 'k', 'gk')
vim.keymap.set('v', 'j', 'gj')
vim.keymap.set('v', '0', 'g0')
vim.keymap.set('v', '$', 'g$')
vim.keymap.set('v', '<Up>', 'gk')
vim.keymap.set('v', '<Down>', 'gj')
vim.keymap.set('v', '<Home>', 'g<Home>')
vim.keymap.set('v', '<End>', 'g<End>')
vim.keymap.set('v', '<', '<gv')
vim.keymap.set('v', '>', '>gv')
-- Highlight word under cursor
vim.keymap.set('n', 'ü', ':let @/=\'\\<<C-R>=expand("<cword>")<CR>\\>\'<CR>:set hls<CR>', { noremap = true, silent = true })
vim.keymap.set('v', 'ü', "y:let @/='<C-R>=escape(@\",'/\\')<CR>'<CR>:set hls<CR>")
vim.keymap.set('v', 'ü', "y:let @/='<C-R>=escape(@\",'/\\')<CR>'<CR>:set hls<CR>", { noremap = true, silent = true })
vim.keymap.set('n', "'", ':let @/=\'\\<<C-R>=expand("<cword>")<CR>\\>\'<CR>:set hls<CR>', { noremap = true, silent = true })
vim.keymap.set('v', "'", "y:let @/='<C-R>=escape(@\",'/\\')<CR>'<CR>:set hls<CR>")
vim.keymap.set('v', "'", "y:let @/='<C-R>=escape(@\",'/\\')<CR>'<CR>:set hls<CR>", { noremap = true, silent = true })
-- Close Buffer
vim.keymap.set('n', '<C-w>', ':bd<CR>')
-- <Tab> to navigate the completion menu
vim.keymap.set('i', '<S-Tab>', 'pumvisible() ? "\\<C-p>" : "\\<Tab>"', { expr = true })
vim.keymap.set('i', '<Tab>', 'pumvisible() ? "\\<C-n>" : "\\<Tab>"', { expr = true })