Neovim as IDE
Motivation
I was tired of bloated, buggy, features-rich IDEs. Life was too easy that way. I craved the real coding experience. The best editor I could come up with at that time was Turbo Pascal (preview). Unfortunately, I can't do Java in it, so I had to explore some alternatives. I initially went with vim as my choice, but then switched to neovim.
Some real reasons to use vim/neovim:
Why I use Vim in 2022
Why even bother with Vim or Neovim in 2022?
My config
My neovim config can be found here.
Most useful plugins
There are some plugins, that i would recommend to anyone.
- packer.nvim - Plugin manager for neovim. Use this to install or other plugins.
- telescope.nvim - Fuzzy finder, that can be used to almost everything. I use it to: find files, search text in project, jump between buffers, search lsp symbols, list diagnostics, and many more.
- neo-tree.nvim - File browser. Just like any other sidebar file browser in most IDEs.
- nvim-autopairs - Simple plugin for completing symbols like '('.
- diffview.nvim - Powerful diff viewer. I use to to preview changes in my commits and resolve conflicts.
- nvim-treesitter - Syntax highlight for most languages.
- nvim-cmp - Autocomplete plugin.
- nvim-lspconfig - Set of LSP configurations for many langauges. It's go to plugin, when you want some language tooling out of box. List of supported tools.
- null-ls.nvim - Another helper for LSP. If lspconfig, don't have some tool you want, you can look for it here.
Tips
-
Change key repetition delay for faster hjkl navigation. Under X server, you just have to add
xset r rate 250 50
to.xinitrc
. -
Prepare alias to easy config changing. I use my admin perl script for this. When typing
a nvim
in terminal, it runs:exec "cd ~/.config/nvim && nvim"
. - Dont spend too much time ricing you editor, stick with minimal useful tools ;)