local Remap = require("halfdan.keymap") local nnoremap = Remap.nnoremap local vnoremap = Remap.vnoremap local inoremap = Remap.inoremap local xnoremap = Remap.xnoremap local nmap = Remap.nmap -- better window movement -- nnoremap('', 'h') -- nnoremap('', 'j') -- nnoremap('', 'k') -- nnoremap('', 'l') -- resize with arrows nnoremap('', ':resize -2') nnoremap('', ':resize +2') nnoremap('', ':vertical resize -2') nnoremap('', ':vertical resize +2') -- improved keyboard support for navigation (especially terminal) nnoremap('h', 'h') nnoremap('j', 'j') nnoremap('k', 'k') nnoremap('l', 'l') nnoremap('', 'h') nnoremap('', 'j') nnoremap('', 'k') nnoremap('', 'l') -- Change 2 split windows from vert to horiz or horiz to vert nnoremap('th', 'tH') nnoremap('tk', 'tK') -- Make adjusting split sizes a bit more friendly vim.cmd([[ noremap :vertical resize +3 noremap :vertical resize -3 noremap :resize +3 noremap :resize -3 ]]) -- better indenting vnoremap('<', '', '>gv') -- Tab switch buffer nnoremap('', ':bnext') nnoremap('', ':bprevious') -- Move selected line / block of text in visual mode xnoremap('J', ':move \'>+1gv-gv') xnoremap('K', ':move \'<-2gv-gv') nnoremap('Q', '') -- Tagbar nnoremap('hl', ':nohl') -- Vim Test nnoremap('t', ':TestNearest') nnoremap('T', ':TestFile') nnoremap('a', ':TestSuite') nnoremap('l', ':TestLast') nnoremap('g', ':TestVisit') vim.cmd("nnoremap :Lspsaga diagnostic_jump_prev") vim.cmd("nnoremap :Lspsaga diagnostic_jump_next") -- -- scroll down hover doc or scroll in definition preview vim.cmd("nnoremap lua require('lspsaga.action').smart_scroll_with_saga(1)") -- -- scroll up hover doc vim.cmd("nnoremap lua require('lspsaga.action').smart_scroll_with_saga(-1)") vim.cmd('command! -nargs=0 LspVirtualTextToggle lua require("lsp/virtual_text").toggle()') -- Yank until end of line nnoremap('Y', 'yg$') -- Next item, but center line nnoremap('n', 'nzzzv') nnoremap('N', 'Nzzzv') -- Join line but keep cursor intact nnoremap('J', 'mzJ`z')