Files
dotfiles/vim/vimrc

271 lines
5.8 KiB
VimL
Raw Normal View History

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()
Plugin 'gmarik/vundle'
2013-09-18 15:07:35 +02:00
2014-09-30 19:55:51 +02:00
Plugin 'sickill/vim-monokai'
2015-09-25 20:22:53 +02:00
"Plugin 'mbbill/undotree'
"Plugin 'scrooloose/nerdtree'
2014-09-30 19:55:51 +02:00
Plugin 'tpope/vim-surround'
Plugin 'tpope/vim-commentary'
Plugin 'Valloric/YouCompleteMe'
Plugin 'godlygeek/tabular'
Plugin 'bling/vim-airline'
Plugin 'tpope/vim-speeddating'
2015-09-25 20:22:53 +02:00
" Plugin 'tpope/vim-fugitive'
2014-09-30 19:55:51 +02:00
Plugin 'klen/python-mode'
2015-09-25 16:25:48 +02:00
Plugin 'nblock/vim-dokuwiki'
Plugin 'saltstack/salt-vim'
Plugin 'lepture/vim-jinja'
2014-11-07 17:37:04 +01:00
"Plugin 'terryma/vim-expand-region'
"Plugin 'wincent/Command-T'
"Plugin 'sjl/gundo.vim'
2014-09-30 19:55:51 +02:00
Plugin 'kien/ctrlp.vim'
2014-11-07 17:37:04 +01:00
"Plugin 'PeterRincker/vim-argumentative'
"Plugin 'wellle/targets.vim'
"Plugin 'Lokaltog/vim-easymotion'
"Plugin 'terryma/vim-multiple-cursors'
"Plugin 'flazz/vim-colorschemes'
2015-09-25 16:25:48 +02:00
Plugin 'reedes/vim-pencil'
2014-09-30 19:55:51 +02:00
call vundle#end()
filetype plugin indent on
2014-04-17 19:38:16 +02:00
set t_Co=256
2013-12-11 23:13:46 +01:00
2015-09-25 20:22:53 +02:00
set autochdir
set autoindent
set autoread
set backspace=indent,eol,start
set backupcopy=no
set colorcolumn=79
2015-09-25 20:22:53 +02:00
set colorcolumn=80
set confirm
set cursorline
set directory=/var/tmp,/tmp
set encoding=utf-8
set esckeys
set expandtab
set foldenable
set foldmethod=indent
set foldnestmax=2
set gdefault
set hidden
set history=1000
set hlsearch
set ignorecase
set incsearch
set laststatus=2
set linebreak
set matchpairs="(:),{:},[:],<:>"
set modeline
2015-09-25 16:25:48 +02:00
set modelines=5
2015-09-25 20:22:53 +02:00
set mouse=a
set mousehide
set nobackup
set noerrorbells
set nofoldenable
set noshowmode
set notildeop
set notimeout
2013-09-18 15:07:35 +02:00
set nowritebackup
2015-09-25 20:22:53 +02:00
set number
set numberwidth=2
set pastetoggle=<F11>
set relativenumber
set ruler
set scrolloff=7
set shiftround
set shiftwidth=4
set shortmess=rti
set showcmd
set showmatch
set matchtime=5
set showmode
set smartcase
set lazyredraw
set smarttab
set softtabstop=4
set swapfile
set tabstop=4
set title
set titlestring=""
set ttimeout
set ttimeoutlen=50
set ttyfast
set undodir=~/.vim/undo
set undofile
set undolevels=1000
set undoreload=10000
set updatecount=200
set updatetime=10000
set viewdir=~/.vim/view
set virtualedit+="block"
set virtualedit="onemore,all"
set whichwrap+=h,l
set wildignore=*.swp,*.bak,*.pyc,*~,*.o
set wildmenu
set wildmode=list:longest
set wrap
set wrapscan
set magic
2013-09-24 18:40:40 +02:00
2014-06-14 00:26:03 +02:00
let mapleader = "\<Space>"
2015-09-25 20:22:53 +02:00
map <leader>w: w!<cr>
2014-06-14 00:26:03 +02:00
nnoremap <Leader>w :w<CR>
vmap <Leader>y "+y
vmap <Leader>d "+d
nmap <Leader>p "+p
nmap <Leader>P "+P
vmap <Leader>p "+p
vmap <Leader>P "+P
nmap <Leader><Leader> za
map , :
vmap v <Plug>(expand_region_expand)
vmap <C-v> <Plug>(expand_region_shrink)
vnoremap <silent> y y`]
vnoremap <silent> p p`]
nnoremap <silent> p p`]
2013-09-18 15:07:35 +02:00
2013-09-24 18:40:40 +02:00
" enable 'very-magic' in regex
2014-06-14 00:26:03 +02:00
"nnoremap / /\v
"vnoremap / /\v
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
2013-09-24 18:40:40 +02:00
" make Y behave like other capitals, otherwise Y would work like yy
2015-09-25 20:22:53 +02:00
map Y y$
2013-09-24 18:40:40 +02:00
2015-09-25 20:22:53 +02:00
map j gj
map k gk
2013-09-18 15:07:35 +02:00
2014-06-14 00:26:03 +02:00
"function! TrimWhiteSpace()
" %s/\s\+$//e
"endfunction
2013-09-24 18:40:40 +02:00
" automatically reload .vimrc when it's saved
autocmd BufWritePost .vimrc source ~/.vimrc
2014-06-14 00:26:03 +02:00
"autocmd FileWritePre * :call TrimWhiteSpace()
"autocmd FileAppendPre * :call TrimWhiteSpace()
"autocmd FilterWritePre * :call TrimWhiteSpace()
"autocmd BufWritePre * :call TrimWhiteSpace()
" Start NERDTree when starting vim
"autocmd vimenter * NERDTree
2013-12-11 23:13:46 +01:00
"autocmd VimEnter * wincmd p
2014-06-14 00:26:03 +02:00
let NERDTreeQuitOnOpen = 1
" close NERDTree when it's the only window left
2014-06-14 00:26:03 +02:00
"autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
2013-12-11 23:13:46 +01:00
2014-06-14 00:26:03 +02:00
"call togglebg#map("<F5>")
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
nnoremap <F3> :NERDTreeToggle<CR>
2014-06-14 00:26:03 +02:00
nnoremap <F4> :TagbarToggle<CR>
2013-12-11 23:13:46 +01:00
" Autosave views when closing and restoring when opening again.
autocmd BufWinLeave *.* mkview
autocmd BufWinEnter *.* silent loadview
2014-06-14 00:26:03 +02:00
":inoremap <expr> <CR> pumvisible() ? '<C-e><CR>' : '<CR>'
":au WinEnter * :setlocal number relativenumber
":au WinLeave * :setlocal nonumber norelativenumber
2014-11-07 17:37:04 +01:00
""nnoremap <up> <nop>
""nnoremap <down> <nop>
""nnoremap <left> <nop>
""nnoremap <right> <nop>
""inoremap <up> <nop>
""inoremap <down> <nop>
""inoremap <left> <nop>
""inoremap <right> <nop>
nmap <C-n> :bnext<CR>
nmap <C-p> :bprev<CR>
" default emacs movements for command line
cnoremap <C-a> <Home>
cnoremap <C-b> <Left>
cnoremap <C-f> <Right>
cnoremap <C-d> <Delete>
cnoremap <M-b> <S-Left>
cnoremap <M-f> <S-Right>
cnoremap <M-d> <S-right><Delete>
cnoremap <Esc>b <S-Left>
cnoremap <Esc>f <S-Right>
cnoremap <Esc>d <S-right><Delete>
cnoremap <C-g> <C-c>
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>
nnoremap <leader>r :%s///<Left><Left>
2014-07-21 02:29:37 +02:00
autocmd BufWritePre *.rst silent :%s/\s\+$//e
2015-09-25 20:22:53 +02:00
" setup for pymode
let g:pymode_trim_whitespaces = 1
let g:pymode_lint_on_write = 0
let g:pymode_lint_unmodified = 0
let g:pymode_lint_on_fly = 0
let g:pymode_rope = 0
let g:pymode_rope_completion = 0
"let g:pymode_rope_completion_on_dot = 1
let g:pymode_rope_goto_definition_cmd = "new"
let g:pymode_syntax_all = 1
let g:pymode_options = 1
" setup for the solarized color theme
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
" setup for vim-airline
let g:airline_theme='powerlineish'
let g:airline_left_sep=''
let g:airline_right_sep=''
let g:airline_section_x = '%{PencilMode()}'
let g:pencil#mode_indicators = {'hard': 'H', 'auto': 'A', 'soft': 'S', 'off': '',}
"let g:airline_section_z=''
" enable tabline at the top showing all buffers
"let g:airline#extensions#tabline#enabled = 1
let g:ycm_complete_in_comments = 0
let g:ycm_complete_in_strings = 1
let g:ycm_collect_identifiers_from_comments_and_strings = 0
let g:ycm_seed_identifiers_with_syntax = 1
let g:ycm_add_preview_to_completeopt = 1
let g:ycm_autoclose_preview_window_after_completion = 1
let g:ycm_autoclose_preview_window_after_insertion = 1