Neovim is great, but time-consuming to configure it works properly. I deal with it from 2021, and still change it weekly to fit my job at cooperation.
This configuration works properly with JavaScript, Python, Go, Rust, Lua, PHP and Java.
Up coming languages, Haskell, Zig, Solidity, Scala, Dart (Flutter)
Kitty with Fira, Cascadia, and Mini-File-Icons
- Use primitive colours. (Default is Vivid One Dark)
- Use ligature font, italic font and icon font. (Thanks to Kitty)
- Bigger icons. (Thanks to nvim-mini-file-icons)
- Saving the last session. (Thanks to auto-session)
- Highlight current indent's scope. (Test with JS, Python, Go, Java, PHP, HTML, CSS, Svelte)
- Support several language's snippet. (I get snippets from rafamadriz/friendly-snippets)
- Support Emmet. (Thanks to emmet-ls)
- Support lint and formatter. (Thanks to Efm-Langsever)
- Modern explorer sidebar. (Thanks to yanil)
- Range format. (Not stable)
- Show scrollbar. (Useful when u get lost in a large file 😁)
- Show the EOF icon. (Useful when detect trailing spaces)
- Install all plugins manually.
- Perfect center dashboard header and show dashboard if there is no buffer.
- Use nix to manage package
- React
- Svelte
- TailwindCSS
- Express
- Gonic
- FastAPI
- Laravel
- Spring Boot
=====================================
Top 10 plugins slowing nvim's startup
=====================================
1 1.820 nvim-scrollview
2 1.573 auto-session
3 0.995 indent-blankline.nvim
4 0.678 nvim-ts-autotag
5 0.671 nvim-treesitter
6 0.374 nvim-treesitter-pairs
7 0.373 cmp_luasnip
8 0.338 cmp-path
9 0.213 nvim-ts-rainbow
10 0.169 dashboard-nvim
=====================================
Find more in wiki
All primitive colours are stored in lua/theme.lua
M = {
red = '#F9867B',
orange = '#CD9731',
yellow = '#FDCE68',
green = '#A3EEA0',
cyan = '#6796E6',
blue = '#7BE2F9',
purple = '#E19EF5',
tomato = '#F44747',
white = '#FFFFFF',
background = '#212835',
dark_background = '#1B212C',
border = '#3E4451',
comment = '#5C6370',
lineNumber = '#495162',
scrollbar = '#4E5666',
cursorLine = '#2C313A',
indent = '#383C44',
}
- Kitty
- Neovim 0.7.0-dev (Last updated Jan 1 2021)
- mini-file-icons
- Fira code (Or any ligature font)
- Cascadia (Or any italic font)
font_family FiraCode Nerd Font Mono
bold_font Cascadia Code
italic_font Cascadia Mono
bold_italic_font Cascadia Code
symbol_map U+e900-U+e954 mini-file-icons
font_size 16
cursor #6796E6
If you plan to install plugins manually, you can clone below plugins and
store in ~/.local/share/nvim/site/pack/*/start/
.
Plugin | Last updated |
---|---|
auto-session | Dec 6 2021 |
cmp-nvim-lsp | Nov 10 2021 |
cmp-path | Dec 30 2021 |
cmp_luasnip | Dec 12 2021 |
dashboard-nvim | Apr 17 2021 |
friendly-snippets | Dec 29 2021 |
git-utils.nvim | |
gitsigns.nvim | Dec 30 2021 |
goto-preview | Dec 25 2021 |
indent-blankline.nvim | Dec 1 2021 |
lsp_signature.nvim | Dec 22 2021 |
LuaSnip | Dec 29 2021 |
nvim-autopair | Dec 26 2021 |
nvim-bufferline.lua | Dec 15 2021 |
nvim-cmp | Dec 30 2021 |
nvim-colorizer.lua | Apr 20 2020 |
nvim-dap | Dec 22 2021 |
nvim-dap-ui | Dec 27 2021 |
nvim-jdtls | Dec 12 2021 |
nvim-lspconfig | Dec 31 2021 |
nvim-mini-file-icons | |
nvim-scrollview | Dec 15 2021 |
nvim-toggleterm.lua | Nov 24 2021 |
nvim-treesitter | Dec 29 2021 |
nvim-ts-autotag | Dec 15 2021 |
nvim-ts-context-commentstring | Dec 13 2021 |
nvim-ts-rainbow | Nov 21 2021 |
plenary.nvim | Dec 15 2021 |
tabout.nvim | Dec 15 2021 |
telescope-fzf-native.nvim | Nov 24 2021 |
telescope.nvim | Dec 29 2021 |
yanil |
Check wiki
Check wiki
Check wiki
Key | Description |
---|---|
<Leader>a | Code action |
<Leader>b | Toggle Explorer |
<Leader>c | Range format |
<Leader>d | Go to definition |
<Leader>e | Search Gitmojis |
<Leader>f | Search text |
<Leader>g | Git hover |
<Leader>h | Go to left window |
<Leader>j | Go to below window |
<Leader>k | Go to above window |
<Leader>l | Go to right window |
<leader>m | Format code |
<Leader>o | Search buffers |
<Leader>p | Search file |
<Leader>q | Turn off search's highlight |
<Leader>r | Rename variable |
<Leader>s | Save file |
<Leader>w | Delete current buffer |
<Leader>z | Preview definition |
<Leader>/ | Toggle comment |
<M-t> | Toggle Terminal |
jk | Insert mode to normal mode |
]d | Jump next diagnostic |
[d | Jump previous diagnostic |
]b | Go to next buffer |
[b | Go to previous buffer |
- Show theme in wiki
- Support Flutter
- Add PHP to wiki
- Show images of all supporting languages
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.