Mercurial > dotfiles.old
annotate vimrc @ 85:8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
author | zegervdv <zegervdv@me.com> |
---|---|
date | Thu, 31 Jul 2014 21:38:35 +0200 |
parents | 5fd16ed8bb6d |
children | aefa231684d9 |
rev | line source |
---|---|
27 | 1 " vim:fdm=marker |
2 | |
3 " General Settings {{{ | |
0 | 4 set nocompatible |
5 set laststatus=2 | |
6 set noshowmode | |
7 | |
42 | 8 let g:pathogen_disabled = ['ack'] |
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 | |
72 set splitright | |
73 set virtualedit=block | |
74 set conceallevel=0 | |
75 | |
76 set cryptmethod=blowfish | |
77 | |
78 filetype plugin indent on | |
79 autocmd FileType ruby set tabstop=2|set shiftwidth=2 | |
80 | |
81 set clipboard=unnamed | |
82 | |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
83 set undofile |
16 | 84 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
|
85 |
80 | 86 set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.o,*.bin,*.elf,*.hex |
87 | |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
88 " set list |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
89 set listchars=tab:▸\ ,eol:¬ |
27 | 90 " }}} |
91 " Custom remaps and tricks {{{ | |
16 | 92 " When editing a file, always jump to the last known cursor position. |
93 " Don't do it for commit messages, when the position is invalid, or when | |
94 " inside an event handler (happens when dropping a file on gvim). | |
95 autocmd BufReadPost * | |
96 \ if &ft != 'gitcommit' && line("'\"") > 0 && line("'\"") <= line("$") | | |
97 \ exe "normal g`\"" | | |
98 \ endif | |
0 | 99 |
40 | 100 nnoremap <F5> :buffers<CR>:buffer<Space> |
101 | |
102 " Set leader to , | |
103 let mapleader = "," | |
104 | |
0 | 105 map <Leader>d :bp<bar>sp<bar>bn<bar>bd<CR> |
106 | |
107 " See long lines as line breaks | |
108 map j gj | |
109 map k gk | |
110 | |
111 " 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
|
112 " nmap <C-$> <C-]> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
113 function! JumpToTagInSplit() |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
114 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
|
115 execute "keepjumps normal! `z" |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
116 Pulse |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
117 endfunction |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
118 nnoremap <c-$> :silent! call JumpToTag()<cr> |
0 | 119 |
120 " Jump to end of line in insert mode | |
33 | 121 inoremap <C-a> <C-o>I |
0 | 122 inoremap <C-e> <C-o>A |
123 | |
33 | 124 nnoremap <C-a> ^ |
125 nnoremap <C-e> $ | |
126 | |
127 nnoremap + <C-a> | |
128 | |
129 " Jump out of inner bracket | |
130 inoremap <C-f> <ESC>%%a | |
0 | 131 |
4
050d4d8c6796
Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents:
3
diff
changeset
|
132 " Switch between the last two files |
050d4d8c6796
Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents:
3
diff
changeset
|
133 nnoremap <SPACE><SPACE> <C-^> |
050d4d8c6796
Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents:
3
diff
changeset
|
134 |
0 | 135 " Very Magic search patterns |
136 nmap / /\v | |
137 cmap s/ s/\v | |
138 | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
139 " 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
|
140 nnoremap n nzzzv |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
141 nnoremap N Nzzzv |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
142 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
143 " Show local search results in quickfix |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
144 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
|
145 nnoremap <silent> <leader>? :Ag <cword><CR> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
146 " 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
|
147 |
40 | 148 " Clear highlight |
149 nnoremap <silent> <leader>n :nohlsearch<CR> | |
150 | |
0 | 151 inoremap £ \ |
152 | |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
153 nnoremap <TAB> % |
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
154 vnoremap <TAB> % |
0 | 155 |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
156 " Move between tabs |
82 | 157 nnoremap <S-j> :tabprevious<CR> |
158 nnoremap <S-k> :tabnext<CR> | |
159 nnoremap <S-h> :tabfirst<CR> | |
160 nnoremap <S-l> :tablast<CR> | |
161 nnoremap <S-t> :tabnew<CR> | |
34
3ed98613040a
Add mapping to switch between tabs in vim
zegervdv <zegervdv@me.com>
parents:
33
diff
changeset
|
162 inoremap <C-S-TAB> <ESC>:tabprevious<CR> |
3ed98613040a
Add mapping to switch between tabs in vim
zegervdv <zegervdv@me.com>
parents:
33
diff
changeset
|
163 inoremap <C-TAB> <ESC>:tabnext<CR> |
3ed98613040a
Add mapping to switch between tabs in vim
zegervdv <zegervdv@me.com>
parents:
33
diff
changeset
|
164 |
33 | 165 " highlight last inserted text |
166 nnoremap gV `[v`] | |
167 | |
168 " Briefly change colour of last highlight | |
0 | 169 nnoremap <silent> n n:call HLNext(0.4)<cr> |
170 nnoremap <silent> N N:call HLNext(0.4)<cr> | |
171 | |
172 function! HLNext (blinktime) | |
173 highlight WhiteOnRed ctermfg=white ctermbg=red guifg=white guibg=red | |
174 let [bufnum, lnum, col, off] = getpos('.') | |
175 let matchlen = strlen(matchstr(strpart(getline('.'),col-1),@/)) | |
176 let target_pat = '\c\%#'.@/ | |
177 let ring = matchadd('WhiteOnRed', target_pat, 101) | |
178 redraw | |
179 exec 'sleep ' . float2nr(a:blinktime * 1000) . 'm' | |
180 call matchdelete(ring) | |
181 redraw | |
182 endfunction | |
183 | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
184 " Highlight VCS conflict markers |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
185 match ErrorMsg '^\(<\|=\|>\)\{7\}\([^=].\+\)\?$' |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
186 |
0 | 187 " Swap v and CTRL-V |
188 nnoremap v <C-V> | |
189 nnoremap <C-V> v | |
190 | |
191 vnoremap v <C-V> | |
192 vnoremap <C-V> v | |
193 | |
194 " Use backspace as delete in visual mode | |
195 vmap <BS> x | |
196 | |
197 " Keep selection when shifting | |
198 vmap <expr> > KeepVisualSelection(">") | |
199 vmap <expr> < KeepVisualSelection("<") | |
200 | |
201 function! KeepVisualSelection(cmd) | |
202 set nosmartindent | |
203 if mode() ==# "V" | |
204 return a:cmd . ":set smartindent\<CR>gv" | |
205 else | |
206 return a:cmd . ":set smartindent\<CR>" | |
207 endif | |
208 endfunction | |
209 | |
210 let g:indent_guides_auto_colors = 0 | |
211 let g:indent_guides_guide_size = 1 | |
212 highlight IndentGuidesEven guibg=background | |
213 highlight IndentGuidesOdd guibg='#282a2e' | |
214 | |
42 | 215 au FileType c setl foldmethod=syntax |
216 | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
217 au VimResized * exe "normal! \<c-w>=" |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
218 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
219 cnoremap <c-a> <home> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
220 cnoremap <c-e> <end> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
221 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
222 " Swap backticks and quotes |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
223 nnoremap ` ' |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
224 nnoremap ' ` |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
225 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
226 " 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
|
227 " 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
|
228 inoremap <C-u> <esc>mzgUiw`za |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
229 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
230 nnoremap <leader>ev :vsplit $MYVIMRC<cr> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
231 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
232 function! MyFoldText() " {{{ |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
233 let line = getline(v:foldstart) |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
234 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
235 let nucolwidth = &fdc + &number * &numberwidth |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
236 let windowwidth = winwidth(0) - nucolwidth - 3 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
237 let foldedlinecount = v:foldend - v:foldstart |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
238 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
239 " expand tabs into spaces |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
240 let onetab = strpart(' ', 0, &tabstop) |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
241 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
|
242 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
243 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
|
244 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
|
245 return line . '…' . repeat(" ",fillcharcount) . foldedlinecount . '…' . ' ' |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
246 endfunction " }}} |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
247 set foldtext=MyFoldText() |
42 | 248 |
27 | 249 " }}} |
42 | 250 |
40 | 251 " Vim Math plugin; make simple calculations {{{ |
0 | 252 vmap <expr> ++ VMATH_YankAndAnalyse() |
253 nmap ++ vip++ | |
40 | 254 " }}} |
255 " Airline configuration {{{ | |
0 | 256 let g:airline_inactive_collapse=0 |
257 let g:airline_powerline_fonts=1 | |
258 | |
259 let g:airline_left_sep = '' | |
260 let g:airline_right_sep = '' | |
261 | |
262 let g:airline_theme = 'tomorrow' | |
263 | |
80 | 264 let g:airline#extensions#syntastic#enabled = 1 |
40 | 265 " }}} |
266 " YankRing {{{ | |
0 | 267 let g:yankring_replace_n_pkey = 'cp' |
40 | 268 nnoremap <silent> <leader>y :YRShow<CR> |
269 " }}} | |
270 " Nerdtree {{{ | |
0 | 271 map <F2> :NERDTreeToggle<CR> |
272 map <Leader>e :NERDTreeToggle<CR> | |
42 | 273 let NERDTreeIgnore = ['\.aux$', '\.log$', '\.out$', '\.o$', '\.hex$', '\.bin$', '\.elf$'] |
40 | 274 " }}} |
275 " Vim - Rspec {{{ | |
0 | 276 map <leader>t :call RunCurrentSpecFile()<CR> |
277 map <leader>s :call RunNearestSpec()<CR> | |
278 map <leader>l :call RunLastSpec()<CR> | |
279 map <leader>r :call RunAllSpecs()<CR> | |
40 | 280 " }}} |
281 " Cucumber {{{ | |
0 | 282 map <leader>f :call RunAllFeatures()<CR> |
283 map <leader>k :call RunCurrentFeature()<CR> | |
40 | 284 " }}} |
80 | 285 " Ctrl P - Fuzzy file finder {{{ |
0 | 286 noremap <C-p> :CtrlP<CR> |
287 let g:ctrl_map = '<c-p>' | |
288 let g:ctrl_cmd = 'CtrlP' | |
289 | |
38 | 290 let g:ctrlp_working_path=0 |
33 | 291 nnoremap <C-o> :CtrlPBuffer<CR> |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
292 " map <C-m> :CtrlPTag<CR> |
0 | 293 |
5 | 294 if executable('ag') |
295 let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' | |
296 let g:ctrlp_use_caching = 0 | |
297 endif | |
298 | |
80 | 299 let g:ctrlp_custom_ignore = { |
300 \ 'dir': '\v[\/]\.(git|hg|svn)$', | |
301 \ 'file': '\v\.(exe|so|dll)$', | |
302 \ } | |
303 | |
0 | 304 " ctrl p - Commands |
305 map <leader>p :CtrlPCmdPalette<CR> | |
40 | 306 " }}} |
307 " Markdown {{{ | |
0 | 308 let g:vim_markdown_folding_disabled=1 |
40 | 309 " }}} |
310 " tComment {{{ | |
0 | 311 nmap <leader>c <C-_><C-_> |
40 | 312 " }}} |
313 " Neo Complete {{{ | |
29 | 314 let g:acp_enableAtStartup = 0 |
315 let g:neocomplete#enable_at_startup = 1 | |
316 let g:neocomplete#enable_smart_case = 1 | |
317 let g:neocomplete#enable_fuzzy_completion = 1 | |
318 let g:neocomplete#sources#syntax#min_keyword_length = 3 | |
319 let g:neocomplete#lock_buffer_name_pattern = '\*ku\*' | |
0 | 320 |
321 " Define dictionary. | |
322 let g:neocomplete#sources#dictionary#dictionaries = { | |
323 \ 'default' : '', | |
324 \ 'vimshell' : $HOME.'/.vimshell_hist', | |
325 \ 'scheme' : $HOME.'/.gosh_completions' | |
326 \ } | |
27 | 327 |
328 " Define keyword. | |
329 if !exists('g:neocomplete#keyword_patterns') | |
330 let g:neocomplete#keyword_patterns = {} | |
331 endif | |
332 | |
333 let g:neocomplete#keyword_patterns['default'] = '\h\w*' | |
0 | 334 " Recommended key-mappings. |
335 " <CR>: close popup and save indent. | |
336 inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR> | |
337 function! s:my_cr_function() | |
29 | 338 " return neocomplete#close_popup() . "\<CR>" |
0 | 339 " For no inserting <CR> key. |
29 | 340 return pumvisible() ? neocomplete#close_popup() : "\<CR>" |
0 | 341 endfunction |
342 " <TAB>: completion. | |
343 inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" | |
344 " <C-h>, <BS>: close popup and delete backword char. | |
345 inoremap <expr><C-h> neocomplete#smart_close_popup()."\<C-h>" | |
346 | |
45 | 347 if !exists('g:neocomplete#force_omni_input_patterns') |
348 let g:neocomplete#force_omni_input_patterns = {} | |
349 endif | |
350 let g:neocomplete#force_overwrite_completefunc = 1 | |
69 | 351 " let g:neocomplete#force_omni_input_patterns.c = |
352 " \ '[^.[:digit:] *\t]\%(\.\|->\)\w*' | |
45 | 353 let g:neocomplete#force_omni_input_patterns.cpp = |
354 \ '[^.[:digit:] *\t]\%(\.\|->\)\w*\|\h\w*::\w*' | |
355 let g:neocomplete#force_omni_input_patterns.objc = | |
356 \ '[^.[:digit:] *\t]\%(\.\|->\)\w*' | |
357 let g:neocomplete#force_omni_input_patterns.objcpp = | |
358 \ '[^.[:digit:] *\t]\%(\.\|->\)\w*\|\h\w*::\w*' | |
69 | 359 |
72
808e110f4171
Replace clang_complete with marching
zegervdv <zegervdv@me.com>
parents:
69
diff
changeset
|
360 let g:marching_enable_neocomplete = 1 |
28 | 361 |
0 | 362 autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS |
363 autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags | |
364 autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS | |
365 autocmd FileType python setlocal omnifunc=pythoncomplete#Complete | |
366 autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags | |
367 autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete | |
368 if !exists('g:neocomplete#sources#omni#input_patterns') | |
369 let g:neocomplete#sources#omni#input_patterns = {} | |
370 endif | |
371 | |
26 | 372 " autocmd FileType c NeoCompleteTagMakeCache |
40 | 373 " }}} |
374 " Neo Snippets {{{ | |
0 | 375 imap <C-k> <Plug>(neosnippet_expand_or_jump) |
376 smap <C-k> <Plug>(neosnippet_expand_or_jump) | |
377 xmap <C-k> <Plug>(neosnippet_expand_target) | |
378 | |
23
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
379 " imap <expr><TAB> neosnippet#expandable_or_jumpable() ? |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
380 " \ "\<Plug>(neosnippet_expand_or_jump)" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
381 " \: pumvisible() ? "\<C-n>" : "\<TAB>" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
382 " smap <expr><TAB> neosnippet#expandable_or_jumpable() ? |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
383 " \ "\<Plug>(neosnippet_expand_or_jump)" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
384 " \: "\<TAB>" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
385 |
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 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
|
388 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
|
389 smap <expr><TAB> neosnippet#expandable() == 1 ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>" |
0 | 390 let g:neocomplete#sources#omni#input_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::' |
391 | |
392 let g:neosnippet#snippets_directory='~/.vim/snippets' | |
40 | 393 " }}} |
394 " Tabular {{{ | |
0 | 395 inoremap <silent> <Bar> <Bar><Esc>:call <SID>align()<CR>a |
396 | |
397 function! s:align() | |
398 let p = '^\s*|\s.*\s|\s*$' | |
399 if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p) | |
400 let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g')) | |
401 let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*')) | |
402 Tabularize/|/l1 | |
403 normal! 0 | |
404 call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.')) | |
405 endif | |
406 endfunction | |
407 | |
408 " Align Migration files | |
409 vmap <c-a> :Tabularize /:/l1l0l0<CR> | |
410 | |
411 nmap <Leader>a= :Tabularize /=<CR> | |
412 vmap <Leader>a= :Tabularize /=<CR> | |
413 nmap <Leader>a=> :Tabularize /=><CR> | |
414 vmap <Leader>a=> :Tabularize /=><CR> | |
415 nmap <Leader>a: :Tabularize /:\zs/l0l1<CR> | |
416 vmap <Leader>a: :Tabularize /:\zs/l0l1<CR> | |
417 nmap <Leader>a, :Tabularize /,\zs/l0l1<CR> | |
418 vmap <Leader>a, :Tabularize /,\zs/l0l1<CR> | |
419 vmap <Leader>a- :Tabularize /-<CR> | |
40 | 420 " }}} |
421 " Latex plugin {{{ | |
0 | 422 au BufNewFile,BufRead,BufEnter *.tex setlocal spell spelllang=en_gb |
423 au BufNewFile,BufRead,BufEnter *.tex setlocal textwidth=0 | |
424 au BufNewFile,BufRead,BufEnter *.txt setlocal spell spelllang=en_gb | |
425 au BufNewFile,BufRead,BufEnter *.txt setlocal textwidth=0 | |
426 | |
427 let g:tex_conseal = "" | |
428 | |
429 let g:tex_comment_nospell=1 | |
430 let g:Tex_DefaultTargetFormat = 'pdf' | |
431 let g:tex_flavor = 'latex' | |
432 let g:Tex_TreatMacViewerAsUNIX = 1 | |
433 let g:Tex_ExecuterUNIXViewerInForeground = 1 | |
47 | 434 " let g:Tex_ViewRule_pdf = 'open -a Preview' |
435 let g:Tex_ViewRule_pdf = 'open -a /Applications/TeX/TeXShop.app' | |
436 | |
0 | 437 let g:Tex_ViewRule_ps = 'open -a Preview' |
47 | 438 |
439 nnoremap <leader>m :w<CR>:!rubber --pdf --warn all %<CR> | |
40 | 440 " }}} |
441 " Tagbar {{{ | |
0 | 442 nmap <F8> :TagbarToggle<CR> |
40 | 443 " }}} |
444 " Gundo tree {{{ | |
0 | 445 nnoremap <leader>u :GundoToggle<CR> |
40 | 446 " }}} |
447 " Smalls {{{ | |
13 | 448 nmap s <Plug>(smalls) |
449 omap s <Plug>(smalls) | |
450 xmap s <Plug>(smalls) | |
40 | 451 " }}} |
452 " Textmanip {{{ | |
14
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
453 xmap <C-j> <Plug>(textmanip-move-down) |
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
454 xmap <C-k> <Plug>(textmanip-move-up) |
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
455 xmap <C-h> <Plug>(textmanip-move-left) |
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
456 xmap <C-l> <Plug>(textmanip-move-right) |
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
457 xmap <F10> <Plug>(textmanip-toggle-mode) |
40 | 458 " }}} |
459 " Startify {{{ | |
27 | 460 let g:startify_session_dir = "~/.vim/sessions" |
461 " }}} | |
54 | 462 " Vimwiki {{{ |
463 let g:vimwiki_list=[{'path':'$HOME/.vimwiki'}] | |
464 " }}} | |
58
b657d43a4fcb
Stop asking to save current session
zegervdv <zegervdv@me.com>
parents:
54
diff
changeset
|
465 " Vim Sessions {{{ |
b657d43a4fcb
Stop asking to save current session
zegervdv <zegervdv@me.com>
parents:
54
diff
changeset
|
466 let g:session_autosave = 'no' |
b657d43a4fcb
Stop asking to save current session
zegervdv <zegervdv@me.com>
parents:
54
diff
changeset
|
467 " }}} |
27 | 468 |
13 | 469 " Load local vimrc |
3
44d3af8838f8
Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents:
0
diff
changeset
|
470 if filereadable($HOME . "/.vimrc.local") |
44d3af8838f8
Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents:
0
diff
changeset
|
471 source ~/.vimrc.local |
44d3af8838f8
Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents:
0
diff
changeset
|
472 endif |
24 | 473 |