-- define common options local opts = { noremap = true, -- non-recursive silent = true, -- do not show message } -- set leader key vim.g.mapleader = "'" ----------------- -- Normal mode -- ----------------- -- Hint: set `:h vim.map.set()` -- Better window navigation vim.keymap.set('n', '', 'h', opts) vim.keymap.set('n', '', 'j', opts) vim.keymap.set('n', '', 'k', opts) vim.keymap.set('n', '', 'l', opts) -- Resize with arrows vim.keymap.set('n', '', ':resize -2', opts) vim.keymap.set('n', '', ':resize +2', opts) vim.keymap.set('n', '', ':vertical resize -2', opts) vim.keymap.set('n', '', ':vertical resize +2', opts) vim.keymap.set('n', 'wh :vertical resize', '-1') vim.keymap.set('n', 'wj :resize', '-1') vim.keymap.set('n', 'wk :resize', '+1') vim.keymap.set('n', 'wl :vertical resize', '+1') -- NerdTREE vim.keymap.set('n', 'tt', ':NERDTreeToggle') -- files -- these may go away soon vim.keymap.set('n', 'xx', ':q') vim.keymap.set('n', 'x!', ':q!') -- Close with leader vim.keymap.set('n', 'ww', ':w', opts) vim.keymap.set('n', 'qq', ':q', opts) vim.keymap.set('n', 'wq', ':wq', opts) vim.keymap.set('n', 'q!', ':q!', opts) vim.keymap.set('n', 'wq', ':wq') vim.keymap.set('n', 'ee :e', '') -- Tabs with leader vim.keymap.set('n', 'th', ':tabprevious', opts) vim.keymap.set('n', 'tl', ':tabnext', opts) vim.keymap.set('n', 'tk', ':tabnew', opts) vim.keymap.set('n', 'tj', ':tabclose', opts) -- Write with sudo vim.keymap.set('n', 'ZW', ':w !pkexec tee % >/dev/null', opts) -- clear search highlights vim.keymap.set('n', '/', ':noh') -- toggles vim.keymap.set('n', 'tn :set', 'number!') vim.keymap.set('n', 'tr :set', 'relativenumber!') -- write as root vim.keymap.set('n', 'ZW', ':w !pkexec tee % >/dev/null') -- config vim.keymap.set('n', 'en', ':e ~/.config/nvim/init.lua') vim.keymap.set('n', 'ec', ':source %') vim.keymap.set('n', 'er', ':source ~/.config/nvim/init.lua') -- Goyo vim.keymap.set('n', 'G', ':Goyo') -- fugitive vim.keymap.set('n', 'gp :G', 'pull') vim.keymap.set('n', 'gd :G diff', '%') ----------------- -- Visual mode -- ----------------- -- Hint: start visual mode with the same area as the previous area and the same mode --vim.keymap.set('v', '<', '', '>gv', opts) -- windows vim.keymap.set('v', '', 'h') vim.keymap.set('v', '', 'j') vim.keymap.set('v', '', 'k') vim.keymap.set('v', '', 'l') -------------- -- TERMINAL -- -------------- -- escape for term windows vim.keymap.set('t', '', '')