Mercurial > dotfiles.old
annotate vimrc @ 114:f87e9773c40a
Update wiki
author | zegervdv <zegervdv@me.com> |
---|---|
date | Mon, 08 Sep 2014 08:15:29 +0200 |
parents | 9eeaecd192f5 |
children | f7ea2b69b89d |
rev | line source |
---|---|
27 | 1 " vim:fdm=marker |
2 | |
3 " General Settings {{{ | |
0 | 4 set nocompatible |
5 set laststatus=2 | |
6 set noshowmode | |
7 | |
101 | 8 let g:pathogen_disabled = ['ack','latex'] |
0 | 9 execute pathogen#infect() |
10 | |
11 set backspace=2 | |
12 set autowrite | |
13 | |
14 set vb | |
15 set guioptions-=r | |
16 set guioptions-=l | |
17 set guioptions-=R | |
18 set guioptions-=L | |
19 | |
20 syntax on | |
21 set expandtab | |
22 set number | |
23 set ruler | |
24 set nocursorline | |
25 set showmatch | |
26 set title | |
27 set wrap | |
28 set wrapmargin=2 | |
29 set linebreak | |
30 set lbr | |
31 set tabstop=2 shiftwidth=2 | |
21
bf5c5093bad9
Add Base16-Ocean-Dark colorscheme
zegervdv <zegervdv@me.com>
parents:
19
diff
changeset
|
32 if has("gui_running") |
bf5c5093bad9
Add Base16-Ocean-Dark colorscheme
zegervdv <zegervdv@me.com>
parents:
19
diff
changeset
|
33 set background=dark |
35 | 34 " color base16-ocean |
22 | 35 color hybrid |
21
bf5c5093bad9
Add Base16-Ocean-Dark colorscheme
zegervdv <zegervdv@me.com>
parents:
19
diff
changeset
|
36 else |
bf5c5093bad9
Add Base16-Ocean-Dark colorscheme
zegervdv <zegervdv@me.com>
parents:
19
diff
changeset
|
37 color hybrid |
bf5c5093bad9
Add Base16-Ocean-Dark colorscheme
zegervdv <zegervdv@me.com>
parents:
19
diff
changeset
|
38 endif |
0 | 39 set guifont=Inconsolata\ for\ Powerline:h12 |
40 set autowrite | |
41 set hidden | |
42 set hlsearch | |
43 set incsearch | |
44 set ignorecase | |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
45 set gdefault |
0 | 46 set smartcase |
47 set smartindent | |
48 set autoindent | |
49 set scrolloff=4 | |
50 set textwidth=80 | |
51 | |
52 set history=100 | |
53 set wildmenu | |
19 | 54 set wildmode=full |
79 | 55 set ttyfast |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
56 set lazyredraw |
0 | 57 |
58 set diffopt+=iwhite | |
59 | |
79 | 60 set tags=.git/tags |
61 | |
0 | 62 set formatoptions= |
63 set formatoptions+=c " Format comments | |
64 set formatoptions+=r " Continue comments by default | |
65 set formatoptions+=o " Make comment when using o or O from comment line | |
66 set formatoptions+=q " Format comments with gq | |
67 set formatoptions+=n " Recognize numbered lists | |
68 set formatoptions+=2 " Use indent from 2nd line of a paragraph | |
69 set formatoptions+=l " Don't break lines that are already long | |
70 set formatoptions+=1 " Break before 1-letter words | |
71 | |
92 | 72 set complete+=kspell |
73 | |
0 | 74 set splitright |
75 set virtualedit=block | |
76 set conceallevel=0 | |
77 | |
78 set cryptmethod=blowfish | |
79 | |
80 filetype plugin indent on | |
81 autocmd FileType ruby set tabstop=2|set shiftwidth=2 | |
82 | |
107
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
83 set pastetoggle=<F2> |
0 | 84 set clipboard=unnamed |
85 | |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
86 set undofile |
16 | 87 set viminfo='10,\"100,:20,%,n~/.viminfo |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
88 |
80 | 89 set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.o,*.bin,*.elf,*.hex |
90 | |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
91 " set list |
91 | 92 " set listchars=tab:▸\ ,eol:¬ |
27 | 93 " }}} |
94 " Custom remaps and tricks {{{ | |
101 | 95 " Enable spelling only for latex and text |
96 au BufNewFile,BufRead,BufEnter *.tex setlocal spell spelllang=en_gb | |
97 au BufNewFile,BufRead,BufEnter *.tex setlocal textwidth=0 | |
98 au BufNewFile,BufRead,BufEnter *.txt setlocal spell spelllang=en_gb | |
99 au BufNewFile,BufRead,BufEnter *.txt setlocal textwidth=0 | |
100 | |
101 | |
16 | 102 " When editing a file, always jump to the last known cursor position. |
103 " Don't do it for commit messages, when the position is invalid, or when | |
104 " inside an event handler (happens when dropping a file on gvim). | |
105 autocmd BufReadPost * | |
106 \ if &ft != 'gitcommit' && line("'\"") > 0 && line("'\"") <= line("$") | | |
107 \ exe "normal g`\"" | | |
108 \ endif | |
0 | 109 |
40 | 110 " Set leader to , |
111 let mapleader = "," | |
112 | |
0 | 113 " See long lines as line breaks |
114 map j gj | |
115 map k gk | |
116 | |
117 " remap tag-search to better place | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
118 " nmap <C-$> <C-]> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
119 function! JumpToTagInSplit() |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
120 execute "normal! \<c-w>v\<c-]>mzzMzvzz15\<c-e>" |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
121 execute "keepjumps normal! `z" |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
122 Pulse |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
123 endfunction |
94
c31e63aba1dd
Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents:
93
diff
changeset
|
124 nnoremap <C-$> :silent! call JumpToTagInSplit()<CR> |
0 | 125 |
126 " Jump to end of line in insert mode | |
33 | 127 inoremap <C-a> <C-o>I |
0 | 128 inoremap <C-e> <C-o>A |
129 | |
33 | 130 nnoremap <C-a> ^ |
131 nnoremap <C-e> $ | |
132 | |
92 | 133 nnoremap <C-s> <C-e> |
134 | |
33 | 135 nnoremap + <C-a> |
136 | |
137 " Jump out of inner bracket | |
138 inoremap <C-f> <ESC>%%a | |
0 | 139 |
4
050d4d8c6796
Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents:
3
diff
changeset
|
140 " Switch between the last two files |
050d4d8c6796
Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents:
3
diff
changeset
|
141 nnoremap <SPACE><SPACE> <C-^> |
050d4d8c6796
Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents:
3
diff
changeset
|
142 |
0 | 143 " Very Magic search patterns |
144 nmap / /\v | |
145 cmap s/ s/\v | |
146 | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
147 " Keep search matches in the middle of the window. |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
148 nnoremap n nzzzv |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
149 nnoremap N Nzzzv |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
150 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
151 " Show local search results in quickfix |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
152 nnoremap <silent> <leader>/ :execute 'vimgrep /'.@/.'/g %'<CR>:copen<CR> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
153 nnoremap <silent> <leader>? :Ag <cword><CR> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
154 " nnoremap <silent> <leader>? :execute "Ag! '" . substitute(substitute(substitute(@/, "\\\\<", "\\\\b", ""), "\\\\>", "\\\\b", ""), "\\\\v", "","") . "'"<CR> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
155 |
40 | 156 " Clear highlight |
107
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
157 nnoremap <silent> <C-l> :nohl<CR> |
40 | 158 |
0 | 159 inoremap £ \ |
160 | |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
161 nnoremap <TAB> % |
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
162 vnoremap <TAB> % |
0 | 163 |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
164 " Move between tabs |
112 | 165 map <leader>w <ESC>:tabprevious<CR> |
166 map <leader>n <ESC>:tabnext<CR> | |
107
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
167 |
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
168 " Move between splits |
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
169 map <C-j> <C-w>j |
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
170 map <C-k> <C-w>k |
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
171 map <C-l> <C-w>l |
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
172 map <C-h> <C-w>h |
34
3ed98613040a
Add mapping to switch between tabs in vim
zegervdv <zegervdv@me.com>
parents:
33
diff
changeset
|
173 |
33 | 174 " highlight last inserted text |
175 nnoremap gV `[v`] | |
176 | |
177 " Briefly change colour of last highlight | |
94
c31e63aba1dd
Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents:
93
diff
changeset
|
178 " nnoremap <silent> n n:call HLNext(0.4)<cr> |
c31e63aba1dd
Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents:
93
diff
changeset
|
179 " nnoremap <silent> N N:call HLNext(0.4)<cr> |
0 | 180 |
181 function! HLNext (blinktime) | |
182 highlight WhiteOnRed ctermfg=white ctermbg=red guifg=white guibg=red | |
183 let [bufnum, lnum, col, off] = getpos('.') | |
184 let matchlen = strlen(matchstr(strpart(getline('.'),col-1),@/)) | |
185 let target_pat = '\c\%#'.@/ | |
186 let ring = matchadd('WhiteOnRed', target_pat, 101) | |
187 redraw | |
188 exec 'sleep ' . float2nr(a:blinktime * 1000) . 'm' | |
189 call matchdelete(ring) | |
190 redraw | |
191 endfunction | |
192 | |
94
c31e63aba1dd
Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents:
93
diff
changeset
|
193 " Highlight matching parenthesis in different color so I don't mess up |
107
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
194 hi MatchParen cterm=underline ctermbg=none ctermfg=white gui=underline guibg=black guifg=white |
94
c31e63aba1dd
Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents:
93
diff
changeset
|
195 |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
196 " Highlight VCS conflict markers |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
197 match ErrorMsg '^\(<\|=\|>\)\{7\}\([^=].\+\)\?$' |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
198 |
0 | 199 " Swap v and CTRL-V |
200 nnoremap v <C-V> | |
201 nnoremap <C-V> v | |
202 | |
203 vnoremap v <C-V> | |
204 vnoremap <C-V> v | |
205 | |
206 " Use backspace as delete in visual mode | |
207 vmap <BS> x | |
208 | |
209 " Keep selection when shifting | |
210 vmap <expr> > KeepVisualSelection(">") | |
211 vmap <expr> < KeepVisualSelection("<") | |
212 | |
213 function! KeepVisualSelection(cmd) | |
214 set nosmartindent | |
215 if mode() ==# "V" | |
216 return a:cmd . ":set smartindent\<CR>gv" | |
217 else | |
218 return a:cmd . ":set smartindent\<CR>" | |
219 endif | |
220 endfunction | |
221 | |
222 let g:indent_guides_auto_colors = 0 | |
223 let g:indent_guides_guide_size = 1 | |
224 highlight IndentGuidesEven guibg=background | |
225 highlight IndentGuidesOdd guibg='#282a2e' | |
226 | |
42 | 227 au FileType c setl foldmethod=syntax |
228 | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
229 au VimResized * exe "normal! \<c-w>=" |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
230 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
231 cnoremap <c-a> <home> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
232 cnoremap <c-e> <end> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
233 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
234 " Swap backticks and quotes |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
235 nnoremap ` ' |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
236 nnoremap ' ` |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
237 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
238 " Note that this will overwrite the contents of the z mark. I never use it, but |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
239 " if you do you'll probably want to use another mark. |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
240 inoremap <C-u> <esc>mzgUiw`za |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
241 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
242 nnoremap <leader>ev :vsplit $MYVIMRC<cr> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
243 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
244 function! MyFoldText() " {{{ |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
245 let line = getline(v:foldstart) |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
246 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
247 let nucolwidth = &fdc + &number * &numberwidth |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
248 let windowwidth = winwidth(0) - nucolwidth - 3 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
249 let foldedlinecount = v:foldend - v:foldstart |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
250 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
251 " expand tabs into spaces |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
252 let onetab = strpart(' ', 0, &tabstop) |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
253 let line = substitute(line, '\t', onetab, 'g') |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
254 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
255 let line = strpart(line, 0, windowwidth - 2 -len(foldedlinecount)) |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
256 let fillcharcount = windowwidth - len(line) - len(foldedlinecount) |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
257 return line . '…' . repeat(" ",fillcharcount) . foldedlinecount . '…' . ' ' |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
258 endfunction " }}} |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
259 set foldtext=MyFoldText() |
42 | 260 |
27 | 261 " }}} |
101 | 262 " Latex {{{ |
263 " Compile using rubber | |
264 nnoremap <leader>m :w<CR>:VimProcBang rubber --pdf --warn all %<CR> | |
265 " Open pdf | |
104
ee15a19325bb
Silence output of open pdf mapping for tex
zegervdv <zegervdv@me.com>
parents:
103
diff
changeset
|
266 nnoremap <silent> <leader>v :silent !open %:r.pdf<CR><CR> |
101 | 267 " }}} |
40 | 268 " Vim Math plugin; make simple calculations {{{ |
0 | 269 vmap <expr> ++ VMATH_YankAndAnalyse() |
270 nmap ++ vip++ | |
40 | 271 " }}} |
272 " Airline configuration {{{ | |
0 | 273 let g:airline_inactive_collapse=0 |
274 let g:airline_powerline_fonts=1 | |
275 | |
276 let g:airline_left_sep = '' | |
277 let g:airline_right_sep = '' | |
278 | |
279 let g:airline_theme = 'tomorrow' | |
280 | |
80 | 281 let g:airline#extensions#syntastic#enabled = 1 |
40 | 282 " }}} |
93
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
283 " Unite {{{ |
96 | 284 call unite#filters#matcher_default#use(['matcher_fuzzy','matcher_regexp']) |
93
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
285 call unite#filters#sorter_default#use(['sorter_rank']) |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
286 call unite#set_profile('files', 'smartcase', 1) |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
287 call unite#custom#source('line,outline', 'matchers', 'matcher_fuzzy') |
101 | 288 call unite#custom#source( 'buffer', 'converters', ['converter_file_directory']) |
93
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
289 " sort file results by length |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
290 call unite#custom#source('file', 'sorters', 'sorter_length') |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
291 call unite#custom#source('file_rec/async', 'sorters', 'sorter_length') |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
292 let g:unite_enable_start_insert=0 |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
293 let g:unite_source_history_yank_enable=1 |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
294 let g:unite_source_rec_max_cache_files=5000 |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
295 let g:unite_prompt='» ' |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
296 if executable('ag') |
102 | 297 let g:unite_source_grep_command = 'ag' |
298 let g:unite_source_grep_default_opts = | |
299 \ '-i --line-numbers --nocolor --nogroup --hidden --ignore ' . | |
300 \ '''.hg'' --ignore ''.svn'' --ignore ''.git'' --ignore ''.bzr''' | |
301 let g:unite_source_grep_recursive_opt = '' | |
93
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
302 elseif executable('ack') |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
303 let g:unite_source_grep_command='ack' |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
304 let g:unite_source_grep_default_opts='--no-heading --no-color -C4' |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
305 let g:unite_source_grep_recursive_opt='' |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
306 endif |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
307 function! s:unite_settings() |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
308 nmap <buffer> Q <plug>(unite_exit) |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
309 nmap <buffer> <esc> <plug>(unite_exit) |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
310 imap <buffer> <C-j> <Plug>(unite_select_next_line) |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
311 imap <buffer> <C-k> <Plug>(unite_select_previous_line) |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
312 endfunction |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
313 autocmd FileType unite call s:unite_settings() |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
314 |
107
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
315 nnoremap <silent> <SPACE>m :<C-u>Unite -auto-preview -buffer-name=recent file_mru<cr> |
93
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
316 nnoremap <silent> <SPACE>y :<C-u>Unite -buffer-name=yanks history/yank<cr> |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
317 nnoremap <silent> <SPACE>l :<C-u>Unite -start-insert -auto-resize -buffer-name=line line<cr> |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
318 nnoremap <silent> <SPACE>b :<C-u>Unite -auto-resize -buffer-name=buffers buffer<cr> |
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
319 nnoremap <silent> <SPACE>/ :<C-u>Unite -no-quit -buffer-name=search grep:.<cr> |
107
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
320 nnoremap <silent> <SPACE>k :<C-u>Unite -auto-resize -buffer-name=mappings mapping<cr> |
93
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
321 nnoremap <silent> <SPACE>s :<C-u>Unite -quick-match buffer<cr> |
99 | 322 nnoremap <silent> <SPACE>o :<C-u>Unite outline<CR> |
100 | 323 nnoremap <silent> <SPACE>t :<C-u>Unite tag<CR> |
93
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
324 nnoremap <silent> <C-p> :<C-u>Unite -start-insert file_rec/async<CR> |
40 | 325 " }}} |
103 | 326 " Unite Build {{{ |
327 " TODO: Create builders eg Latex, Vagrant? | |
328 " }}} | |
98 | 329 " Vimfiler {{{ |
330 " Use vimfiler as default | |
331 let g:vimfiler_as_default_explorer = 1 | |
332 nnoremap <leader>e :VimFilerExplorer<CR> | |
109 | 333 let g:vimfiler_ignore_pattern = '\%(.o\|.bin\|.elf\|.un\~\|.swp\)$' |
98 | 334 " }}} |
40 | 335 " Vim - Rspec {{{ |
0 | 336 map <leader>t :call RunCurrentSpecFile()<CR> |
337 map <leader>s :call RunNearestSpec()<CR> | |
338 map <leader>l :call RunLastSpec()<CR> | |
339 map <leader>r :call RunAllSpecs()<CR> | |
40 | 340 " }}} |
341 " Cucumber {{{ | |
0 | 342 map <leader>f :call RunAllFeatures()<CR> |
343 map <leader>k :call RunCurrentFeature()<CR> | |
40 | 344 " }}} |
345 " Markdown {{{ | |
0 | 346 let g:vim_markdown_folding_disabled=1 |
40 | 347 " }}} |
348 " tComment {{{ | |
0 | 349 nmap <leader>c <C-_><C-_> |
40 | 350 " }}} |
351 " Neo Complete {{{ | |
91 | 352 let g:neocomplete#enable_at_startup = 1 |
353 let g:neocomplet#enable_smart_case = 1 | |
354 let g:marching_enable_neocomplete = 1 | |
102 | 355 let g:neocomplete#enable_fuzzy_completion = 1 |
27 | 356 |
91 | 357 inoremap <expr><s-CR> pumvisible() ? neocomplete#smart_close_popup()"\<CR>" : "\<CR>" |
358 inoremap <expr><C-g> neocomplete#undo_completion() | |
359 inoremap <expr><C-l> neocomplete#complete_common_string() | |
360 function! CleverCr() | |
361 if pumvisible() | |
362 if neosnippet#expandable() | |
363 let exp = "\<Plug>(neosnippet_expand)" | |
364 return exp . neocomplete#smart_close_popup() | |
365 else | |
366 return neocomplete#smart_close_popup() | |
367 endif | |
368 else | |
369 return "\<CR>" | |
370 endif | |
371 endfunction | |
372 " <CR> close popup and save indent or expand snippet | |
373 imap <expr> <CR> CleverCr() | |
40 | 374 " }}} |
375 " Neo Snippets {{{ | |
0 | 376 imap <C-k> <Plug>(neosnippet_expand_or_jump) |
377 smap <C-k> <Plug>(neosnippet_expand_or_jump) | |
378 xmap <C-k> <Plug>(neosnippet_expand_target) | |
379 | |
23
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
380 " imap <expr><TAB> neosnippet#expandable_or_jumpable() ? |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
381 " \ "\<Plug>(neosnippet_expand_or_jump)" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
382 " \: pumvisible() ? "\<C-n>" : "\<TAB>" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
383 " smap <expr><TAB> neosnippet#expandable_or_jumpable() ? |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
384 " \ "\<Plug>(neosnippet_expand_or_jump)" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
385 " \: "\<TAB>" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
386 |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
387 |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
388 imap <expr><TAB> neosnippet#expandable() == 1 ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
389 imap <expr><C-k> neosnippet#expandable_or_jumpable() == 1 ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
390 smap <expr><TAB> neosnippet#expandable() == 1 ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>" |
90 | 391 " let g:neocomplete#sources#omni#input_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::' |
0 | 392 |
393 let g:neosnippet#snippets_directory='~/.vim/snippets' | |
40 | 394 " }}} |
395 " Tabular {{{ | |
0 | 396 inoremap <silent> <Bar> <Bar><Esc>:call <SID>align()<CR>a |
397 | |
398 function! s:align() | |
399 let p = '^\s*|\s.*\s|\s*$' | |
400 if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p) | |
401 let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g')) | |
402 let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*')) | |
403 Tabularize/|/l1 | |
404 normal! 0 | |
405 call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.')) | |
406 endif | |
407 endfunction | |
408 | |
409 " Align Migration files | |
410 vmap <c-a> :Tabularize /:/l1l0l0<CR> | |
411 | |
412 nmap <Leader>a= :Tabularize /=<CR> | |
413 vmap <Leader>a= :Tabularize /=<CR> | |
414 nmap <Leader>a=> :Tabularize /=><CR> | |
415 vmap <Leader>a=> :Tabularize /=><CR> | |
416 nmap <Leader>a: :Tabularize /:\zs/l0l1<CR> | |
417 vmap <Leader>a: :Tabularize /:\zs/l0l1<CR> | |
418 nmap <Leader>a, :Tabularize /,\zs/l0l1<CR> | |
419 vmap <Leader>a, :Tabularize /,\zs/l0l1<CR> | |
420 vmap <Leader>a- :Tabularize /-<CR> | |
40 | 421 " }}} |
422 " Tagbar {{{ | |
0 | 423 nmap <F8> :TagbarToggle<CR> |
40 | 424 " }}} |
425 " Gundo tree {{{ | |
0 | 426 nnoremap <leader>u :GundoToggle<CR> |
40 | 427 " }}} |
428 " Smalls {{{ | |
13 | 429 nmap s <Plug>(smalls) |
430 omap s <Plug>(smalls) | |
431 xmap s <Plug>(smalls) | |
40 | 432 " }}} |
433 " Textmanip {{{ | |
14
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
434 xmap <C-j> <Plug>(textmanip-move-down) |
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
435 xmap <C-k> <Plug>(textmanip-move-up) |
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
436 xmap <C-h> <Plug>(textmanip-move-left) |
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
437 xmap <C-l> <Plug>(textmanip-move-right) |
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
438 xmap <F10> <Plug>(textmanip-toggle-mode) |
40 | 439 " }}} |
440 " Startify {{{ | |
27 | 441 let g:startify_session_dir = "~/.vim/sessions" |
442 " }}} | |
54 | 443 " Vimwiki {{{ |
444 let g:vimwiki_list=[{'path':'$HOME/.vimwiki'}] | |
445 " }}} | |
58
b657d43a4fcb
Stop asking to save current session
zegervdv <zegervdv@me.com>
parents:
54
diff
changeset
|
446 " Vim Sessions {{{ |
b657d43a4fcb
Stop asking to save current session
zegervdv <zegervdv@me.com>
parents:
54
diff
changeset
|
447 let g:session_autosave = 'no' |
b657d43a4fcb
Stop asking to save current session
zegervdv <zegervdv@me.com>
parents:
54
diff
changeset
|
448 " }}} |
96 | 449 " Jedi {{{ |
450 let g:jedi#auto_vim_configuration=0 | |
102 | 451 let g:jedi#completions_enabled = 0 |
96 | 452 " }}} |
27 | 453 |
13 | 454 " Load local vimrc |
3
44d3af8838f8
Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents:
0
diff
changeset
|
455 if filereadable($HOME . "/.vimrc.local") |
44d3af8838f8
Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents:
0
diff
changeset
|
456 source ~/.vimrc.local |
44d3af8838f8
Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents:
0
diff
changeset
|
457 endif |
24 | 458 |