2.4 KiB
2.4 KiB
⚙️ My Neovim Configuration
This is my personal neovim configuration and it's unlikely to be perfect for your use case.
What is in it?
- Kickstart: based configuration
- Neovimacs: modeless editing support, with common Emacs bindings in insert mode
- Esc: to toggle between insert (emacs bindings) and normal (neovim mode)
- Tabs: Prev (F1), Next (F2), New (F3), and Close (F4) to jump around
- Tool Tabs: Terminal (F5)
- Movement: Arrows and Tabs (and, yes, I know)
- Batteries: Python LSP, completion, treesitter
📦 Installation
Prep
Neovim >= 0.10 or later is required, you may need to get it from the Neovim PPA or similar:
sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt-get update
sudo apt-get install neovim
Suggested Packages:
sudo apt install -y cargo gcc python3-pip python3-venv git make unzip ripgrep gzip wget curl fd-find npm xclip
sudo npm install -g tree-sitter-cli
If you have an old version of NodeJS, pick up a new one:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Optional based on use-case:
sudo apt install -y golang luarocks cargo nodejs clang python3-pynvim
Cloning
cd ~/.config
git clone https://github.com/millerjason/neovimrc.git
ln -s neovimrc nvim
Maint
:Lazy - upgrade packages
:Mason - build external tools
Life with Neovim
Do you have everything and is it working correctly?
Checking overall health and options:
:checkhealth
:Telescope vim_options
:lua print(vim.inspect(vim.opt.XXXX))
Beyond which-key, you can use the following nvim commands to help you track down key bindings and resolve conflicts:
:verbose imap <C-n> -- for insert mode
:verbose nmap <C-n> -- for normal mode
:nmap <localleader> -- to see leader commands
:WhichKey -- see above
:lua = <expr> -- run lua expression
Use nvim -u NONE -U NONE -N -i NONE
to test with w/o config if things go wrong.
Recommended Visits
:help <module> -- help for modules
:help telescope.setup() -- help for the setup section
:Telescope help_tags -- search help
References
Kickstart: kickstart.nvim Kickstart Video: Get Started with Neovim Docs: https://neovim.io/doc/user/