Surely overcomplicated
Absolutely not finished
Extremely heretical ;p
I was aware of vim/nvim for years, after switching to linux I figured It was
finally time to try it out.
At first I hesitated between nvim and emacs, but lua and the motions intrigued me...
I am still in the "hjkl? hu no? arrow's fine" phase though, haha.
My text editor journey:
Code::Blocks → Notepad++ → Visual Studio → VSCode → Neovim
- Hundreds of custom keymaps (I am unable to stop myself ;p)
- Extensive mouse support! (°)°) with mouse binds!
- Native Word "speed dial" in normal mode with
+
/-
- with Easy toggling of booleans:
true/false
,yes/no
,on/off
- and Capitalization flipping
- Auto-pairing via nvim-autopairs
- Built-in white spaces trimming on save (+custom command)
- Completion via blink.cmp, with extensive config including cmdline completion
- Built-in auto save with a timer every 7min
Supported languages:
- lua
- markdown
- yaml
- toml
- bash
Tools:
- Treesitter highlighting
- LSP
- Custom snippets
- nvim-lint,
- conform.nvim
- sniprun
- neo-tree
- oil.nvim
- custom user commands and keymaps, delete current file, set readonly, move dir etc...
- lualine with many custom components
- barbar.nvim for tabs
- custom winbar, displaying curr file path
- customized statuscolumn thanks to gitsign, statuscol-nvim and some tweaking
-
trouble.nvim
-
indent-blankline.nvim
Tiny helpers:
- Auto save on
VimLeavePre
- Command to save/edit session
- Reload session with a custom command
Currently only supports one global session
- Based on Nightfox
- Custom highlight groups
- Tweaked for a black & white eInk monitor -- no proper colors for now
- Managed via lazy.nvim
Install the latest version of neovim with your package manager of choice.
Backup existing config files if applicable.
mv ~/.config/nvim ~/.config/nvim.bak
Go to config files location
cd ~/.config/nvim/
Clone the repo:
git clone https://github.com/qiine/qiine-nvim-conf.git
Open Neovim.
nvim
Plugins will install automatically thanks to lazy.nvim
-
Terminal
I choosed wezterm, config: github.com/qiine/wezterm-confAs neovim is a terminal centered application and I use a very complex sets of keybinds, a terminal supporting kitty keyboard reporting protocol or similar is a must.
I have not spent any time making my nvim config usable with other terminals and don't plan to. (I know Konsol struggles)
-
git
-
ripgrep
-
fd
-
fzf
optional
- stylua
- marksman
- lua_ls
- luacheck
- eslint_d
This project is licensed under the MIT License.