My Beast
Neovim version: Requires v0.11.0 or higher
⚠️ Warning: This configuration is for personal use and evolves frequently. It references a lot from LazyVim, which is a better option for those starting out. Proceed with caution if you're looking for a more stable setup.
Before setting up this Neovim configuration, ensure that the following dependencies are installed on your system:
- ripgrep
- xclip
- unzip (Required for installing language packs)
- npm (node)
- pass
- fzf
- cmake
- jq
Image Previews for pickers
- viu (for MacOS)
- ueberzug (for Linux)
Running the following script if you want to install Neovim at a specific version:
~/.config/nvim/install-nvim.sh
This Neovim configuration is designed to work seamlessly with the Kitty terminal emulator. For optimal visual results, it is recommended to use the Nerd Font with fixed underline. Add the following configuration to your Kitty terminal settings:
modify_font strikethrough_position 130%
modify_font strikethrough_thickness 0.1px
modify_font underline_position 150%
modify_font underline_thickness 0.1px
modify_font cell_height 305%
This configuration includes full VSCode integration via the vscode-neovim extension, allowing you to use your Neovim setup within VSCode.
-
Install the Extension
https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim
-
VSCode Settings - Add to your
settings.json
:{ "vscode-neovim.neovimInitVimPaths.darwin": "/Users/loctvl842/.config/nvim/init.lua", "vscode-neovim.compositeKeys": { "jk": { "command": "vscode-neovim.escape" }, "Jk": { "command": "vscode-neovim.escape" }, "jK": { "command": "vscode-neovim.escape" } }, "editor.minimap.enabled": false, "editor.fontSize": 13, "editor.fontFamily": "'JetBrainsMono Nerd Font', Menlo, Monaco, 'Courier New', monospace", "editor.fontLigatures": true, "terminal.integrated.fontFamily": "JetBrainsMono Nerd Font", "workbench.colorTheme": "Monokai Pro" }
-
MacOS Key Repeat Fix
defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
Category | Keymap | Action |
---|---|---|
Search & Navigation | <leader>f |
Find files |
<leader>F |
Find in files (global search) | |
<leader>b |
Show open buffers | |
<leader>e |
Focus file explorer | |
<leader>E |
Toggle sidebar | |
Splits & Windows | <leader>/ |
Split horizontally |
<leader>\ |
Split vertically | |
<leader>z |
Toggle maximize editor group | |
LSP & Diagnostics | gd |
Go to definition |
gD |
Go to declaration | |
gr |
Go to references | |
gl |
Show hover info | |
]d |
Next diagnostic | |
[d |
Previous diagnostic | |
Git Integration | ]c / [c |
Navigate git hunks |
<leader>gs |
Stage hunk | |
<leader>gr |
Revert hunk | |
<leader>gp |
Preview hunk | |
<leader>gb |
Toggle git blame | |
File Operations | <leader>w |
Save file |
<leader>W |
Format and save | |
<leader>d |
Close current editor | |
<leader>q |
Close editor group | |
Folding | fa |
Toggle fold |
fm |
Fold all | |
fr |
Unfold all | |
Terminal | <leader>tt |
Toggle terminal |
<leader>tn |
New terminal |
The VSCode integration automatically enables only compatible plugins:
- Core: lazy.nvim, snacks.nvim, plenary.nvim
- Text Editing: nvim-treesitter, nvim-ts-autotag
- UI Plugins: Disabled (VSCode handles the UI)