61 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Lua
		
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Lua
		
	
	
vim.cmd([[
 | 
						|
" Leader keys
 | 
						|
let mapleader = " "
 | 
						|
let maplocalleader = ";"
 | 
						|
 | 
						|
" Splits & navigation
 | 
						|
nm s <c-w>           " Split horizontal
 | 
						|
nm ss :sp<CR><c-w>w| " Split horizontal
 | 
						|
nm sv :vs<CR><c-w>w| " Split vertical
 | 
						|
nm sw <c-w>w|        " Navigate splits
 | 
						|
nm sh <c-w>h|        "
 | 
						|
nm sj <c-w>j|        "
 | 
						|
nm sk <c-w>k|        "
 | 
						|
nm sl <c-w>l|        "
 | 
						|
nn sH <c-w>8<|       " Resize splits
 | 
						|
nn sJ <c-w>8-|       "
 | 
						|
nn sK <c-w>8+|       "
 | 
						|
nn sL <c-w>8>|       "
 | 
						|
nn s= <c-w>=|        " Equalize splits
 | 
						|
 | 
						|
" Open
 | 
						|
nn sb :Lex<cr>|          " File tree
 | 
						|
nn <leader><leader> :noh<cr> |"
 | 
						|
nn <leader>t :term<cr>| " Open terminal
 | 
						|
 | 
						|
" Remaps
 | 
						|
ino <nowait> jj <esc>|   " Normal now
 | 
						|
nn  <left>  <nop>|       " Hard mode
 | 
						|
nn  <down>  <nop>|       " "
 | 
						|
nn  <up>    <nop>|       " "
 | 
						|
nn  <right> <nop>|       " "
 | 
						|
ino <left>  <nop>|       " "
 | 
						|
ino <down>  <nop>|       " "
 | 
						|
ino <up>    <nop>|       " "
 | 
						|
ino <right> <nop>|       " "
 | 
						|
 | 
						|
" Search
 | 
						|
nn <c-_> :noh<cr>| " map 'ctrl + /'
 | 
						|
 | 
						|
" Line numbers
 | 
						|
nn <leader>n :set nu! rnu!<cr>
 | 
						|
 | 
						|
" Vim configuration
 | 
						|
nn <leader>ec :vs $MYVIMRC<cr>
 | 
						|
nn <leader>so :so %<cr>
 | 
						|
]])
 | 
						|
 | 
						|
local set = vim.keymap.set
 | 
						|
 | 
						|
set("n", "<leader>cx", "<cmd>!chmod +x %<CR>", { silent = true, desc = "Run `chmod +x` on current file" })
 | 
						|
set("n", "yp", "<cmd>let @+ = expand('%r')<CR>:p<CR>", { silent = true, desc = "Yank path" })
 | 
						|
 | 
						|
-- Remap native NeoVim comment keymaps
 | 
						|
set({ "n", "x" }, "<leader>c", "gc", { remap = true, desc = "Toggle comment" })
 | 
						|
set("n", "<leader>cc", "gcc", { remap = true, desc = "Toggle comment line" })
 | 
						|
set("o", "<leader>c", "gc", { remap = true, desc = "Comment textobject" })
 | 
						|
 | 
						|
-- Move lines
 | 
						|
set("v", "K", ": '<,'>move '<-2<cr>gv")
 | 
						|
set("v", "J", ": '<,'>move '>+1<cr>gv")
 |