Updated: 09 November 2023
Insert mode, indent current line forward, backwards ctrl-t, ctrl-d
Freelance software engineer United Kingdom
Updated: 09 November 2023
Insert mode, indent current line forward, backwards ctrl-t, ctrl-d
Updated: 23 March 2024
View default key mappings
:help nvim-tree-mappings-default
a |
Create a new file. |
d |
Delete file. |
<C-r> |
Rename: Omit Filename |
e |
Rename: Basename |
r |
Rename |
W |
Collapse all |
E |
Expand all |
R |
Refresh |
BS |
Close a directory, whilst inside of it. |
I |
Toggle git ignored files. |
H |
Toggle dot files. |
Updated: 20 October 2023
Start vim with the -d option
vim -d feedback-form-a.xml feedback-form-b.xml
Move forwards and backwards through each difference with ]c and [c.
Updated: 18 October 2025
Some popular themes with a light variant.
| GitHub stars Feb 24 | Repository |
|---|---|
| 4.8K | https://github.com/folke/tokyonight.nvim |
| 3.3K | https://github.com/rebelot/kanagawa.nvim |
| 4.3K | https://github.com/catppuccin/nvim |
| 582 | https://github.com/Mofiqul/vscode.nvim |
| 1.9K | https://github.com/projekt0n/github-nvim-theme |
Resolution of Error while reading ShaDa file: there is an item at position …
Find all ShaDa related directories and files
find ~ -iname '*shada*'
Example list of folders returned by the find command above
/home/chris/.local/state/lvim/shada/
/home/chris/.local/state/nvim/shada/
/home/chris/.local/share/nvim/shada/
/home/chris/.cache/lvim/
Delete all shada files in these directories.
rm -rf ~/.local/state/lvim/shada
rm -rf ~/.local/state/nvim/shada
rm -rf ~/.local/share/nvim/shada
rm -rf ~/.cache/lvim
Delete all swap files
rm -rf ~/.local/state/nvim/swap/*
Mimics a fresh install of Nvim. “Factory defaults”, skip user config, plugins and shada
nvim --clean
Cause Nvim to look for configuration files in ~/.config/nvimfoo instead of ~/.config/nvim. Useful for experimenting with multiple Neovim configurations on the same system. See here for a potentially better strategy on Linux, using cgroups namespaces.
NVIM_APPNAME=nvimfoo nvim
Write all your keymaps to file (credit)
:redir > key_maps.txt | map | redir END
Updated: 11 March 2024
~/.config/lvim/config.lua~/.local/share/lunarvim/site/pack/lazy/opt# shellcheck disable=SC2034Toggle spelling on/off with a function:
lvim.keys.normal_mode["<leader>sp"] = function()
if (true == vim.opt.spell:get()) then
vim.opt.spell = false
print("spell = false")
else
vim.opt.spell = true
vim.opt.spelllang = "en_gb"
print("spell = true")
end
end
Resize splits with number keys:
lvim.keys.normal_mode["<A-8>"] = ":resize -1<CR>"
lvim.keys.normal_mode["<A-9>"] = ":resize +1<CR>"
lvim.keys.normal_mode["<A-7>"] = ":vertical resize -1<CR>"
lvim.keys.normal_mode["<A-0>"] = ":vertical resize +1<CR>"
Quick reference
| Toggle floating terminal | <C-\> |
| Show definition | K |
| Clear cache whilst running | :LvimCacheReset |
| Clear cache at startup | lvim +LvimCacheReset |
Updated: 01 July 2023
Write a Vim script that restores the contents of the current window
:mkview
Directory which stores files for :mkview
:set viewdir?
Load the view for the current file
:loadview
Updated: 31 May 2023
Execute [cmd] (default :p) on lines within [range] where {pattern} matches
:[range]g[lobal]/{pattern}/[cmd]
Delete blank lines
:g/^$/d
Updated: 07 October 2025
qn to record a macro into register n.q to stop recording the macro.@n to run the macro in register n.The list of commands which make up the macro are stored in the n register. If the macro needs to be edited, paste it with "np. Then, after editing, select it and copy back into the register with "ny.
Use @@ to repeat the last macro.
Updated: 23 May 2023
function ToggleWrap()
if (&wrap == 1)
set nowrap nolinebreak
else
set wrap linebreak
endif
endfunction
map <leader>w :call ToggleWrap()<CR>