Clone this repository:
git clone https://github.com/PeterShaws/nvim-setup.git ~ /.config/nvim
Enter your Neovim configuration directory:
Launch Neovim (nvim) and wait for Lazy's UI to appear, then wait for it to
sync all plugins;
You should be good to go; if not, relaunch Neovim.
nodejs/npm, to download LSPs, formatters, etc.;
rg, for fuzzy finding;
fd, for finding files;
lazygit, for interacting with Git;
ydiff, a pager that can show diffs side-by-side (optional).
~/.config/lazygit/config.yml:
gui :
nerdFontsVersion : 3
sidePanelWidth : 0.2
theme :
selectedLineBgColor :
- " #444444"
git :
paging :
colorArg : never
pager : ydiff -p cat -s --wrap --width={{columnWidth}}
os :
editPreset : " nvim"
Use Neovide as a GUI for Neovim.
~/.config/neovide/config.toml:
[font ]
normal = { "family" = " JetBrainsMono Nerd Font" , "style" = " Light" }
bold = { "family" = " JetBrainsMono Nerd Font" , "style" = " SemiBold" }
italic = { "family" = " JetBrainsMono Nerd Font" , "style" = " Light Italic" }
bold_italic = { "family" = " JetBrainsMono Nerd Font" , "style" = " SemiBold Italic" }
size = 16
hinting = " none"
edging = " subpixelantialias"
[font .features ]
"JetBrainsMono Nerd Font" = [" +zero" ]
This Neovim setup has keymaps for copying/pasting in Neovide while in terminal
mode (useful e.g. for LazyGit).
Note: Most if not all of these should be covered by the which-key plugin.
Note: In the tables below, Leader means Space with this configuration.
Modes
Keys
Description
i
Alt+h
Move cursor left
i
Alt+j
Move cursor down
i
Alt+k
Move cursor up
i
Alt+l
Move cursor right
Modes
Keys
Description
n
Ctrl+c
Close current window
n
Ctrl+h
Focus window to the left
n
Ctrl+j
Focus window below
n
Ctrl+k
Focus window above
n
Ctrl+l
Focus window to the right
n
Ctrl+Shift+H
Move window to the left
n
Ctrl+Shift+J
Move window below
n
Ctrl+Shift+K
Move window above
n
Ctrl+Shift+L
Move window to the right
n
Ctrl+<
Decrease window width
n
Ctrl+>
Increase window width
n
Ctrl+-
Decrease window height
n
Ctrl++
Increase window height
Modes
Keys
Description
n
Leader bd
Change to current buffer’s directory
n
Leader bw
Write the current buffer
n
Leader ba
Write all open buffers
n
Leader qa
Close all open buffers
n
Leader qq
Quit Neovim without writing anything
n
Leader qw
Quit Neovim, writing everything
n
F5
Source current lua file
Modes
Keys
Description
n
Leader A
Select all text
n, x
gy
Copy to clipboard
n, x
gp
Paste from clipboard (after cursor)
n, x
gP
Paste from clipboard (before cursor)
t
Ctrl+Shift+c
Copy from terminal into clipboard
t
Ctrl+Shift+v
Paste from clipboard into terminal
n, x
x
Delete
n, x
X
Delete
n
Alt+w
Toggle word wrap
n
Alt+Shift+P
Toggle whitespace
n
Leader cq
Double quotes to single
n
Leader cQ
Single quotes to double
n
Leader ci
Reindent file
n
Esc
Clear search highlight
n
Leader cc
Conceal
n
Leader cr
Reveal
Modes
Keys
Description
n
Leader a
Dashboard
better-escape (escape insert mode)
Modes
Keys
Description
i
jk
Escape insert mode
boole (manipulate numbers and booleans)
Modes
Keys
Description
n
Ctrl+a
Increment
n
Ctrl+x
Decrement
bufferline and bufdelete (buffer tabs)
Modes
Keys
Description
n
Alt+1
Go to 1st buffer
n
Alt+2
Go to 2nd buffer
n
Alt+3
Go to 3rd buffer
n
Alt+4
Go to 4th buffer
n
Alt+5
Go to 5th buffer
n
Alt+6
Go to 6th buffer
n
Alt+7
Go to 7th buffer
n
Alt+8
Go to 8th buffer
n
Alt+9
Go to 9th buffer
n
Alt+0
Go to last buffer
n
Alt+p
Pick open buffer
n
Alt+h
Go to previous buffer
n
Alt+l
Go to next buffer
n
Alt+Shift+o
Close other buffers
n
Alt+Shift+l
Close buffers to the left
n
Alt+Shift+r
Close buffers to the right
n
Alt+c
Close current buffer
nvim-cmp (autocompletion)
Modes
Keys
Description
n
Up
Select previous item
n
Down
Select next item
n
Ctrl+p
Select previous item
n
Ctrl+n
Select next item
n
Ctrl+u
Scroll docs up
n
Ctrl+d
Scroll docs down
n
Ctrl+Space
Complete
n
Ctrl+e
Abort
n
Return
Confirm
n
Ctrl+f
Next snippet jump point
n
Ctrl+b
Previous snippet jump point
n
Tab
Select next item
n
Shift+Tab
Select previous item
floaterm (floating terminal)
Modes
Keys
Description
n, t
F12
Toggle floating terminal
huez (colorscheme picker)
Modes
Keys
Description
n
Leader hs
Colorschemes
gitsigns (Git integration)
Modes
Keys
Description
n
]c
Next changed hunk
n
[c
Previous changed hunk
n
Leader hs
Stage hunk
n
Leader hr
Reset hunk
v
Leader hs
Stage hunk
v
Leader hr
Reset hunk
n
Leader hS
Stage buffer
n
Leader hu
Unstage hunk
n
Leader hR
Reset buffer
n
Leader hp
Preview hunk
n
Leader hb
Blame line
n
Leader tb
Toggle current line blame
n
Leader hd
Compare to base
n
Leader hD
Compare to last commit
n
Leader td
Toggle deleted
o, x
ih
Select hunk
Modes
Keys
Description
n
F7
Open LazyGit
leap (document navigation)
Modes
Keys
Description
n, x, o
s
Leap forward
n, x, o
S
Leap backward
n, x, o
gs
Leap from window
nvim-lspconfig (language server)
Modes
Keys
Description
n
[d
Previous diagnostic
n
]d
Next diagnostic
n
Leader e
Show diagnostic
n
Leader E
Open diagnostics list
n
Leader lr
Rename symbol
n, v
Leader ca
Code actions
n
Leader lc
Code actions
n
Leader lp
Peek definition
n
Leader lP
Peek type definition
n
Leader lg
Go to definition
n
Leader lG
Go to type definition
n
Leader lh
Incoming calls
n
Leader lH
Outgoing calls
n
Leader lF
Find references
n
Leader lo
Outline
n
Leader ld
Definition
n
Leader lR
References
n
Leader li
Implementations
n
Leader lD
Type definition
n
Leader ls
Document symbols
n
Leader lw
Workspace symbols
n
Leader lf
Format buffer
n
K
Hover documentation
n
<C-k>
Signature documentation
n
gD
Go to declaration
n
Leader wf
Add workspace folder
n
Leader wr
Remove workspace folder
n
Leader wl
List workspace folders
Modes
Keys
Description
n
F2
File explorer
n
F3
Git Status
n
F4
Document Symbols
n
Shift+F2
Close file explorer
surround (wrap text with pairs of characters)
Modes
Keys
Description
n
gz
Get Surround
n
gZ
Get Indented Surround
n
gzr
Get Surround Replaced
n
gZr
Get Indented Surround Replaced
n
gzd
Get Surround Deleted
n
gzz
Get String Surround
n
gZZ
Get Indented String Surround
v
gz
Visual Surround
v
gZ
Visual Indented Surround
Modes
Keys
Description
n
Ctrl+\
Buffers
n
Ctrl+g
Grep
n
Ctrl+p
Files
n
Ctrl+i
Live grep
Modes
Keys
Description
n
Leader ff
Find files
n
Leader fg
Live grep
n
Leader fb
Open buffers
n
Leader fh
Help tags
n
Leader fk
Key maps
n
Leader fc
Colorschemes
n
Leader ft
To-do list
n
Leader fd
Diagnostics
n
Leader f/
Search current buffer
n
Leader fm
Messages
n
Leader fT
Themes
todo-comments (to-do tags in comments)
Modes
Keys
Description
n
]t
Next to-do comment
n
[t
Previous to-do comment
Modes
Keys
Description
n
Leader xx
Toggle Trouble
n
Leader xw
Workspace diagnostics
n
Leader xd
Document diagnostics
n
Leader xq
Quickfix
n
Leader xl
Location list
n
Leader xr
LSP References
n
Leader xt
LSP References