Important
- Neovim v0.10+ currently using v0.11 nightlies
- fzf brew, apt (outdate), binary
- ripgrep brew, apt (outdated), binary
- some flavor of Nerd Font for your client (if running remotely it's your client terminal that needs the font not the server)
If any Treesitter parsers are missing in the :checkhealth :TSInstall <parser>
Note
- Some tweaks are small screen specific - mostly messages
- The coding setup is your basic HTML, CSS, Tailwind, JavaScript, and TypeScript with Svelte(Kit)
- Configured with modular Lazy and Mason with git suppert via GitSigns and Neogit
:ToggleTheme
swiches from catppuccin mocha (dark) to latte (light) - see theme.lua
#Git | #Coding-Centric | #UI-Related | #Utility |
---|
- gitsigns - gutter indicator of changes, stage hunks or buffers, preview hunk changes, blame lines keymaps
<leader>hp
<leader>hs
- neogit - git for nvim with log, diff, and all the normal git commands
:Neogit
- comment - quickly commenting lines of code normal
gbc
blockgcc
line, visualgc
,gcA
at end of line - conform - better handling of formatters. Configured to use prettierrc for current project
- nvim-autopairs - add closing ) ] } etc
- nvim-cmp - nvim auto completions -
<C-space>
show,<C-e>
close,<CR>
confirm - nvim-surround - mappings for adding character around a selection
<C-s>
- nvim-tresitter - Nvim parser for syntax highlighting
- todo-comments - add todos as comments to files with 'TODO:' 'BUG:' 'WARN:' etc for highlighting and searchable - integrates with telescope
<leader>ft
- trouble - diagnostics handler
<leader>xx
toggle diagnostics,<leader>cl
toggle focus,<leader>xQ
toggle quickfix list
- colorscheme - choice of color scheme config for catppuccin
- dressing - some ui visual things - moves some dialogs out of the bottom left foe better visibility / readability like nvim-tree add or rename files
- indent-blankline - set indentation guide indicators
- lualine - status line options for git branch, diff, better mode visibility, hostname etc
- noice - UI customizations like relocating command input and search centrally on screen some lsp popup updates and message handling - :Noice errors for a popup of error messages
- auto-session - save and restoring working sessions - integrates with telescope
- bufferline - buffers as tabs with status - configurable as tabs of buffers
- markdown - markdown preview automatic in normal mode
- vim-maximizer - toggle a split to full screen and back
<leader>sm
- nvim-tree - file explorer
<C-]>
set cwd,-
to go up a level,a
add,r
rename,d
delete,m
mark,bmv
move mark - telescope - searches for files, buffers, strings. todos from todo-comments, sessions from auto-session
- which-key - popup list of key commands when you start a command - ie v for visual mode will popup with motions you can use
#Search | #Motions | #Maintenance | #Spell | #Others |
---|
<leader>
is mapped to SPACE in the options.lua
/
search buffer
:s/seach/replace/g
search and replace a line
:%s/search/replace/gc
search and replace buffer with confirmation
:Telescope lsp_definitions
go to current function definition
<leader>ff
find files
<leader>fs
find strings
<leader>ft
find todos
f
followed by character goes to next instance - prepend number to skip
0
go to start of line
$
go to end of line
a
append after cursor
A
append end of line
i
insert before cursor
I
insert start of line
]h
next hunk
[h
previous hunk
:checkhealth
Lazy check health of setup and plugin dependencies
:Mason
update and install LSP, formatters, linters, etc
:Lazy
update and install configured plugins
:set spell
enable builtin spell checker
:set nospell
disable spell checker
]s
next misspelled
[s
previous misspelled
z=
suggest corrections
zg
add to correct words
<C-e>
close auto complete without confirmation - should close lsp popups too
q
close nvim-tree pane if focus otherwise <leader>ee
q
close neogit and popups like :Lazy
or :Mason
interfaces and the :Noice errors
popup
:term
open a terminal
<ESC><ESC>
exit insert mode in a terminal buffer
:Neogit commit
:Neogit push
do git things
Note
A lot of my initial setup was thanks to inspiration from Josean Martinez's setup