nvim/lua/keymappings.lua
2021-09-13 00:18:22 +02:00

57 lines
1.7 KiB
Lua

local utils = require('utils')
vim.g.mapleader = ','
-- Paste from clipboard
utils.map('n', '<leader>p', '"+p')
utils.map('n', '<leader>P', '"+P')
utils.map('v', '<leader>p', '"+p')
utils.map('v', '<leader>P', '"+P')
-- Yank to clipboard
utils.map('v', '<leader>y', '"+y')
utils.map('n', '<leader>Y', '"+yg_')
utils.map('n', '<leader>y', '"+y')
utils.map('n', '<leader>yy', '"+yy')
-- Tabs
utils.map('n', '<F2>', ':tabnew .<CR>')
utils.map('i', '<F2>', '<Esc>:tabnew .<CR>')
utils.map('n', '<S-Right>', ':BufferLineCycleNext<CR>')
utils.map('n', '<S-Left>', ':BufferLineCyclePrev<CR>')
-- Split movement
utils.map('n', '<A-Up>', ':wincmd k<CR>')
utils.map('n', '<A-Down>', ':wincmd j<CR>')
utils.map('n', '<A-Left>', ':wincmd h<CR>')
utils.map('n', '<A-Right>', ':wincmd l<CR>')
-- Open a new vertical split window with Ctrl - F2
utils.map('n', '<C-F2>', ':vsplit .<CR>')
utils.map('i', '<C-F2>', '<Esc>:vsplit .<CR>')
-- Open a new horizontal split window with Shift - F2
utils.map('n', '<S-F2>', ':split .<CR>')
utils.map('i', '<S-F2>', '<Esc>:split .<CR>')
utils.map('n', '<C-S>', ':wa<CR>')
-- Linewrap and jumping
utils.map('n', 'k', 'gk')
utils.map('n', 'j', 'gj')
utils.map('n', '0', 'g0')
utils.map('n', '$', 'g$')
utils.map('n', '<Up>', 'gk')
utils.map('n', '<Down>', 'gj')
utils.map('n', '<Home>', 'g<Home>')
utils.map('n', '<End>', 'g<End>')
utils.map('v', 'k', 'gk')
utils.map('v', 'j', 'gj')
utils.map('v', '0', 'g0')
utils.map('v', '$', 'g$')
utils.map('v', '<Up>', 'gk')
utils.map('v', '<Down>', 'gj')
utils.map('v', '<Home>', 'g<Home>')
utils.map('v', '<End>', 'g<End>')
utils.map('v', '<', '<gv')
utils.map('v', '>', '>gv')
-- Highlight word under cursor
utils.map('n', 'ü', ":exec 'match Search /\\V\\<' . expand('<cword>') . '\\>/'<CR>")