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 ligature font, italic font and icon font. (Thanks to Kitty)
  • Saving the last session. (Thanks to auto-session)
  • Support debug (Thanks to Nvim-Dap)
  • Support test (Thanks to Vim-Test)
  • Support RESTFul api test. (Thanks to Rest.nvim)
  • 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)
  • All in one sidebar. (Explorer, Symbol, Debug)
  • 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
Language LSP Treesitter Formatter Lint Debug Test
Bash 👍
C 👍
CSS 👍👍👍 👍 👍
Dart 👍
Dockerfile 👍 👍 👍
Go 👍 👍 👍👍
Haskell 👍 👍
HTML 👍👍👍 👍 👍
HTTP 👍
Java 👍 👍 👍 👍
Javascript 👍 👍👍 👍
JSON 👍 👍 👍
Lua 👍 👍 👍
Markdown 👍 👍 👍
PHP 👍 👍 👍 👍
Python 👍 👍 👍 👍
React 👍👍 👍 👍
Rust 👍 👍 👍
Scala 👍
Solidity
Svelte 👍👍 👍 👍
Latex 👍 👍 👍
TOML 👍
Typescript 👍 👍 👍 👍
XML 👍 👍 👍
YAML 👍 👍 👍
Zig 👍 👍

Startup

Last updated Jan 2 2021

=====================================
Top 10 plugins slowing nvim's startup
=====================================
1   3.097   vim-test
2   1.636   nvim-scrollview
3   1.290   nvim-treesitter
4   0.467   nvim-cmp
5   0.400   vim-ultest
6   0.398   nvim-ts-autotag
7   0.326   indent-blankline.nvim
8   0.163   cmp_luasnip
9   0.162   LuaSnip
10  0.156   cmp-path
=====================================

Screenshot

Dashboard

Dashboard

Telescope

Telescope

Terminal

Terminal

Help

Help

JavaScript

JavaScript

Go

Go

Find more in wiki

Configuration

Theme

All primitive colors 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
aerial Jan 2 2021
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-dap-virtual-text Dec 3 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
rest.nvim Dec 21 2021
tabout.nvim Dec 15 2021
telescope-fzf-native.nvim Nov 24 2021
telescope.nvim Dec 29 2021
vim-test Dec 31 2021
vim-ultest Dec 27 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