Files
dotfiles/vim/vimrc

265 lines
5.1 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()
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
2017-08-09 21:54:47 +02:00
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
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'
2015-09-26 02:46:37 +02:00
Plugin 'sjl/gundo.vim'
2015-09-25 21:19:59 +02:00
Plugin 'tpope/vim-commentary'
Plugin 'tpope/vim-fugitive'
Plugin 'tpope/vim-speeddating'
Plugin 'tpope/vim-surround'
2015-10-02 04:00:34 +02:00
Plugin 'junegunn/goyo.vim'
Plugin 'junegunn/limelight.vim'
2015-11-01 01:37:32 +01:00
Plugin 'sheerun/vim-polyglot'
2017-08-09 21:54:47 +02:00
Plugin 'freitass/todo.txt-vim'
Plugin 'Valloric/YouCompleteMe'
2015-09-25 21:19:59 +02:00
2014-11-07 17:37:04 +01:00
"Plugin 'Lokaltog/vim-easymotion'
2015-09-25 21:19:59 +02:00
"Plugin 'PeterRincker/vim-argumentative'
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 02:46:37 +02:00
" == formatting ==
2015-09-26 01:55:47 +02:00
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
2017-08-09 21:54:47 +02:00
"set formatoptions=tcqjron
set formatoptions=
2015-09-26 01:55:47 +02:00
" == 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
2015-10-02 04:00:34 +02:00
set noshowmatch
2015-09-26 01:55:47 +02:00
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
2015-09-26 02:46:37 +02:00
set matchpairs=(:),{:},[:],<:>
2015-09-26 01:55:47 +02:00
set notimeout
set ttimeout
set timeoutlen=1000
set ttimeoutlen=0
set virtualedit=block
2015-10-02 04:00:34 +02:00
set whichwrap=b,s
2015-09-26 01:55:47 +02:00
" == 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>
2017-08-09 21:54:47 +02:00
let maplocalleader = "ö"
2014-06-14 00:26:03 +02:00
let mapleader = "\<Space>"
2017-08-26 10:23:36 +02:00
" map <leader>w: w!<cr>
2015-09-25 20:22:53 +02:00
2017-08-26 10:23:36 +02:00
" nnoremap <leader>w :w<CR>
2015-09-26 01:55:47 +02:00
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>
2015-09-26 02:46:37 +02:00
map N Nzz
map n nzz
2014-06-14 00:26:03 +02:00
inoremap jj <ESC>
nnoremap <leader>v <C-w>v<C-w>l
2015-09-26 02:46:37 +02:00
nnoremap <leader>u :GundoToggle<CR>
2017-08-26 10:23:36 +02:00
nmap <F9> :Goyo<CR>:TogglePencil<CR>:Limelight!!<CR>
2015-10-02 04:00:34 +02:00
nmap <leader>w :Goyo<CR>:TogglePencil<CR>:Limelight!!<CR>
2014-11-07 17:37:04 +01:00
2014-06-14 00:26:03 +02:00
" no more ex mode
nnoremap Q <nop>
2015-09-26 01:55:47 +02:00
" === autocommands ===
2015-10-05 19:29:30 +02:00
"" autosave views when closing and restoring when opening again.
"autocmd BufWinLeave *.* mkview
"autocmd BufWinEnter *.* silent loadview
2015-09-26 01:55:47 +02:00
" === plugin setup ===
" == colorscheme ==
2017-08-26 10:56:11 +02:00
set background=light
2015-09-25 20:22:53 +02:00
let g:solarized_termcolors=16
let g:solarized_termtrans=1
let g:solarized_contrast="normal"
let g:solarized_visibility="normal"
syntax enable
2017-08-26 10:56:11 +02:00
" colorscheme monokai
2015-09-25 20:22:53 +02:00
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'
2017-08-09 21:54:47 +02:00
let g:airline_powerline_fonts = 1
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-10-02 04:00:34 +02:00
" == pencil ==
let g:pencil#textwidth = 80
let g:pencil#autoformat = 1
let g:pencil#cursorwrap = 1
" == goyo ==
2017-08-26 10:23:36 +02:00
let g:goyo_width = 100
2015-10-02 04:00:34 +02:00
let g:goyo_height = "90%"
let g:goyo_linenr = 0
2017-08-26 10:23:36 +02:00
" == limelight ==
let g:limelight_default_coefficient = 0.5
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
2016-04-23 20:09:24 +02:00
autocmd BufWritePre * :call DeleteTrailingWS()
2017-08-09 21:54:47 +02:00
autocmd FileType yaml set shiftwidth=2