Skip to content

Instantly share code, notes, and snippets.

@therako
Last active October 20, 2017 13:00
Show Gist options
  • Save therako/6646a67635477f626cd1b7c58c39adb6 to your computer and use it in GitHub Desktop.
Save therako/6646a67635477f626cd1b7c58c39adb6 to your computer and use it in GitHub Desktop.
My Full Vim config with all useful plugins
" enable syntax highlighting
syntax enable
" show line numbers
set number
" set tabs to have 4 spaces
set ts=4
" indent when moving to the next line while writing code
set autoindent
" expand tabs into spaces
set expandtab
" when using the >> or << commands, shift lines by 4 spaces
set shiftwidth=4
" show a visual line under the cursor's current line
set cursorline
" show the matching part of the pair for [] {} and ()
set showmatch
" enable all Python syntax highlighting features
let python_highlight_all = 1
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
" Add NERDTree Tabs plugin here "
Plugin 'jistr/vim-nerdtree-tabs'
Plugin 'ctrlp.vim'
Plugin 'easymotion/vim-easymotion'
Plugin 'syntastic'
Plugin 'Valloric/YouCompleteMe'
Plugin 'fatih/vim-go'
Plugin 'davidhalter/jedi-vim'
call vundle#end()
filetype plugin indent on
" skip some content ... "
" Drop NERDTree Tabs settings at the end of the config file "
" Open file via NERDTree Tabs, hot key: \t "
nmap <silent> <leader>t :NERDTreeTabsToggle<CR>
" Start NERDTree Tabs automatically "
let g:nerdtree_tabs_open_on_console_startup = 0
let g:airline#extensions#tabline#enabled = 1
" easymotion
let g:EasyMotion_smartcase = 1 " turn on case insensitive feature
let g:EasyMotion_do_mapping = 0 " disable default mappings
let g:EasyMotion_use_smartsign_us = 1 " 1 will match 1 and !
let g:EasyMotion_use_upper = 1
let g:EasyMotion_keys = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ;'
let g:EasyMotion_space_jump_first = 1
let g:EasyMotion_enter_jump_first = 1
" <Leader>f{char} to move to {char}
map <Leader>f <Plug>(easymotion-bd-f)
nmap <Leader>f <Plug>(easymotion-overwin-f)
" s{char}{char} to move to {char}{char}
nmap s <Plug>(easymotion-overwin-f2)
" Move to line
map <Leader>L <Plug>(easymotion-bd-jk)
nmap <Leader>L <Plug>(easymotion-overwin-line)
" Move to word
map <Leader>w <Plug>(easymotion-bd-w)
nmap <Leader>w <Plug>(easymotion-overwin-w)
map / <Plug>(easymotion-sn)
omap / <Plug>(easymotion-tn)
map n <Plug>(easymotion-next)
map N <Plug>(easymotion-prev)
" end of easymotion
"
" syntastic
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
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
let g:syntastic_aggregate_errors = 1
let g:syntastic_python_checkers = ['flake8', 'pyflakes']
" end of syntastic
" config youcompleteme
let g:ycm_cache_omnifunc = 1
let g:ycm_python_binary_path = 'python'
let g:ycm_key_list_select_completion=[]
let g:ycm_key_list_previous_completion=[]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment