https://dotfyle.com/TRC-Loop/neovim-config
Screenshots
Dog does not come with Neovim config!
-
Neovim of course: Install
Install using
snap,dnf,pacmanon Linux eg.sudo snap install neovim -
Luarocks (recommended): Install
Install using
apt,dnf,pacmanon Linux eg.sudo apt install luarocks -
Nerdfont: Download (Meslo), All Fonts
Use any font you'd like. The Font in the Screenshots is Meslo.
-
Supported Terminal: MacOS iTerm2, Windows Terminal, kitty (cross-platform)
The terminal should support a custom font and colors
-
Install using
apt,dnf,pacmanon Linux eg.sudo apt install go -
Python (with pip) for LSP's
-
NPM for LSP's
-
Install using
apt,dnf,pacmanon Linux eg.sudo apt install gitGit is often pre-installed.
Important
Make sure your Neovim Config Directory is empty/non-existent. Delete it using
rm -rf ~/.config/nvimor windows (Powershell) Remove-Item -Recurse -Force $env:LOCALAPPDATA\nvim, cmd: rmdir /s /q %LOCALAPPDATA%\nvim
MacOS/Linux:
git clone https://github.com/TRC-Loop/neovim-config.git ~/.config/nvimWindows CMD
git clone https://github.com/TRC-Loop/neovim-config.git %LOCALAPPDATA%\nvimWindows Powershell
git clone https://github.com/TRC-Loop/neovim-config.git $env:LOCALAPPDATA\nvimCaution
Custom tweaks you have done to the config will be lost.
MacOS/Linux:
rm -rf ~/.config/nvim && git clone https://github.com/TRC-Loop/neovim-config.git ~/.config/nvimWindows Powershell:
Remove-Item -Recurse -Force $env:LOCALAPPDATA\nvim; git clone https://github.com/TRC-Loop/neovim-config.git $env:LOCALAPPDATA\nvimWarning
Instead of installing LSPs manually, use Mason: :Mason<Enter>
How to use Mason
Old Commands (Manual)
Python:
pip install pyrightLua:
https://luals.github.io/#neovim-install
Go:
go install golang.org/x/tools/gopls@latestPHP:
npm install -g intelephenseHTML:
npm install -g vscode-html-languageserver-binRuns on π€Lazy
<leader> is (space)
ποΈ Neotree
Open with <leader>e or :Neotree toggle
π Telescope
Open with <leader>ff or <leader>fg for Live-Grep
π Alpha
Used for the nice Startup-Screen (nvim)
βΉοΈ Lualine
Used for the nice little Status bar at the bottom.
Change Datetime format in lua/plugins/lualine.lua in the datetime function.
π Noice
Used for the CMDLine. Delete to have the default CMDLine.
π nvim-cmp
Used for CMDLine Autocompletion. Use <tab>
π¬ Comment.nvim
Toggle comments with gcc or gc in Visual mode.
πͺ nvim-autopairs
Auto closes brackets, quotes, etc.
π³ nvim-treesitter
Better syntax highlighting and parsing.
| Motion | Effect |
|---|---|
β β―vafβ―β |
select a function (outer) |
β β―vifβ |
select inside a function |
β β―vapβ―β / β β―vipβ |
select parameter list |
β β―vacβ / β β―vicβ―β |
select class block |
β β―vaCβ―β / β β―viCβ―β |
select conditional block |
β β―dafβ―β |
delete function |
β β―yafβ―β |
yank function |
πͺ ToggleTerm
Open terminal with <control>t. Close it by typing exit in the Terminal.
π¨ catppuccin
Custom theme settings in catppuccin-custom.lua.
π§ which-key.nvim
Shows keybindings popup when you type a <leader> command.
Adds indentation guides.
π§ nvim-lspconfig
LSP support, config in lsp.lua.
π΅οΈββοΈ git-blame
Shows Git Info in Code.
πΎneocord
Adds Discord RPC so your friends know what you're up to. Config: lua/config/neocord.lua
π₯ nvim-navic
Shows Breadcrumbs in top of the window (eg. in which function you are)
π vim-illuminate
Highlights same words with an underline when hovering.
βΏΈ vim-surround
Says what it does.
ysiw' Makes the current work surrounded with ' Before: test-123 After: 'test-123'
βοΈ Mason
Mason is used for managing LSPs.
Open with: :Mason<Enter>
| Motion in Mason | Effect |
|---|---|
β β―iβ―β |
install |
β β―uβ |
update |
Important
Installing Mason packages often requires: cargo, go, npm and pip
It is recommended to first install those package managers!
Maybe make a Macro on your keyboard which automatically installs nvim, with this config!
If you've got an Idea which plugin could be added, open a pull request or an Issue, i appreciate all ideas!
Add your own
Can be used as a Cheat-Sheet
gUiw: Make the word you are on full uppercase. eg.test->TESTysiw': Make the word surrounded by'eg.test->'test'zz,zt,zb: Change the view relative to the cursor

