Updated: 04 November 2023
Vim
nvim-tree.lua
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. |
Vim diff
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
.
Neovim
Updated: 28 February 2025
Light themes
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 |
Error reading ShaDa
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
Swap files
Delete all swap files
rm -rf ~/.local/state/nvim/swap/*
Start cli arguments
Mimics a fresh install of Nvim. “Factory defaults”, skip user config, plugins and shada
nvim --clean
Lunarvim
Updated: 11 March 2024
Notes
- Configuration
~/.config/lvim/config.lua
- On my system, plugins directories are in
~/.local/share/lunarvim/site/pack/lazy/opt
- To turn off ShellCheck warnings in .env files, place at the top
# shellcheck disable=SC2034
Keybindings
Toggle 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 |
Vim view
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
Vim global
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
Vim macros
Updated: 30 May 2023
qn
record macro n
q
stop recording the macro
@n
run macro n
Vim toggle word-wrap
Updated: 23 May 2023
function ToggleWrap()
if (&wrap == 1)
set nowrap nolinebreak
else
set wrap linebreak
endif
endfunction
map <leader>w :call ToggleWrap()<CR>
Vim key mappings
Updated: 21 May 2023
Remove all text from line, remain in normal mode
nmap <Leader>S S<Esc>
nmap <Leader>cc cc<Esc>
Add blank line above or below current line
nmap <Leader>O O<Esc>j
nmap <Leader>o o<Esc>k
Scroll left and right without moving cursor
map <C-L> 5zl
map <C-H> 5zh