2015-09-25 16:25:48 +02:00
|
|
|
" vim: set filetype=vim
|
|
|
|
|
|
2013-09-18 15:07:35 +02:00
|
|
|
set nocompatible
|
|
|
|
|
filetype off
|
2014-09-30 19:55:51 +02:00
|
|
|
set rtp+=~/.vim/bundle/Vundle.vim/
|
|
|
|
|
call vundle#begin()
|
|
|
|
|
|
2015-09-26 01:55:47 +02:00
|
|
|
" === plugin setup ===
|
|
|
|
|
|
2015-09-25 21:19:59 +02:00
|
|
|
Plugin 'VundleVim/Vundle.vim'
|
2013-09-18 15:07:35 +02:00
|
|
|
|
2014-09-30 19:55:51 +02:00
|
|
|
Plugin 'bling/vim-airline'
|
2015-09-25 21:19:59 +02:00
|
|
|
Plugin 'godlygeek/tabular'
|
|
|
|
|
Plugin 'lepture/vim-jinja'
|
|
|
|
|
Plugin 'majutsushi/tagbar'
|
2015-09-25 16:25:48 +02:00
|
|
|
Plugin 'nblock/vim-dokuwiki'
|
2015-09-25 21:19:59 +02:00
|
|
|
Plugin 'reedes/vim-pencil'
|
2015-09-25 16:25:48 +02:00
|
|
|
Plugin 'saltstack/salt-vim'
|
2015-09-25 21:19:59 +02:00
|
|
|
Plugin 'sickill/vim-monokai'
|
|
|
|
|
Plugin 'tpope/vim-commentary'
|
|
|
|
|
Plugin 'tpope/vim-fugitive'
|
|
|
|
|
Plugin 'tpope/vim-speeddating'
|
|
|
|
|
Plugin 'tpope/vim-surround'
|
|
|
|
|
|
2014-11-07 17:37:04 +01:00
|
|
|
"Plugin 'Lokaltog/vim-easymotion'
|
2015-09-25 21:19:59 +02:00
|
|
|
"Plugin 'PeterRincker/vim-argumentative'
|
|
|
|
|
"Plugin 'Valloric/YouCompleteMe'
|
2014-11-07 17:37:04 +01:00
|
|
|
"Plugin 'flazz/vim-colorschemes'
|
2015-09-25 21:19:59 +02:00
|
|
|
"Plugin 'jmcantrell/vim-virtualenv'
|
|
|
|
|
"Plugin 'kien/ctrlp.vim'
|
|
|
|
|
"Plugin 'klen/python-mode'
|
|
|
|
|
"Plugin 'mbbill/undotree'
|
|
|
|
|
"Plugin 'scrooloose/nerdtree'
|
|
|
|
|
"Plugin 'sjl/gundo.vim'
|
|
|
|
|
"Plugin 'terryma/vim-expand-region'
|
|
|
|
|
"Plugin 'terryma/vim-multiple-cursors'
|
|
|
|
|
"Plugin 'wellle/targets.vim'
|
|
|
|
|
"Plugin 'wincent/Command-T'
|
2015-09-25 16:25:48 +02:00
|
|
|
|
2014-09-30 19:55:51 +02:00
|
|
|
call vundle#end()
|
|
|
|
|
filetype plugin indent on
|
2014-04-17 19:38:16 +02:00
|
|
|
|
2015-09-26 01:55:47 +02:00
|
|
|
|
|
|
|
|
" === General options ===
|
|
|
|
|
|
2014-04-17 19:38:16 +02:00
|
|
|
set t_Co=256
|
2013-12-11 23:13:46 +01:00
|
|
|
|
2015-09-26 01:55:47 +02:00
|
|
|
" == tabs / spaces / indent ==
|
|
|
|
|
set tabstop=4
|
|
|
|
|
set smarttab
|
|
|
|
|
set softtabstop=4
|
|
|
|
|
set shiftround
|
|
|
|
|
set shiftwidth=4
|
2015-09-25 20:22:53 +02:00
|
|
|
set autoindent
|
|
|
|
|
set expandtab
|
2015-09-26 01:55:47 +02:00
|
|
|
set smartindent
|
|
|
|
|
|
|
|
|
|
" == ui ==
|
|
|
|
|
set cursorline
|
|
|
|
|
set showcmd
|
|
|
|
|
set number
|
|
|
|
|
set wildmode=list:longest
|
2015-09-25 21:19:59 +02:00
|
|
|
set lazyredraw
|
2015-09-26 01:55:47 +02:00
|
|
|
set wildmenu
|
|
|
|
|
set showmatch
|
|
|
|
|
set colorcolumn=80
|
|
|
|
|
set laststatus=2
|
2015-09-25 21:19:59 +02:00
|
|
|
set matchtime=5
|
2015-09-25 20:22:53 +02:00
|
|
|
set mouse=a
|
|
|
|
|
set mousehide
|
|
|
|
|
set noerrorbells
|
2015-09-26 01:55:47 +02:00
|
|
|
set showmode
|
2015-09-25 20:22:53 +02:00
|
|
|
set numberwidth=2
|
|
|
|
|
set relativenumber
|
2015-09-26 01:55:47 +02:00
|
|
|
set shortmess=rti
|
2015-09-25 20:22:53 +02:00
|
|
|
set ruler
|
|
|
|
|
set scrolloff=7
|
|
|
|
|
set title
|
|
|
|
|
set titlestring=""
|
|
|
|
|
set ttyfast
|
2015-09-26 01:55:47 +02:00
|
|
|
|
|
|
|
|
" == searching ==
|
|
|
|
|
set hlsearch
|
|
|
|
|
set incsearch
|
|
|
|
|
set gdefault
|
|
|
|
|
set ignorecase
|
|
|
|
|
set magic
|
|
|
|
|
set smartcase
|
|
|
|
|
|
|
|
|
|
" == folding ==
|
|
|
|
|
set foldenable
|
|
|
|
|
set foldmethod=indent
|
|
|
|
|
set foldnestmax=2
|
|
|
|
|
set foldlevelstart=2
|
|
|
|
|
|
|
|
|
|
" == backups ==
|
|
|
|
|
set nobackup
|
|
|
|
|
set backupcopy=no
|
|
|
|
|
set nowritebackup
|
|
|
|
|
|
|
|
|
|
" == swap ==
|
|
|
|
|
set swapfile
|
2015-09-25 20:22:53 +02:00
|
|
|
set updatecount=200
|
|
|
|
|
set updatetime=10000
|
2015-09-26 01:55:47 +02:00
|
|
|
|
|
|
|
|
" == undo ==
|
|
|
|
|
set undolevels=1000
|
|
|
|
|
set undoreload=10000
|
|
|
|
|
set undodir=~/.vim/undo
|
|
|
|
|
set undofile
|
|
|
|
|
|
|
|
|
|
" == environment / directories ==
|
|
|
|
|
set autochdir
|
|
|
|
|
set directory=/var/tmp,/tmp
|
2015-09-25 20:22:53 +02:00
|
|
|
set viewdir=~/.vim/view
|
2015-09-26 01:55:47 +02:00
|
|
|
|
|
|
|
|
" == misc ==
|
|
|
|
|
set autoread
|
|
|
|
|
set confirm
|
|
|
|
|
set encoding=utf-8
|
|
|
|
|
set history=1000
|
|
|
|
|
set modeline
|
|
|
|
|
set modelines=5
|
|
|
|
|
set notildeop
|
2015-09-25 20:22:53 +02:00
|
|
|
set wildignore=*.swp,*.bak,*.pyc,*~,*.o
|
2015-09-26 01:55:47 +02:00
|
|
|
set hidden
|
|
|
|
|
|
|
|
|
|
" == editing ==
|
|
|
|
|
set backspace=indent,eol,start
|
|
|
|
|
set esckeys
|
|
|
|
|
set matchpairs="(:),{:},[:],<:>"
|
|
|
|
|
set notimeout
|
|
|
|
|
set ttimeout
|
|
|
|
|
set timeoutlen=1000
|
|
|
|
|
set ttimeoutlen=0
|
|
|
|
|
set virtualedit=block
|
|
|
|
|
|
|
|
|
|
" == line breaking ==
|
|
|
|
|
set linebreak
|
2015-09-25 20:22:53 +02:00
|
|
|
set wrap
|
|
|
|
|
set wrapscan
|
2015-09-26 01:55:47 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
" === keybinds ===
|
|
|
|
|
set pastetoggle=<F11>
|
|
|
|
|
|
2014-06-14 00:26:03 +02:00
|
|
|
let mapleader = "\<Space>"
|
2015-09-25 20:22:53 +02:00
|
|
|
map <leader>w: w!<cr>
|
|
|
|
|
|
2015-09-26 01:55:47 +02:00
|
|
|
nnoremap <leader>w :w<CR>
|
|
|
|
|
nmap <leader><leader> za
|
2014-06-14 00:26:03 +02:00
|
|
|
map , :
|
|
|
|
|
|
|
|
|
|
vnoremap <silent> y y`]
|
|
|
|
|
vnoremap <silent> p p`]
|
|
|
|
|
nnoremap <silent> p p`]
|
|
|
|
|
|
|
|
|
|
nnoremap <leader>, :nohlsearch<CR>
|
2013-09-24 18:40:40 +02:00
|
|
|
|
2014-06-14 00:26:03 +02:00
|
|
|
noremap gV `[v`]
|
2013-09-18 15:07:35 +02:00
|
|
|
|
2015-09-25 20:22:53 +02:00
|
|
|
map Y y$
|
|
|
|
|
map j gj
|
|
|
|
|
map k gk
|
2013-09-18 15:07:35 +02:00
|
|
|
|
2013-12-11 23:13:46 +01:00
|
|
|
nnoremap <C-h> <C-w>h
|
|
|
|
|
nnoremap <C-j> <C-w>j
|
|
|
|
|
nnoremap <C-k> <C-w>k
|
|
|
|
|
nnoremap <C-l> <C-w>l
|
|
|
|
|
|
2014-11-07 17:37:04 +01:00
|
|
|
nmap <C-n> :bnext<CR>
|
|
|
|
|
nmap <C-p> :bprev<CR>
|
|
|
|
|
|
2014-06-14 00:26:03 +02:00
|
|
|
inoremap jj <ESC>
|
|
|
|
|
|
|
|
|
|
nnoremap <leader>v <C-w>v<C-w>l
|
|
|
|
|
|
2014-11-07 17:37:04 +01:00
|
|
|
nmap ; :CtrlPBuffer<CR>
|
|
|
|
|
|
2014-06-14 00:26:03 +02:00
|
|
|
" no more ex mode
|
|
|
|
|
nnoremap Q <nop>
|
|
|
|
|
|
2015-09-26 01:55:47 +02:00
|
|
|
" === autocommands ===
|
|
|
|
|
|
|
|
|
|
" autosave views when closing and restoring when opening again.
|
|
|
|
|
autocmd BufWinLeave *.* mkview
|
|
|
|
|
autocmd BufWinEnter *.* silent loadview
|
|
|
|
|
|
|
|
|
|
" === plugin setup ===
|
|
|
|
|
|
|
|
|
|
" == colorscheme ==
|
2015-09-25 20:22:53 +02:00
|
|
|
set background=dark
|
|
|
|
|
let g:solarized_termcolors=16
|
|
|
|
|
let g:solarized_termtrans=1
|
|
|
|
|
let g:solarized_contrast="normal"
|
|
|
|
|
let g:solarized_visibility="normal"
|
|
|
|
|
syntax enable
|
|
|
|
|
colorscheme monokai
|
|
|
|
|
|
2015-09-26 01:55:47 +02:00
|
|
|
" == tagbar ==
|
2015-09-25 21:19:59 +02:00
|
|
|
nnoremap <F10> :TagbarToggle<CR>
|
|
|
|
|
let g:tagbar_map_jump = "i"
|
|
|
|
|
let g:tagbar_left = 0
|
|
|
|
|
let g:tagbar_vertical = 0
|
|
|
|
|
let g:tagbar_width = 50
|
|
|
|
|
let g:tagbar_autoclose = 1
|
|
|
|
|
let g:tagbar_autofocus = 1
|
|
|
|
|
let g:tagbar_sort = 0 " 1: sort by name, 0: sort by position
|
|
|
|
|
let g:tagbar_compact = 1
|
|
|
|
|
let g:tagbar_indent = 2
|
|
|
|
|
let g:tagbar_show_linenumbers = 0
|
|
|
|
|
let g:tagbar_foldlevel = 99 " unfold all
|
|
|
|
|
|
2015-09-26 01:55:47 +02:00
|
|
|
" == airline ==
|
2015-09-25 21:19:59 +02:00
|
|
|
let g:airline_right_sep = ''
|
|
|
|
|
let g:airline_left_sep = ''
|
|
|
|
|
let g:airline#extensions#disable_rtp_load = 1
|
|
|
|
|
let g:airline_extensions = ['whitespace']
|
2015-09-25 20:22:53 +02:00
|
|
|
let g:airline_theme='powerlineish'
|
2015-09-25 21:19:59 +02:00
|
|
|
let g:airline_section_x = airline#section#create(['%{tagbar#currenttag("%s", "", "f")}','' , ' %{PencilMode()}', ' [', 'filetype', ']'])
|
2015-09-25 20:22:53 +02:00
|
|
|
let g:pencil#mode_indicators = {'hard': 'H', 'auto': 'A', 'soft': 'S', 'off': '',}
|
2015-09-25 21:19:59 +02:00
|
|
|
let g:airline#extensions#whitespace#enabled = 1
|
|
|
|
|
let g:airline#extensions#whitespace#symbol = ''
|
|
|
|
|
let g:airline#extensions#whitespace#checks = ['trailing']
|
|
|
|
|
|
2015-09-26 01:55:47 +02:00
|
|
|
" === functions ===
|
2015-09-25 21:19:59 +02:00
|
|
|
function! DeleteTrailingWS()
|
|
|
|
|
exe "normal mz"
|
|
|
|
|
%s/\s\+$//e
|
|
|
|
|
exe "normal `z"
|
|
|
|
|
endfunction
|
|
|
|
|
autocmd BufWrite * :call DeleteTrailingWS()
|