1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
" Plugins for review:
" 'msanders/snipmate.vim'
" 'godlygeek/tabular'
" 'plasticboy/vim-markdown'
" Consider using sections like this:
" Section Name {{{
" set number "This will be folded
" }}}
runtime bundle/vim-pathogen/autoload/pathogen.vim
execute pathogen#infect()
execute pathogen#helptags()
set nocompatible " Be iMproved
let mapleader="," " set leader early as otherwise it wouldn't work
filetype plugin indent on
" ========== general settings ==========
set encoding=utf-8
set ff=unix
set number
set clipboard=unnamedplus
set showmatch " show matching brackets
set incsearch " Find as you type search
set hlsearch " Highlight search terms
set ignorecase " Case-insensitive searching.
set smartcase " But case-sensitive if expression contains a capital letter.
set history=1000 " remember more commands and search history
set undolevels=1000 " use many levels of undo
set nobackup
set noswapfile
set tabstop=4
set shiftwidth=4
set textwidth=80
set cc=81
"set expandtab
syntax enable
set background=dark
colorscheme distinguished
set list
set listchars=tab:>-,trail:~
set lazyredraw
set wildmenu
set relativenumber
set wildignore+=*.a,*.o,*.class
set wildignore+=*.bmp,*.gif,*.ico,*.jpg,*.jpeg,*.png
set wildignore+=.DS_Store,.git,.hg,.svn
set wildignore+=*~,*.swp,*.tmp
" jk is escape
inoremap jk <esc>
augroup reload_vimrc " {
autocmd!
autocmd BufWritePost $MYVIMRC source $MYVIMRC
augroup END " }
" switch buffers with space!
nnoremap <space> :call SwitchBuffer()<CR>
function! SwitchBuffer()
exe "ls"
let c = nr2char(getchar())
exe "b " . c
redraw
endfunction
map <silent> <leader>1 :diffget LO<CR>:diffupdate<CR>
map <silent> <leader>2 :diffget BA<CR>:diffupdate<CR>
map <silent> <leader>3 :diffget RE<CR>:diffupdate<CR>
map Q @
map <S-m> :tabprevious<CR>
map m :tabnext<CR>
" remove trailing whitespaces on save
autocmd BufWritePre * :%s/\s\+$//e
" save file with root permissions
cmap w!! w !sudo tee % >/dev/null
" turn off search highlight
nnoremap <leader><space> :nohlsearch<CR>
" ========== file specific settings ==========
" Markdown
autocmd BufRead,BufNew *.md set filetype=markdown
" java
au BufNewFile,BufRead *.java set tabstop=4 softtabstop=4 shiftwidth=4 smarttab autoindent cc=121
" ========== plugin settings ==========
" airline
set laststatus=2
let g:airline_theme = 'powerlineish'
"let g:airline#extensions#tabline#enabled = 1 " make tabs look crazy
" only enable trailing whitespace checking
let g:airline#extensions#whitespace#checks = [ 'trailing' ]
" ALE
let g:ale_linters = {'text': ['proselint', 'vale']}
nmap <silent> <C-k> <Plug>(ale_previous_wrap)
nmap <silent> <C-j> <Plug>(ale_next_wrap)
" Start interactive EasyAlign in visual mode (e.g. vip<Enter>)
vmap <Enter> <Plug>(EasyAlign)
" Start interactive EasyAlign for a motion/text object (e.g. gaip)
nmap ga <Plug>(EasyAlign)
" toggle gundo
nnoremap <leader>u :GundoToggle<CR>
" ctrlp
let g:ctrlp_max_files = 1000000
let g:ctrlp_cmd = 'CtrlPMixed'
" supertab
let g:SuperTabDefaultCompletionType = "context"
" javacomplete2
autocmd FileType java setlocal omnifunc=javacomplete#Complete
nmap <F4> <Plug>(JavaComplete-Imports-AddSmart)
nmap <F6> <Plug>(JavaComplete-Imports-AddMissing)
nmap <F7> <Plug>(JavaComplete-Imports-RemoveUnused)
" Automatically import
nmap <leader>ai <Plug>(JavaComplete-Imports-AddMissing)
|