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
:ToggleThemeswiches 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
gbcblockgccline, visualgc,gcAat 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>xxtoggle diagnostics,<leader>cltoggle focus,<leader>xQtoggle 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,aadd,rrename,ddelete,mmark,bmvmove 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