61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Lua
		
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Lua
		
	
	
imap("jk", "<Esc>")
 | 
						|
 | 
						|
vim.api.nvim_exec("inoremap <Esc> <nop>", false)
 | 
						|
 | 
						|
-- Navigate splits
 | 
						|
nmap("<leader>h", ":wincmd h<CR>")
 | 
						|
nmap("<leader>j", ":wincmd j<CR>")
 | 
						|
nmap("<leader>k", ":wincmd k<CR>")
 | 
						|
nmap("<leader>l", ":wincmd l<CR>")
 | 
						|
 | 
						|
-- Just some laziness
 | 
						|
nmap("<leader>w", ":w<CR>")
 | 
						|
nmap("<leader>q", ":q<CR>")
 | 
						|
 | 
						|
-- As I don't use arrow keys for navigation, I use them for resizing
 | 
						|
nmap("<Up>", ":resize +5<CR>")
 | 
						|
nmap("<Down>", ":resize -5<CR>")
 | 
						|
nmap("<Right>", ":vertical resize +5<CR>")
 | 
						|
nmap("<Left>", ":vertical resize -5<CR>")
 | 
						|
nmap("<S-Up>", ":resize +1<CR>")
 | 
						|
nmap("<S-Down>", ":resize -1<CR>")
 | 
						|
nmap("<S-Right>", ":vertical resize +1<CR>")
 | 
						|
nmap("<S-Left>", ":vertical resize -1<CR>")
 | 
						|
 | 
						|
-- Disable arrow keys in editing & visual mode, as I have no need for them
 | 
						|
imap("<Up>", "<nop>")
 | 
						|
imap("<Down>", "<nop>")
 | 
						|
imap("<Left>", "<nop>")
 | 
						|
imap("<Right>", "<nop>")
 | 
						|
vmap("<Up>", "<nop>")
 | 
						|
vmap("<Down>", "<nop>")
 | 
						|
vmap("<Left>", "<nop>")
 | 
						|
vmap("<Right>", "<nop>")
 | 
						|
 | 
						|
-- These bindings I use for managing tabs
 | 
						|
nmap("<leader>ee", ":$tabnew<CR>")
 | 
						|
nmap("<leader>eL", ":tabnew<CR>")
 | 
						|
nmap("<leader>eH", ":-tabnew<CR>")
 | 
						|
nmap("<leader>ed", ":tabclose<CR>")
 | 
						|
nmap("<leader>el", ":tabnext<CR>")
 | 
						|
nmap("<leader>eh", ":tabprevious<CR>")
 | 
						|
nmap("<leader>er", ":tabnew<CR>:e term://$SHELL<CR>i")
 | 
						|
 | 
						|
-- TODO add config editing keybinds
 | 
						|
 | 
						|
nmap("<leader>a", "<C-^>")
 | 
						|
tmap("jk", "<C-\\><C-n>")
 | 
						|
 | 
						|
-- nmap("<leader>rr", ":e term://$SHELL<CR>")
 | 
						|
-- nmap("<leader>rh", ":vsp<CR>:wincmd h<CR>:e term://$SHELL<CR>")
 | 
						|
-- nmap("<leader>rl", ":vsp<CR>:e term://$SHELL<CR>")
 | 
						|
-- nmap("<leader>rk", ":sp<CR>:wincmd k<CR>:e term://$SHELL<CR>")
 | 
						|
-- nmap("<leader>rj", ":sp<CR>:e term://$SHELL<CR>")
 | 
						|
 | 
						|
nmap("<leader>fh", ":vsp<CR>:wincmd h<CR>")
 | 
						|
nmap("<leader>fj", ":sp<CR>")
 | 
						|
nmap("<leader>fk", ":sp<CR>:wincmd k<CR>")
 | 
						|
nmap("<leader>fl", ":vsp<CR>")
 | 
						|
 | 
						|
vim.api.nvim_set_keymap("n", "gb", "<C-o>", {})
 |