summaryrefslogtreecommitdiffstats
path: root/shell/_vimrc
blob: a73485a74ca89b033f2778c0e54070002989ae42 (plain) (blame)
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
" 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 " }

map <silent> <leader>1 :diffget 2<CR> :diffupdate<CR>
map <silent> <leader>2 :diffget 3<CR> :diffupdate<CR>
map <silent> <leader>3 :diffget 4<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' ]
let g:airline#extensions#syntastic#enabled = 0

" 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>

" eclim
nmap <leader>a :JavaImportOrganize<cr>
nmap <leader>t :ProjectTree<cr>
nmap <leader>o :ProjectOpen<cr>

" ctrlp
let g:ctrlp_max_files = 1000000
let g:ctrlp_cmd = 'CtrlPMixed'