Note! This is a config file on Ubuntu 22.04 on WSL2. If you use another system, you may need some changes to it.
Although contents in here still valid, many of the plugins I use now aren't updated to this listπ’ I'll try to find a time to do it.
Plugins installed using vim-plug
[β] coc: Code linting, code complete, error checking and more!
[β] vim-easy-align: Align your code with ease
[β] nerdcommenter: Comment code with ease
[β] FastFold: Recognizes languages and create folds
[β] tagbar: Navigate around code (disabled currently as I'm not using it)
[β] vim-stay: Memorized page position, cursor position, folds' status
[β] vim-javascript: JavaScript bundle for vim (Never used. Disabled currently)
[β] rainbow: Colorful parentheses, brackets... for locate with ease
[β] easymotion: Move your cursor faster and easier
[β] nerdtree: File explorer
[β] nerdtree-git-plugin: Show Git status in NERDTree
[β] vim-devicons: Prettified icons for various file types
[β] vim-surround: Manipulate parentheses, brackets... around texts
[β²] vim-expand-region: Expand and shrink selection somewhat like IntelliJ's Select code constructs, but can be improved
[β] vim-textobj-user: Define text-objects
on your own
[β] vim-textobj-line: Make entire line as a text-objects
[β] VimSpector: Debug right in Vim
[β] vim-snippets: Snippets for expressing ideas in few key strokes
[β] endwise.vim: Close pairs when hitting <enter>
in insert mode
[β] SimpylFold: Fold class and function definitions in Python
[β] markdown-preview.nvim: Preview markdown on-the-fly
[β] vim-monokai: Beautiful dark theme
[β] Powerline: Multi-function status line. (Using vim-airline instead as it's hard to config)
[β²] line mover: Move line using ctrl+UP
and ctrl+DOWN
. (Indentation might be wrong)
[β] WSL yank: Copy yanked content to Windows clipboard w/o installing other programs
[β] matchit.vim: Use % to jump between correspond surrounds and if, else if, else
[β] fzf: The fuzzy finder
This guide allows you to install Node.js using nvm
sudo apt install curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/<version>/install.sh | bash
for example
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
command -v nvm
This should gives you nvm
. If it fails to do so, please take a look at their GitHub page
nvm ls
way1: install LTS-version
nvm install --lts
way2: install newest version (may contain bugs)
nvm install node
nvm ls
Now, you should be able to see it.
credit goes to Microsoft
git clone https://github.com/powerline/powerline.git
cd powerline
git checkout $(git rev-list --tags --max-count=1)
The above line receives hash of the last release commit, and make the files conform with it
pip install -e .
Put this line in your .bashrc
or something alike
export PATH="$HOME/.local/bin:$PATH"
Follow their guide to get a font. Then, change settings of your Windows Terminal
If you use git, it's nice to turn it on to improve performance a lot. To do so, put this in your .bashrc
or something alike.
powerline-daemon -q
Plugins using vim-plug
step2: Upgrade vim-plug itself by :PlugUpgrade
Personally, I use git
to pull newest releases. Head over their guide and everything explained
- It seems that it's recommended to use GDB rather than LLDB on linux
sudo apt install gdb
- If you want to use default settings for C/C++/C#/Rust, link the file to appropriate location
cd ~/.vim/plugged/vimspector/configurations/linux/_all
ln -s ../../../../../vimspector.json vimspector.json