71 lines
1.6 KiB
Markdown
71 lines
1.6 KiB
Markdown
# Vim
|
|
|
|
This document describes my personal preference for Vim 8 setup.
|
|
|
|
## Compile Vim 8 from source and install in home directory
|
|
|
|
```bsh
|
|
# install required dependencies
|
|
sudo apt install libncurses5-dev python3-dev git
|
|
|
|
# clone vim from github repositories
|
|
git clone https://github.com/vim/vim.git
|
|
|
|
# build vim 8
|
|
cd vim
|
|
./configure --with-features=huge --enable-multibyte --enable-python3interp=yes --prefix=$HOME/.local
|
|
make
|
|
make install
|
|
|
|
# add $HOME/.local bin to PATH to prioritize Vim8
|
|
echo "export PATH=\$HOME/.local/bin:\$PATH" >> $HOME/.bashrc
|
|
```
|
|
|
|
## Setup plugins using vundle
|
|
|
|
```bash
|
|
# clone from github repositories
|
|
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
|
|
|
|
# create .vimrc configuration file in home
|
|
cd $HOME
|
|
cat << EOF > .vimrc
|
|
set nocompatible
|
|
filetype off
|
|
|
|
set rtp+=~/.vim/bundle/Vundle.vim
|
|
call vundle#begin()
|
|
|
|
Plugin 'VundleVim/Vundle.vim'
|
|
Plugin 'tpope/vim-fugitive'
|
|
Plugin 'preservim/nerdtree'
|
|
Plugin 'ycm-core/YouCompleteMe'
|
|
|
|
call vundle#end()
|
|
filetype plugin indent on
|
|
|
|
set backspace=indent,eol,start
|
|
set tabstop=4 shiftwidth=4 expandtab
|
|
set number numberwidth=4
|
|
set splitbelow
|
|
set encoding=utf-8 fileencoding=utf-8
|
|
set mouse=a
|
|
syntax on
|
|
colorscheme elflord
|
|
EOF
|
|
|
|
# install plugins
|
|
vim +PluginInstall +qall
|
|
```
|
|
|
|
# Additional config for auto-completion using YouCompleteMe
|
|
|
|
```bash
|
|
# install compile dependencies
|
|
sudo apt install build-essential cmake python-dev
|
|
|
|
# clone from github repositories and install python, go, and javascript completion
|
|
cd $HOME/.vim/bundle/YouCompleteMe
|
|
./install.py --go-completer --ts-completer --clang-completer
|
|
```
|