chore(nvim): add more useful mappings and change some mappings

This commit is contained in:
Stefan Imhoff
2021-12-02 19:13:38 +01:00
parent 1e7ad1e89a
commit e9d52cf1f3

View File

@@ -9,6 +9,7 @@ set smartcase
set list set list
set listchars=tab:▸\ ,trail,nbsp:.,extends:,precedes: set listchars=tab:▸\ ,trail,nbsp:.,extends:,precedes:
set visualbell set visualbell
set termguicolors
set number set number
set relativenumber set relativenumber
set backspace=indent,eol,start " Intuitive backspacing set backspace=indent,eol,start " Intuitive backspacing
@@ -59,18 +60,22 @@ set dictionary+=~/.config/nvim/dictionary/en_us.txt
set thesaurus+=~/.config/nvim/thesaurus/de_user.txt set thesaurus+=~/.config/nvim/thesaurus/de_user.txt
set thesaurus+=~/.config/nvim/thesaurus/de_openthesaurus.txt set thesaurus+=~/.config/nvim/thesaurus/de_openthesaurus.txt
" *** *** *** Key Mappings *** *** *** " *** *** *** Key Mappings *** *** ***
" ************************************ " ************************************
let mapleader = "\<space>" let mapleader = "\<space>"
" Quick toggle between buffers " Quick toggle between buffers
noremap <leader>j :b#<CR> noremap <leader>j :b#<CR>
" Add semicolon or comma to the end of the line " Add semicolon or comma to the end of the line
nnoremap <leader>; A;<ESC> nnoremap ;; A;<ESC>
nnoremap <leader>, A,<ESC> nnoremap ,, A,<ESC>
" Maintain the cursor position when yanking a visual selection
vnoremap y myy`y
vnoremap Y myY`y
" Delete last character of line " Delete last character of line
nnoremap <leader>x $x nnoremap <leader>x $x
@@ -80,7 +85,14 @@ nnoremap <leader>ve :e $MYVIMRC<CR>
nnoremap <leader>vr :source $MYVIMRC<CR> nnoremap <leader>vr :source $MYVIMRC<CR>
" Delete all buffers " Delete all buffers
nnoremap <silent> <leader>da :exec "1," . bufnr('$') . "bd"<CR> nnoremap <silent> <leader>da :bufdo bdelete<CR>
" Allow gf to open non-existent files
map gf :edit <cfile><CR>
" Reselect visual selection after indenting
vnoremap < <gv
vnoremap > >gv
" Set spell checker to `s` " Set spell checker to `s`
" zg (good), zG (good temp), zw (wrong), zW (wrong temp) " zg (good), zG (good temp), zw (wrong), zW (wrong temp)
@@ -103,6 +115,10 @@ nnoremap ` '
nnoremap gp `[v`] nnoremap gp `[v`]
nnoremap gy `[v`]y nnoremap gy `[v`]y
" When text is wrapped, move by terminal rows, not lines, unless a count is provided
noremap <silent> <expr> j (v:count == 0 ? 'gj' : 'j')
noremap <silent> <expr> k (v:count == 0 ? 'gk' : 'k')
" Open a quickfix window for the last search " Open a quickfix window for the last search
nnoremap <silent> <leader>? :execute 'vimgrep /'.@/.'/g %'<CR>:copen<CR> nnoremap <silent> <leader>? :execute 'vimgrep /'.@/.'/g %'<CR>:copen<CR>
@@ -131,12 +147,8 @@ nnoremap <silent> <leader>cf :cd %:p:h<CR>:pwd<CR>
nnoremap <leader>qo :copen<CR> nnoremap <leader>qo :copen<CR>
nnoremap <leader>qc :cclose<CR> nnoremap <leader>qc :cclose<CR>
" Navigation of buffers
nnoremap <leader>n :bnext<CR>
nnoremap <leader>p :bprev<CR>
" Exit INSERT MODE with 'jk' " Exit INSERT MODE with 'jk'
inoremap jk <ESC> inoremap jj <ESC>
" Reformat a line into a block " Reformat a line into a block
nnoremap <leader>q gqip nnoremap <leader>q gqip