Normal usage.
Minimal, focussed sessions with Goyo.
Multi-windowed editing with NerdTree and TagBar sidebars.
Run ./install.sh
#!/bin/bash -e
# Make config directory for Neovim's init.vim
mkdir -p ~/.config/nvim
# Install nvim (and its dependencies: pip3, git), Python 3 and ctags (for tagbar)
sudo apt update
sudo apt install neovim python3 python3-pip git curl exuberant-ctags -y
# Install virtualenv to containerize dependencies
python3 -m pip install virtualenv
python3 -m virtualenv -p python3 ~/.config/nvim/env
# Install pip modules for Neovim within the virtual environment created
source ~/.config/nvim/env/bin/activate
pip install neovim==0.2.6 jedi psutil setproctitle yapf
deactivate
# Install vim-plug plugin manager
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
# (Optional but recommended) Install a nerd font for icons and a beautiful airline bar (https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts) (I'll be using Iosevka for Powerline)
curl -fLo ~/.fonts/Iosevka\ Term\ Nerd\ Font\ Complete.ttf --create-dirs https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Iosevka/Regular/complete/Iosevka%20Term%20Nerd%20Font%20Complete.ttf
# (Optional) Alias vim -> nvim
echo "alias vim='nvim'" >> ~/.bashrc
# Enter Neovim and install plugins using a temporary init.vim, which avoids warnings about missing colorschemes, functions, etc
sed '/call plug#end/q' init.vim > ~/.config/nvim/init.vim
nvim -c ':PlugInstall' -c ':UpdateRemotePlugins' -c ':qall'
rm ~/.config/nvim/init.vim
# Copy init.vim in current working directory to nvim's config location ...
cp init.vim ~/.config/nvim/Update plugins (super simple)
nvim
:PlugUpdate
(Optional) Clean plugins - Deletes unused plugins
nvim
:PlugClean
(Optional) Check, download and install the latest vim-plug
nvim
:PlugUpgrade
(Optional) Pull my updates if you want my new modifications
git pull
cp init.vim ~/.config/nvim/- Colorschemes may not be rendered
- Changing fonts may be harder (https://unix.stackexchange.com/a/49823), if you do not intend to do customize your font, you should uncomment the devicons plugin within "init.vim" (
" Plug 'ryanoasis/vim-devicons')
Most custom commands expand off my map leader, keeping nvim as vanilla as possible.
,- Map leader, nearly all my custom mappings starts with pressing the comma key,q- Sidebar filetree viewer (NERDTree),w- Sidebar classes, functions, variables list (TagBar)\- Toggle both NERDTree and TagBar,ee- Change colorscheme (with fzf fuzzy finder),ea- Change Airline theme,e1- Color mode: Dracula (Dark),e2- Color mode: Seoul256 (Between Dark & Light),e3- Color mode: Forgotten (Light),e4- Color mode: Zazen (Black & White),r- Refresh/source ~/.config/nvim/init.vim,t- Trim all trailing whitespaces,a- Auto align variables (vim-easy-align), eg. do,a=while your cursor is on a bunch of variables to align their equal signs,s- New terminal in horizontal split,vs- New terminal in vertical split,d- Automatically generate Python docstrings while cursor is hovering above a function or class,f- Fuzzy find a file (fzf),g- Toggle Goyo mode (Goyo), super clean and minimalistic viewing mode,h- Toggle rainbow parentheses highlighting,j- Set filetype to "journal" which makes the syntax highlighting beautiful when working on regular text files and markdown,k- Toggle coloring of hex colors,l- Toggle Limelight mode (Limelight), highlight the lines near cursor only,c<Space>- Toggle comment for current line (Nerd Commenter)<Alt-r>- Toggle RGB color picker<Tab>- Next buffer<Shift-Tab>- Previous buffer
More commmands at https://github.com/Optixal/.vim/blob/master/reference/commands_vim.txt


