Last active
December 13, 2018 05:12
-
-
Save simbalinux/302ac66fc85c238d9d9f02e27685ff7e to your computer and use it in GitHub Desktop.
vim8_loaded
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set nocompatible " be iMproved, required | |
filetype off " required | |
set exrc | |
set encoding=UTF-8 | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
" ==== plugin manager | |
Plugin 'VundleVim/Vundle.vim' | |
" ==== helpers | |
Plugin 'vim-scripts/L9' | |
" ==== File tree | |
Plugin 'scrooloose/nerdtree' | |
" ==== Completion | |
Plugin 'Valloric/YouCompleteMe' | |
" ==== Git | |
Plugin 'airblade/vim-gitgutter' | |
Plugin 'tpope/vim-fugitive' | |
" ==== syntax helpers | |
Plugin 'scrooloose/syntastic' | |
Plugin 'tpope/vim-surround' | |
Plugin 'cakebaker/scss-syntax.vim' | |
Plugin 'othree/yajs.vim' | |
Plugin 'mitsuhiko/vim-jinja' | |
Plugin 'octol/vim-cpp-enhanced-highlight' | |
Plugin 'ap/vim-css-color' | |
Plugin 'Vimjas/vim-python-pep8-indent' | |
Plugin 'python-rope/rope' | |
Plugin 'python-rope/ropemode' | |
Plugin 'python-rope/ropevim' | |
Plugin 'klen/pylama' | |
" ==== moving / searching | |
Plugin 'easymotion/vim-easymotion' | |
Plugin 'kien/ctrlp.vim' | |
Plugin 'ervandew/supertab' | |
Plugin 'terryma/vim-multiple-cursors' | |
" ==== snippets | |
Plugin 'SirVer/ultisnips' | |
" Status bar on bottom | |
Plugin 'bling/vim-airline' | |
" ==== PLUGIN THEMES | |
Plugin 'morhetz/gruvbox' | |
call vundle#end() | |
filetype plugin indent on | |
" ==== Colors and other basic settings | |
colorscheme gruvbox | |
set guifont=Monospace\ 10 | |
set fillchars+=vert:\$ | |
syntax enable | |
set background=dark | |
set ruler | |
set hidden | |
set number | |
set laststatus=2 | |
set smartindent | |
set st=4 sw=4 et | |
set shiftwidth=4 | |
set tabstop=4 | |
let &colorcolumn="80" | |
:set guioptions-=m "remove menu bar | |
:set guioptions-=T "remove toolbar | |
:set guioptions-=r "remove right-hand scroll bar | |
:set guioptions-=L "remove left-hand scroll bar | |
:set lines=999 columns=999 | |
" ==== NERDTREE | |
let NERDTreeIgnore = ['__pycache__', '\.pyc$', '\.o$', '\.so$', '\.a$', '\.swp', '*\.swp', '\.swo', '\.swn', '\.swh', '\.swm', '\.swl', '\.swk', '\.sw*$', '[a-zA-Z]*egg[a-zA-Z]*', '.DS_Store'] | |
let NERDTreeShowHidden=1 | |
let g:NERDTreeWinPos="left" | |
let g:NERDTreeDirArrows=0 | |
map <C-t> :NERDTreeToggle<CR> | |
" ==== Syntastic | |
let g:syntastic_always_populate_loc_list = 1 | |
let g:syntastic_auto_loc_list = 1 | |
let g:syntastic_check_on_open = 1 | |
let g:syntastic_check_on_wq = 0 | |
set statusline+=%#warningmsg# | |
set statusline+=%{SyntasticStatuslineFlag()} | |
set statusline+=%* | |
let g:syntastic_javascript_checkers = ['eslint'] | |
let g:syntastic_javascript_mri_args = "--config=$HOME/.jshintrc" | |
let g:syntastic_python_checkers = [ 'pylint', 'flake8', 'pep8', 'python'] | |
let g:syntastic_yaml_checkers = ['jsyaml'] | |
let g:syntastic_html_tidy_exec = 'tidy5' | |
" === flake8 | |
let g:flake8_show_in_file=1 | |
" ==== snippets | |
" If you want :UltiSnipsEdit to split your window. | |
let g:UltiSnipsEditSplit="vertical" | |
" make YCM compatible with UltiSnips (using supertab) | |
let g:ycm_key_list_select_completion = ['<C-n>', '<Down>'] | |
let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>'] | |
let g:SuperTabDefaultCompletionType = '<C-n>' | |
" better key bindings for UltiSnipsExpandTrigger | |
let g:UltiSnipsExpandTrigger = "<tab>" | |
let g:UltiSnipsJumpForwardTrigger = "<tab>" | |
let g:UltiSnipsJumpBackwardTrigger = "<s-tab>" | |
" ==== Easymotion | |
let g:EasyMotion_do_mapping = 0 | |
let g:EasyMotion_smartcase = 1 | |
nmap f <Plug>(easymotion-s) | |
" ==== moving around | |
nmap <silent> <A-Up> :wincmd k<CR> | |
nmap <silent> <A-Down> :wincmd j<CR> | |
nmap <silent> <A-Left> :wincmd h<CR> | |
nmap <silent> <A-Right> :wincmd l<CR> | |
" ==== disable mouse | |
set mouse=c | |
" ==== disable swap file warning | |
set shortmess+=A | |
" ==== custom commands | |
command JsonPretty execute ":%!python -m json.tool" | |
set secure |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# set version | |
git_version="v8.0.1522" | |
# install necessary pacakges | |
sudo -y yum install gcc-c++ ncurses-devel python-devel git cmake | |
# ubuntu systems | |
# sudo apt-get install g++ libncurses-dev python-dev cmake | |
# get source for vim8 | |
git clone https://github.com/vim/vim.git | |
cd vim/src && git checkout "$git_version" | |
# configure | |
./configure \ | |
--disable-nls \ | |
--enable-cscope \ | |
--enable-gui=no \ | |
--enable-multibyte \ | |
--enable-pythoninterp \ | |
--enable-rubyinterp \ | |
--prefix=/home/"$USER"/.local/vim \ | |
--with-features=huge \ | |
--with-python-config-dir=/usr/lib/python2.7/config \ | |
--with-tlib=ncurses \ | |
--without-x | |
make && make install | |
# upddate .bashrc w/ --prefix=/home/"$USER"/.local/vim | |
echo ' | |
if [ -d "$HOME/.local/vim/bin/" ] ; then | |
PATH="$HOME/.local/vim/bin/:$PATH" | |
fi' >> ~/.bashrc | |
# source it! | |
source ~/.bashrc | |
# install vim plugin manager | |
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim | |
# .vimrc file located in cwd ./sample_vimrc | |
cp -rf ./sample_vimrc /home/"$USER"/.vimrc | |
# requirements for youcompleteme plugin | |
cd /home/$USER/.vim/bundle/YouCompleteMe && bash -x install.sh | |
# run vim; inside vim run :PluginInstall to install YoucompleteMe then run script on final line |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment