diff --git a/nvim/init.lua b/nvim/init.lua index 8cb5c2f..1bea1df 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -1,5 +1,5 @@ require 'fs.options' require 'fs.plugins' +require 'fs.keymaps' require 'fs.autocmds' -vim.cmd('runtime old.vim') diff --git a/nvim/lua/fs/keymaps.lua b/nvim/lua/fs/keymaps.lua new file mode 100644 index 0000000..bdf20fe --- /dev/null +++ b/nvim/lua/fs/keymaps.lua @@ -0,0 +1,79 @@ +vim.g.mapleader = ' ' + +-- better navigation for wrapped lines +vim.cmd([[noremap j gj]]) +vim.cmd([[noremap k gk]]) + +-- retain selection when indenting/unindenting in visual mode +vim.cmd([[vnoremap > >gv]]) +vim.cmd([[vnoremap < <gv]]) + +-- easier window navigation +vim.cmd([[nnoremap j]]) +vim.cmd([[nnoremap k]]) +vim.cmd([[nnoremap h]]) +vim.cmd([[nnoremap l]]) + +-- window resizing +vim.cmd([[nnoremap resize +1]]) +vim.cmd([[nnoremap resize -1]]) +vim.cmd([[nnoremap vertical resize -1]]) +vim.cmd([[nnoremap vertical resize +1]]) + +-- easier tab navigation +vim.cmd([[nnoremap :tabprevious]]) +vim.cmd([[nnoremap :tabnext]]) + +-- move lines up and down +vim.cmd([[nnoremap :move .+1==]]) +vim.cmd([[nnoremap :move .-2==]]) +vim.cmd([[vnoremap :move '>+1gv=gv]]) +vim.cmd([[vnoremap :move '<-2gv=gv]]) +vim.cmd([[inoremap :move .+1==gi]]) +vim.cmd([[inoremap :move .-2==gi]]) + +-- cycle through line numbering modes +vim.cmd([[nnoremap ln :set nonumber norelativenumber]]) +vim.cmd([[nnoremap ll :set number norelativenumber]]) +vim.cmd([[nnoremap lr :set number relativenumber]]) + +-- show list of buffers and prepare to switch +vim.cmd([[nnoremap bf :ls:b]]) + +-- quickly change background +vim.cmd([[nnoremap bg :let &background = &background ==? 'light' ? 'dark' : 'light']]) + +-- toggle search highlight +vim.cmd([[nnoremap h :set hlsearch!]]) + +-- toggle NERDTree +vim.cmd([[nnoremap n :NERDTreeToggle]]) + +-- toggle rainbow parens +vim.cmd([[nnoremap p :RainbowParentheses!!]]) + +-- fix whitespace +vim.cmd([[nnoremap w :FixWhitespace]]) + + +-- " Double leader key for toggling visual-line mode +-- nmap V +-- xmap + +-- " Toggle fold +-- nnoremap za + +-- nnoremap Q q +-- nnoremap gQ @q + +-- " Start new line from any cursor position in insert-mode +-- inoremap o + +-- " Change current word in a repeatable manner +-- nnoremap cn *``cgn +-- nnoremap cN *``cgN + +-- " Change the current word in insertmode. +-- " Auto places you into the spot where you can start typing to change it. +-- nnoremap :%s///g +