# 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 ``` ## 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' ``` 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)