- my neovim setup with
- lazy.nvim
- null-ls for formatting
- mason for managing lsp
- harpoon for file navigation
- noice for floating cmdline
- lualine for status line
- configs for plugin can be found under
lua/plugins
- for rust, python, golang, lua and typescript dev
- pip & pynvim:
python3 -m pip install --user --upgrade pynvim
- black: for python formatting
- npm (used by mason)
- build-essential(gcc, git, etc.)
- ripgrep
- fzf
- golangci-lint & golangci-lint-langserver
- for ts_ls:
npm install -g typescript
- for solidity:
npm install -g @nomicfoundation/solidity-language-server
- see this
- to 01/14/2023, mason.nvim doesn't officially support
ensure_installed
(see this issue)- need to manually install codelldb via
MasonInstall codelldb
and ensure$PATH
includes~/.local/share/nvim/mason/bin
- need to manually install codelldb via
- why neo-tree instead of chadtree, nvim-tree and nerdtree for file management?
- chadtree doesn't support open a dir
- nvim-tree doesn't support to enter a dir in the tree
- nerdtree is no longer maintained (actually I like it)
- why
leap.nvim
instead ofeasymotion
,vim-sneak
,hop.nvim
for metajump?- when I switch to lua config and lazy.nvim,
vim-sneak
stop working. hop.nvim
is buggyleap.nvim
is more actively maintained, and the design is better
- when I switch to lua config and lazy.nvim,
- why nvim-cmp instead of coq.nvim, mini.completion for autocompletion?
- coq.nvim makes my neovim crash from time to time; nvim-cmp never.
- mini.completion is neat, but it's not as feature-rich as nvim-cmp.
- why nvim-dap instead of vim-inspector?
- more convenient to debug unit tests
- about neovim's folding
- here expr fold is used
- my leaderF doesn't work
- execute
:checkhealth
and see pynvim is ok or not
- execute