Date Tags vim

The leader key is a useful way of creating custom mappings in Vim. While browsing code in normal mode, it can be useful to quickly toggle settings on and off or execute other commands. By defining mappings with the leader key, a short sequence of keys can be used to quickly execute commands. Check out :help <Leader> for more information on the leader key and defining mappings.

This post contains some examples from my vimrc file that are frequently helpful. These mappings should work on gVim 7.3 (probably other Vim/gVim versions too but not tested) without additional dependencies.

UPDATE: Simplified toggle commands thanks to suggestion from Reddit user Elessardan. Updated use case info and "mapping" verbage thanks to suggestion from Reddit user -romainl-. Various simplifications and updates thanks to suggestions from this Reddit thread. Please note the GIFs still show the original mappings.


Toggle Line Wrap

Useful when working with long lines or small windows.

nnoremap <Leader>wr :set wrap! wrap?<CR>

Vim Wrap Toggle


Highlight Word Under Cursor

Useful for quickly identifying instances of a word. Use n or SHIFT-n to jump between matches and :noh to turn off highlighting.

" Case sensitive, partial match inclusive.
nnoremap <Leader>hi :set hlsearch<CR>:let @/='<C-r><C-w>'<CR>
" Case sensitive, no partial match.
nnoremap <Leader>ho :set hlsearch<CR>:let @/='\<<C-r><C-w>\>'<CR>
" Case insensitive, partial match inclusive.
nnoremap <Leader>hu :set hlsearch<CR>:let @/='<C-r><C-w>\c'<CR>
" Case insensitive, no partial match.
nnoremap <Leader>hy :set hlsearch<CR>:let @/='\<<C-r><C-w>\>\c'<CR>

Vim Highlight


Toggle List (Whitespace) Display

Can be useful depending on your Vim setup. I typically use 4 spaces for indentation but some people prefer tabs. My listchars variable is set to display tabs as but sometimes it is nice to quickly hide the list characters (especially if editing a file where someone mixed tabs and spaces, the savage).

nnoremap <Leader>li :set list! list?<CR>

Vim List Toggle


Zoom (Sorta)

Zooming out can be useful for navigation (like the minimap in Sublime Text). Zooming in can be useful for presentations. Keep in mind this is not really a zoom, it is just changing the font size. This can cause some strange side-effects such as changing window size and position.

" Simple zoom hacks; Ultra, Extra, Normal, Out.
nnoremap <Leader>zu :set guifont=courier_new:h24<CR>
nnoremap <Leader>ze :set guifont=courier_new:h18<CR>
nnoremap <Leader>zn :set guifont=courier_new:h10<CR>
nnoremap <Leader>zo :set guifont=courier_new:h4<CR>

Vim Zoom


Cursor Highlight

Highlighting the cursor line is pretty standard but there is a known issue in Vim which causes slowdown when long lines are highlighted; quickly toggling line highlighting can be useful. Toggling column toggling can be occasionally useful too.

nnoremap <Leader>cl :set cursorline!<CR>
nnoremap <Leader>cc :set cursorcolumn!<CR>
nnoremap <Leader>cx :set cursorcolumn cursorline<CR>
nnoremap <Leader>cn :set nocursorline nocursorcolumn<CR>

Vim Cursor Toggling


Fix Spelling

Use this to quickly fix spelling mistakes. Use ]s and [s to jump between flagged mistakes.

nnoremap <Leader>fs 1z=

Vim Fix Spelling


Open VIMRC

Use this to quickly open your vimrc file.

nnoremap <Leader>rc :e $MYVIMRC<CR>

Vim VIMRC

Hi, I am Jeff Rimko!
A computer engineer and software developer in the greater Pittsburgh, Pennsylvania area.