Skip to content

Nguyen-Hoang-Nam/nvim-dotfiles-kitty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nvim-Dotfiles-Kitty

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)

Main Kitty with Fira, Cascadia, and Mini-File-Icons

What I have done so far

  • 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.

Something I want to do

  • Perfect center dashboard header and show dashboard if there is no buffer.
  • Use nix to manage package

Supported framework

  • React
  • Svelte
  • TailwindCSS
  • Express
  • Gonic
  • FastAPI
  • Laravel
  • Spring Boot

Startup

=====================================
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
=====================================

Screenshot

Dashboard

Dashboard

Telescope

Telescope

Terminal

Terminal

Help

Help

JavaScript

JavaScript

Go

Go

Find more in wiki

Configuration

Theme

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',
}

Installation

Requirements

  • Kitty
  • Neovim 0.7.0-dev (Last updated Jan 1 2021)

Fonts

  • mini-file-icons
  • Fira code (Or any ligature font)
  • Cascadia (Or any italic font)

Kitty

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

Plugin list

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

Treesitter

Check wiki

Language Server

Check wiki

Lint and Formatter

Check wiki

Mappings

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

TODO

  • Show theme in wiki
  • Support Flutter
  • Add PHP to wiki
  • Show images of all supporting languages

Contributing

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.

License

MIT