My personal NeoVim configuration.
Bear in mind that this is a personal config for NeoVim. It has some opinionated settings that I know many purists don't approve, like using jkl; instead of hjkl. I also remapped many standard keybinds most people use, especially the LSP ones.
It also has some more elaborated configs for certain languages:
rustaceanvim
, a plugin that works together withrust-analyzer
(rust's official language server) to extend its functionalityjdtls
, same as above but for Javahyprlang
is just a normal language server for Hyprland's config language that is on an early phase and still needs to be manually attached to the buffer.
- packer.nvim
- tokyonight.nvim
- telescope.nvim
- telescope-file-browser.nvim
- nvim-treesitter
- nvim-treesitter-context
- harpoon
- lsp-zero.nvim
- rustaceanvim
- lualine.nvim
- todo-comments.nvim
- neogen
- presence.nvim
- smartcolumn.nvim
- undotree
- auto-save.nvim
- nvim-jdtls
- nvim-autopairs
- zen-mode.nvim
- codesnap.nvim
- markdown-preview.nvim
- neotex
- fd/fdfind and ripgrep for Telescope
- About fd/fdfind: the package and the name of the binary change from OS to OS and from distro to distro, e.g. on Arch Linux both are named fd, on Ubuntu Linux they are both called fdfind and on MacOS/Brew they are called fdfind and fd, respectively. Change Telescope's config (here) accordingly.
- ripgrep is used for Telescope's
grep_string()
builtin extension.
-
Install packer.nvim, for plugin management, via the
git clone
command on the package's README.- This project was abandoned recently, so I suggest using something else, like Lazy.nvim. Packer just works for now and I'm not changing my config until I have problems with it :P (even though I know I should)
-
Clone this repo into ~/.config/nvim:
git clone https://github.com/mrquatrelle/nvim.git ~/.config/nvim
-
Launch NeoVim:
nvim
- A lot of errors will appear on your screen. This is because the config's plugins aren't installed yet. That will be done
on the next step. Just "spam"
q
until they all disappear
- A lot of errors will appear on your screen. This is because the config's plugins aren't installed yet. That will be done
on the next step. Just "spam"
-
Run this command to install all the plugins:
:PackerSync
- This will take a little while to do its thing, let it finish.
-
Quit NeoVim. Once you relaunch it, all should be working, hopefully...
Repeat after me one last time: This is a personal config!. LOL. You should fork it and modify it to your own taste or create your own and check mine out to understand how some simple stuff is set up (my config is relatively very simple).
Plus, I can guarantee you that I will mod it from time to time... Try other stuff out, etc. Just so you don't lose its current state, if you like it, fork it and use your fork (e.g. on step 2 of the installation).
- In some OS/distro combinations, an error appears on method
.preset()
, of lsp-zero. Idk what it is, and the config still works anyways... If it annoys you, RTFM. - Lualine refresh needs to be forced (not detecting events?)
- Fix lualine (Bug 2)
- Add which-key.nvim to the config. Not very useful but definitely very cool.
- Add compile-mode.nvim to the config.
- Change plugin manager from Packer to Lazy.nvim, or maybe some fork of Packer that is still maintained