# Vim config Personal configuration and plugins for Vim ## Installing neovim AppImage ```bash curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage chmod u+x nvim.appimage mv nvim.appimage "$HOME/bin/." ln -s "$HOME/bin/nvim.appimage" "$HOME/bin/nvim" # Optional to avoid extension in commands # ./nvim.appimage ``` ### (Alternate) Installing on Ubuntu ```bash sudo apt-get install software-properties-common sudo add-apt-repository ppa:neovim-ppa/unstable sudo apt-get update sudo apt-get install neovim sudo apt-get install python-dev python-pip python3-dev python3-pip ``` ## Linking setup file ```bash ln -s $HOME/.vim/init.vim $HOME/.config/nvim/init.vim ``` ### Installing `vim-plug` plugin manager ```bash sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' vim -c PlugInstall -c PlugClean -c qa! # To install plugins for nvim defined in init.vim ``` Plugin definitions are in `init.vim`, inside `vim` run `:PlugInstall` to install plugins ## Enabling python support ```bash pyenv virtualenv neovim3 # Assumes working pyenv pyenv activate neovim3 pip install -U pip setuptools wheel pip install -U pynvim "python-lsp-server[all]" fortls pylsp-mypy python-lsp-black pyenv deactivate ``` ## Miscellaneous settings - Modifications in `pack/plugins/start/python-syntax` - Edit `.git/modules/pack/plugins/start/python-syntax/info/exclude` to exclude `doc` ### To use with existing `~/.vimrc` Add the following lines to neovim init file: > set runtimepath^=~/.vim runtimepath+=~/.vim/after > let &packpath = &runtimepath > source ~/.vimrc Using the following commands: > :call mkdir(stdpath('config'), 'p') > :exe 'edit '.stdpath('config').'/init.vim' From [vim documentation](https://neovim.io/doc/user/nvim.html#nvim-from-vim)