Skip to content

Instantly share code, notes, and snippets.

@stenvix
Created July 21, 2016 18:30
Show Gist options
  • Select an option

  • Save stenvix/dbe321a7129997b81beb51dc1e57f567 to your computer and use it in GitHub Desktop.

Select an option

Save stenvix/dbe321a7129997b81beb51dc1e57f567 to your computer and use it in GitHub Desktop.

Revisions

  1. stenvix created this gist Jul 21, 2016.
    123 changes: 123 additions & 0 deletions .vimrc
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,123 @@
    " Vundle

    set nocompatible
    filetype off
    set rtp+=~/.vim/bundle/vundle/
    call vundle#begin()
    Plugin 'vim-airline/vim-airline'
    Plugin 'vim-airline/vim-airline-themes'
    Plugin 'airblade/vim-gitgutter'
    Plugin 'tpope/vim-fugitive'
    "---------=== Code/project navigation ===-------------"
    Plugin 'scrooloose/nerdtree' " A tree explorer plugin for vim
    Plugin 'Xuyuanp/nerdtree-git-plugin' " A plugin of NERDTree showing git status
    "------------------=== Other ===----------------------"
    Plugin 'tpope/vim-surround' " Parentheses, brackets, quotes, XML tags, and more
    "---------------=== Languages support ===-------------"
    Plugin 'scrooloose/syntastic' " Syntax checking plugin for Vim
    Plugin 'tpope/vim-commentary' " Comment stuff out
    "---------------=== Python === -----------------------"
    Plugin 'davidhalter/jedi-vim' " Awesome Python autocompletion with VIM
    Plugin 'klen/python-mode' " Vim python-mode. PyLint, Rope, Pydoc, breakpoints from box
    Plugin 'mitsuhiko/vim-jinja' " Jinja support for vim
    Plugin 'mitsuhiko/vim-python-combined' " Combined Python 2/3 for Vim
    Plugin 'hynek/vim-python-pep8-indent' " PEP8 indent
    Plugin 'jmcantrell/vim-virtualenv'
    Plugin 'majutsushi/tagbar' "Tagbar
    "---------------=== Color scheme ===-------------------"

    Plugin 'altercation/vim-colors-solarized'
    call vundle#end()

    filetype on
    filetype plugin on
    filetype plugin indent on

    "airline config
    let g:airplane_theme='dark'
    let g:airline#extensions#tabline#enabled = 1
    let g:airline_powerline_fonts = 1

    "status line"
    set laststatus=2
    set statusline=%t "tail of the filename
    set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding
    set statusline+=%{&ff}] "file format
    set statusline+=%h "help file flag
    set statusline+=%m "modified flag
    set statusline+=%r "read only flag
    set statusline+=%y "filetype
    set statusline+=%= "left/right separator
    set statusline+=%c, "cursor column
    set statusline+=%l/%L "cursor line/total lines
    set statusline+=\ %P "percent through file
    set synmaxcol=120
    set nowrap

    " enable syntax highlighting
    syntax enable
    " enable color scheme
    colorscheme solarized
    set background=dark

    " 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
    " Set normal deletion"
    set backspace=2
    " enable all Python syntax highlighting features
    let python_highlight_all = 1
    set t_Co=256
    " NERDTree auto open
    autocmd vimenter * NERDTree
    autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
    let NERDTreeIgnore=['\.pyc$']
    " Python Mode
    let g:pymode_rope = 0

    " Documentation
    let g:pymode_doc = 0
    let g:pymode_doc_key = 'K'
    "Linting
    let g:pymode_lint = 1
    let g:pymode_lint_checkers = ['pylint', 'pep8']
    let g:pymode_lint_cwindow = 1
    let g:pymode_lint_ignore="E501,W601,C0110,C0111"
    let g:pymode_lint_write = 0

    " Support virtualenv
    let g:pymode_virtualenv = 1

    " Enable breakpoints plugin
    let g:pymode_breakpoint = 1
    let g:pymode_breakpoint_key = '<leader>b'

    " Syntax highlighting
    let g:pymode_syntax = 1
    let g:pymode_syntax_all = 1
    let g:pymode_syntax_indent_errors = g:pymode_syntax_all
    let g:pymode_syntax_space_errors = g:pymode_syntax_all

    "Vim jedy
    autocmd FileType python setlocal completeopt-=preview
    " Customize the wildmenu
    set wildmenu
    set wildignore+=*.dll,*.o,*.pyc,*.bak,*.exe,*.jpg,*.jpeg,*.png,*.gif,*$py.class,*.class,*/*.dSYM/*,*.dylib
    nmap <F8> :TagbarToggle<CR>