Skip to content

Awesome Neovim configuration for Python, Lua, C++, Markdown, LaTeX, and more... for everyone

License

Notifications You must be signed in to change notification settings

destngx/nvim-config

Repository files navigation

My personal neovim config that is inspired by EcoVim and jdhao neovim config.

I use kanagawa theme for better on my eyes :)

Feel free to use it and modify it to your liking. And starred my repo if you like it.

image

Prerequisities

  • Make sure you have installed the latest version of Neovim v0.9.0+ (nightly is preferred).
  • Have wget, curl, unzip, git, make, pip, python, npm, node, luarocks, fd, ripgrep and cargo installed on your system. You can check if you are missing anything with :checkhealth command.
  • Have any nerd font installed. Fira Code has been used in screenshots. You can download it from nerdfonts.com.

Try install script if it works for you.

cd .install
bash run.sh

Requirements:

  1. ripgrep
  2. fd-find
  3. fzf: version > 0.53
  4. git version > 2.30.
  5. lazy-git
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin

Features

You can search word under cursor with dictionary in MacOS with K in markdown file. Feel free to config other dictionary app if you are using Linux or Windows.

URL highlight and open with gx in normal mode using url-open plugin.

With the following plugins has been integrated into to support for full stack development:

[!INFO] I have actively updated this config so it may be changed in the future. You can try telescope instead of fzf-lua at telescope branch. But it will not be updated since I don't use it. There are some plugins that I don't use but I still keep it for reference use.

  1. AdvancedNewFile.nvim: Create new files and folders
  2. Comment.nvim: quickly comment code with treesitter power
  3. LuaSnip
  4. alpha-nvim customizable dashboard
  5. autosave.nvim
  6. better-escape.nvim
  7. bigfile.nvim: Automatically turn off some features of neovim when working with large files
  1. cinnamon.nvim: Smooth scrolling for any movement command or string of commands
  2. cmp-buffer
  3. cmp-calc
  4. cmp-cmdline
  5. cmp-git
  6. cmp-npm
  7. cmp-nvim-lsp
  8. cmp-nvim-lua
  9. cmp-path
  10. cmp-tailwind-colors
  11. cmp_luasnip
  12. codeium.nvim: AI code completion (fast but not good privacy)
  13. comment-box.nvim: create code comment in a styled box
  14. diffview.nvim
  15. dressing.nvim: UI enhancement
  16. flash.nvim navigate like the flash
  17. friendly-snippets: completion Snippets collection for a set of different programming languages.
  18. fzf-lua: finder, grep text, and more.
  19. lualine.nvim: Statusline
  20. git-conflict.nvim
  21. git-worktree.nvim
  22. gitsigns.nvim: super fast git decorations implemented purely in Lua
  23. glance.nvim: pretty window for previewing, navigating and changing lsp location
  24. hlargs.nvim
  25. hydra.nvim
  26. indent-blankline.nvim
  27. lazy.nvim
  28. lazygit.nvim
  29. lspkind-nvim
  30. markdown-preview.nvim
  31. markid
  32. mason-lspconfig.nvim
  33. mason.nvim
  34. mini.ai
  35. mini.align
  1. neovim-session-manager
  2. noice.nvim: experimental interface for messages, command-line and the popup menu
  3. nui.nvim
  4. numb.nvim: Jump or Peak line when typing a number in command_palette
  5. nvim-autopairs
  6. nvim-cmp
  7. nvim-colorizer.lua
  8. nvim-dap
  9. nvim-dap-repl-highlights
  10. nvim-dap-ui
  11. nvim-dap-virtual-text
  12. nvim-dap-vscode-js
  13. nvim-lsp-file-operations: enhances file operations using lsp
  14. nvim-lspconfig
  15. vim-sleuth:
  1. nvim-notify
  2. nvim-spectre: refactor, find and replace
  3. nvim-spider: move by subwords and skip insignificant punctuation
  4. nvim-surround
  1. nvim-tree.lua: a file explorer tree
  2. nvim-treesitter: syntax highlighting and code context
  3. nvim-treesitter-context: view context of current line in the top
  4. nvim-treesitter-textobjects
  5. nvim-treesitter-textsubjects
  6. nvim-ts-context-commentstring
  7. nvim-ufo
  8. nvim-web-devicons
  9. obsidian.nvim: for take note zetelkasten working with obsidian-vault
  1. plenary.nvim
  1. printer.nvim: quickly put a print/log of the word with gpiW
  2. promise-async
  3. rainbow-delimiters.nvim
  4. refactoring.nvim: refactor code like in the book Refactoring by Martin Fowler
  5. shade.nvim: dim other pane buffer
  6. stay-in-place.nvim: maintaining the cursor position during various actions
  7. tailwind-fold.nvim
  8. tailwind-sorter.nvim
  1. template-string.nvim: auto change backtick when use template string
  2. todo-comments.nvim
  3. kanagawa.nvim: Themes
  4. treesj: splitting and joining block code efficiency
  5. trouble.nvim
  1. tw-values.nvim
  2. twilight.nvim
  3. vtsls
  4. vim-indent-object
  5. vim-python-pep8-indent
  6. vim-pythonsense
  7. vim-repeat: dot repeat for non native command
  8. vim-rooter: change project root to current file
  9. vim-speeddating
  10. vim-swap
  11. vim-table-mode
  12. which-key.nvim
  13. wrapping.nvim
  14. zen-mode.nvim