.github | ||
autoload | ||
ftplugin | ||
general | ||
keys | ||
lua | ||
plug-config | ||
snips | ||
spell | ||
syntax | ||
themes | ||
utils | ||
vim-plug | ||
vimspector-config/configurations/linux/_all/java | ||
vscode | ||
.gitignore | ||
init.vim | ||
LICENSE | ||
nvcode.Dockerfile | ||
README.md |
NVCode
Install in one command
The following will install this config if you have an existing config it will move it to ~/.config/nvim.old
This script only supports Mac, Ubuntu and Arch
bash <(curl -s https://raw.githubusercontent.com/ChristianChiarulli/nvim/master/utils/install.sh)
Install Neovim
To get the latest and greatest:
cd ~
sudo rm -r neovim
git clone https://github.com/neovim/neovim
cd neovim
sudo make CMAKE_BUILD_TYPE=Release install
cd ~
sudo rm -r neovim
Clone this repo into your config
git clone https://github.com/ChristianChiarulli/nvim.git ~/.config/nvim
Install python & node support
pip install pynvim
npm i -g neovim
Install Neovim remote
pip install neovim-remote
This will install nvr
to ~/.local/bin
so you will need to add the following to your bashrc
or zshrc
export PATH=$HOME/.local/bin:$PATH
Install clipboard support
-
On Mac pbcopy should be builtin
-
Ubuntu
sudo apt install xsel
-
Arch
sudo pacman -S xsel
(Optional) Install python & node support using virtual environments
Make sure to add these paths somewhere in your config
let g:python3_host_prog = expand("<path to python with pynvim installed>")
let g:python3_host_prog = expand("~/.miniconda/envs/neovim/bin/python3.8") " <- example
let g:node_host_prog = expand("<path to node with neovim installed>")
let g:node_host_prog = expand("~/.nvm/versions/node/v12.16.1/bin/neovim-node-host") " <- example
List of programs you should install
- ranger
- ueberzug
- ripgrep
- silver_searcher
- fd
- universal-ctags
- lazy git
- lazy docker
- ninja (for lua lsp)
Explanations and installation instruction can be found on my blog
Language Servers
Some example language servers, if you just install them they will work with this config
npm i -g pyright
npm i -g bash-language-server
npm install -g vscode-css-languageserver-bin
npm install -g dockerfile-language-server-nodejs
npm install -g graphql-language-service-cli
npm install -g vscode-html-languageserver-bin
npm install -g typescript typescript-language-server
npm install -g vscode-json-languageserver
npm install -g vim-language-server
npm install -g yaml-language-server
Go here
How to install the lua language server: link
For FAR to work
:UpdateRemotePlugins
To replace in file make sure to specify %:p
To replace across project specify **/*.<your_extension>
Vim Gists
To use vim-gists you will need to configure the following:
git config --global github.user <username>
VSCodium & Neo Vim Extension
VSCodium contains build files to generate free release binaries of Microsoft's VS Code.
You can install it on multiple platforms:
-
Mac
brew cask install vscodium
-
Arch
yay -s vscodium-bin
-
Snap
snap install codium
The Neo Vim Extension is available in the VSCode marketplace
I recommend using this alongside the VSCode which-key
extension
Along with some of my config files you can find in utils/vscode_config
TODO
-
Better Documentation https://github.com/gennaro-tedesco/nvim-jqx
https://github.com/mattn/efm-langserver
https://github.com/nvim-telescope/telescope-media-files.nvim
https://github.com/b3nj5m1n/kommentary
0.5
- native lsp (in progress)
- treesitter (in progress)
LOW PRIORITY TODO
If anyone reading this has any suggestions about implementing any of the following I will accept a PR, but these are not priority.
- multiple cursors
- galaxyline automatically grab colors from colorscheme
- tpope/vim-dadbod
- neovide
- People asked about vimwiki I kinda hate it but maybe I'll add it
- vimspector this is included but I don't plan on using it much
- can be used with jdb, pdb, gdb, etc...
- nvim-dap and nvim-dap-virtual-text (ALL DEBUGGING IN NEOVIM IS CONFUSING AND HARD TO GET WORKING OR I'M JUST DUMB)
- potentially manually link pylance
- resize with arrows in addition to meta
- how to support meta key on for macOS?