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.
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
- Gin/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.5
- 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
Git clone below plugins in ~/.local/share/nvim/site/pack/*/start
.
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 emojis |
<Leader>f | Show text search |
<Leader>g | Search gitmojis |
<Leader>h | Go to left 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>/ | Toggle comment |
<Leader>; | Jump to pairs (Bracket, Parentheses, Quote) |
<M-t> | Toggle Terminal |
jk | Insert mode to normal mode |
]d | Next diagnostic |
[d | Previous diagnostic |
]b | Next buffer |
[b | 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.