Created
December 10, 2016 01:05
-
-
Save gauden/b33fd6f0403628ff1839e939866c4653 to your computer and use it in GitHub Desktop.
Vim configuration gleaned from multiple sources
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
"vundle | |
set nocompatible | |
filetype off | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
Plugin 'VundleVim/Vundle.vim' | |
"git interface | |
Plugin 'tpope/vim-fugitive' | |
"filesystem | |
Plugin 'scrooloose/nerdtree' | |
Plugin 'jistr/vim-nerdtree-tabs' | |
Plugin 'kien/ctrlp.vim' | |
"html | |
" isnowfy only compatible with python not python3 | |
Plugin 'isnowfy/python-vim-instant-markdown' | |
Plugin 'jtratner/vim-flavored-markdown' | |
Plugin 'suan/vim-instant-markdown' | |
Plugin 'nelstrom/vim-markdown-preview' | |
"python sytax checker | |
Plugin 'nvie/vim-flake8' | |
Plugin 'vim-scripts/Pydiction' | |
Plugin 'vim-scripts/indentpython.vim' | |
Plugin 'scrooloose/syntastic' | |
"auto-completion stuff | |
"Plugin 'klen/python-mode' | |
Plugin 'Valloric/YouCompleteMe' | |
Plugin 'klen/rope-vim' | |
"Plugin 'davidhalter/jedi-vim' | |
Plugin 'ervandew/supertab' | |
""code folding | |
Plugin 'tmhedberg/SimpylFold' | |
" Themes | |
Plugin 'altercation/vim-colors-solarized' | |
Plugin 'jnurmine/Zenburn' | |
call vundle#end() | |
filetype plugin indent on " enables filetype detection | |
let g:SimpylFold_docstring_preview = 1 | |
"autocomplete | |
let g:ycm_autoclose_preview_window_after_completion=1 | |
" custom keys and settings | |
let mapleader="\<Space>" | |
map <leader>g :YcmCompleter GoToDefinitionElseDeclaration<CR> | |
set tabstop=4 | |
set shiftwidth=4 | |
set softtabstop=4 | |
set expandtab | |
inoremap jk <ESC> | |
call togglebg#map("<F5>") | |
set guifont=Menlo:h14 | |
if has('gui_running') | |
set background=dark | |
colorscheme solarized | |
else | |
colorscheme zenburn | |
endif | |
let NERDTreeIgnore=['\.pyc$', '\~$'] "ignore files in NERDTree | |
"I don't like swap files | |
set noswapfile | |
"turn on numbering | |
set nu | |
"python with virtualenv support | |
py << EOF | |
import os.path | |
import sys | |
import vim | |
if 'VIRTUA_ENV' in os.environ: | |
project_base_dir = os.environ['VIRTUAL_ENV'] | |
sys.path.insert(0, project_base_dir) | |
activate_this = os.path.join(project_base_dir,'bin/activate_this.py') | |
execfile(activate_this, dict(__file__=activate_this)) | |
EOF | |
"it would be nice to set tag files by the active virtualenv here | |
":set tags=~/mytags "tags for ctags and taglist | |
"omnicomplete | |
autocmd FileType python set omnifunc=pythoncomplete#Complete | |
"------------Start Python PEP 8 stuff---------------- | |
" Number of spaces that a pre-existing tab is equal to. | |
au BufRead,BufNewFile *py,*pyw,*.c,*.h set tabstop=4 | |
"spaces for indents | |
au BufRead,BufNewFile *.py,*pyw set shiftwidth=4 | |
au BufRead,BufNewFile *.py,*.pyw set expandtab | |
au BufRead,BufNewFile *.py set softtabstop=4 | |
" Use the below highlight group when displaying bad whitespace is desired. | |
highlight BadWhitespace ctermbg=red guibg=red | |
" Display tabs at the beginning of a line in Python mode as bad. | |
au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/ | |
" Make trailing whitespace be flagged as bad. | |
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/ | |
" Wrap text after a certain number of characters | |
au BufRead,BufNewFile *.py,*.pyw, set textwidth=100 | |
" Use UNIX (\n) line endings. | |
au BufNewFile *.py,*.pyw,*.c,*.h set fileformat=unix | |
" Set the default file encoding to UTF-8: | |
set encoding=utf-8 | |
" For full syntax highlighting: | |
let python_highlight_all=1 | |
syntax on | |
" Keep indentation level from previous line: | |
autocmd FileType python set autoindent | |
" make backspaces more powerfull | |
set backspace=indent,eol,start | |
"Folding based on indentation: | |
autocmd FileType python set foldmethod=indent | |
"use space to open folds | |
nnoremap <space> za | |
"----------Stop python PEP 8 stuff-------------- | |
"js stuff" | |
autocmd FileType javascript setlocal shiftwidth=2 tabstop=2 | |
" set spell check on by default for Markdown files | |
autocmd BufRead,BufNewFile *.md setlocal spell spelllang=en_gb | |
" Navigate between split windows | |
nnoremap <C-J> <C-W><C-J> | |
nnoremap <C-K> <C-W><C-K> | |
nnoremap <C-L> <C-W><C-L> | |
nnoremap <C-H> <C-W><C-H> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment