Mercurial > dotfiles.old
annotate vimrc @ 228:27091bae3a7e
Add vim snippets
author | zegervdv <zegervdv@me.com> |
---|---|
date | Wed, 21 Jan 2015 10:56:58 +0100 |
parents | 233c9d811b68 |
children | fa5fa3251f4a |
rev | line source |
---|---|
27 | 1 " vim:fdm=marker |
187
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
2 " Vim-Plug {{{ |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
3 let g:plug_window='topleft new' |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
4 call plug#begin('~/.vim/plugged') |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
5 " General Plugins |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
6 Plug 'tpope/vim-sensible' |
226 | 7 Plug 'tpope/vim-fugitive' |
8 Plug 'tpope/vim-repeat' | |
9 | |
10 " Spelling | |
187
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
11 Plug 'tpope/vim-abolish' |
226 | 12 |
13 " Brackets | |
187
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
14 Plug 'tpope/vim-surround' |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
15 Plug 'jiangmiao/auto-pairs' |
226 | 16 |
17 " Formatting | |
18 Plug 'godlygeek/tabular', { 'on' : 'Tabularize' } | |
19 | |
20 " Comments | |
200
a91590ba2b32
Replace tcomment with commentary
zegervdv <zegervdv@me.com>
parents:
196
diff
changeset
|
21 Plug 'tpope/vim-commentary' |
226 | 22 |
23 " Moving in files | |
208 | 24 Plug 'wellle/targets.vim' |
226 | 25 |
26 " Command line | |
27 Plug 'tpope/vim-eunuch', { 'on' : ['Remove', 'Unlink', 'Move', 'Rename', 'Mkdir', 'Chmod', 'Find', 'Locate', 'SudoEdit', 'SudoWrite']} | |
215
ffe47a1b75f8
Add Scratch plugin and lazyload some plugins
zegervdv <zegervdv@me.com>
parents:
214
diff
changeset
|
28 |
226 | 29 " Syntax and checking |
30 Plug 'scrooloose/syntastic' | |
31 | |
32 " Undoing | |
187
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
33 Plug 'sjl/gundo.vim', { 'on': 'GundoToggle' } |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
34 |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
35 " Tmux |
189
925861e874ec
Add vim-tmux-navigator for seamless navigation
zegervdv <zegervdv@me.com>
parents:
188
diff
changeset
|
36 Plug 'christoomey/vim-tmux-navigator' |
215
ffe47a1b75f8
Add Scratch plugin and lazyload some plugins
zegervdv <zegervdv@me.com>
parents:
214
diff
changeset
|
37 Plug 'tpope/vim-dispatch' |
187
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
38 |
226 | 39 " Completing and snippets |
225 | 40 Plug 'ajh17/VimCompletesMe' |
228 | 41 Plug 'sirver/ultisnips' |
42 Plug 'honza/vim-snippets' | |
226 | 43 |
44 " Vim file navigation | |
45 Plug 'tpope/vim-vinegar' | |
46 | |
47 " Open and find files | |
48 Plug 'ctrlpvim/ctrlp.vim' | |
49 | |
50 " Don't use arrows! | |
51 Plug 'mrmargolis/dogmatic.vim' | |
52 | |
53 " Theme | |
54 Plug 'whatyouhide/vim-gotham' | |
187
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
55 |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
56 " Ruby |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
57 Plug 'tpope/vim-rails', { 'for': 'ruby' } |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
58 Plug 'vim-ruby/vim-ruby', { 'for': 'ruby' } |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
59 Plug 'tpope/vim-bundler', { 'for': 'ruby' } |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
60 Plug 'tpope/vim-rake', { 'for': 'ruby' } |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
61 Plug 'slim-template/vim-slim', { 'for': 'ruby' } |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
62 Plug 'duwanis/tomdoc.vim', { 'for': 'ruby' } |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
63 |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
64 " Markdown |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
65 Plug 'tpope/vim-markdown', { 'for': 'markdown' } |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
66 |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
67 " C |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
68 Plug 'vim-scripts/a.vim', { 'for': 'c' } |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
69 Plug 'osyo-manga/vim-reunions', { 'for': 'c' } |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
70 Plug 'osyo-manga/vim-marching', { 'for': 'c' } |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
71 |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
72 " Coffeescript |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
73 Plug 'kchmck/vim-coffee-script', { 'for': 'coffeescript' } |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
74 |
201
6de3103d47f4
Use wildignore in unite file_rec/async
zegervdv <zegervdv@me.com>
parents:
200
diff
changeset
|
75 " Git |
6de3103d47f4
Use wildignore in unite file_rec/async
zegervdv <zegervdv@me.com>
parents:
200
diff
changeset
|
76 Plug 'tpope/vim-git' |
187
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
77 call plug#end() |
e3639166a8ab
Remove pathogen in favour of Vim-plug
zegervdv <zegervdv@me.com>
parents:
183
diff
changeset
|
78 " }}} |
226 | 79 |
80 " General Settings and options {{{ | |
0 | 81 set nocompatible |
226 | 82 " Backspace over everything, like normal |
0 | 83 set backspace=2 |
84 set autowrite | |
85 | |
86 set vb | |
87 set guioptions-=r | |
88 set guioptions-=l | |
89 set guioptions-=R | |
90 set guioptions-=L | |
91 | |
92 syntax on | |
93 set expandtab | |
94 set number | |
95 set ruler | |
96 set nocursorline | |
97 set showmatch | |
98 set title | |
99 set wrap | |
100 set wrapmargin=2 | |
101 set linebreak | |
147 | 102 set breakindent |
0 | 103 set lbr |
104 set tabstop=2 shiftwidth=2 | |
193 | 105 |
226 | 106 " Theme and style |
193 | 107 set t_Co=256 |
191 | 108 set background=dark |
225 | 109 color gotham |
0 | 110 set guifont=Inconsolata\ for\ Powerline:h12 |
193 | 111 |
0 | 112 set hidden |
113 set hlsearch | |
114 set incsearch | |
115 set ignorecase | |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
116 set gdefault |
0 | 117 set smartcase |
118 set smartindent | |
119 set autoindent | |
120 set scrolloff=4 | |
121 set textwidth=80 | |
122 | |
123 set history=100 | |
124 set wildmenu | |
19 | 125 set wildmode=full |
79 | 126 set ttyfast |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
127 set lazyredraw |
0 | 128 |
174 | 129 set ttimeoutlen=10 |
130 " Set the timeout to a minimum | |
0 | 131 set diffopt+=iwhite |
132 | |
79 | 133 set tags=.git/tags |
134 | |
0 | 135 set formatoptions= |
136 set formatoptions+=c " Format comments | |
137 set formatoptions+=r " Continue comments by default | |
138 set formatoptions+=o " Make comment when using o or O from comment line | |
139 set formatoptions+=q " Format comments with gq | |
140 set formatoptions+=n " Recognize numbered lists | |
141 set formatoptions+=2 " Use indent from 2nd line of a paragraph | |
142 set formatoptions+=l " Don't break lines that are already long | |
143 set formatoptions+=1 " Break before 1-letter words | |
144 | |
214 | 145 " Enable cursorline |
146 set cursorline | |
147 autocmd WinEnter * setlocal cursorline | |
148 autocmd WinLeave * setlocal nocursorline | |
182 | 149 |
150 set sessionoptions-=options | |
151 | |
92 | 152 set complete+=kspell |
153 | |
0 | 154 set splitright |
155 set virtualedit=block | |
156 set conceallevel=0 | |
157 | |
158 set cryptmethod=blowfish | |
159 | |
160 filetype plugin indent on | |
161 autocmd FileType ruby set tabstop=2|set shiftwidth=2 | |
162 | |
107
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
163 set pastetoggle=<F2> |
0 | 164 set clipboard=unnamed |
165 | |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
166 set undofile |
16 | 167 set viminfo='10,\"100,:20,%,n~/.viminfo |
188 | 168 set backupdir=/tmp//,. |
169 set directory=/tmp//,. | |
170 if v:version >= 703 | |
171 set undodir=/tmp//,. | |
172 endif | |
201
6de3103d47f4
Use wildignore in unite file_rec/async
zegervdv <zegervdv@me.com>
parents:
200
diff
changeset
|
173 set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.o,*.bin,*.elf,*.hex,*.eps,.git/** |
80 | 174 |
154 | 175 " Sentences are ended with double spaces |
176 set cpo+=J | |
226 | 177 " }}} |
195 | 178 " Status line {{{ |
179 function! Status() | |
180 let statusline = '' | |
200
a91590ba2b32
Replace tcomment with commentary
zegervdv <zegervdv@me.com>
parents:
196
diff
changeset
|
181 let statusline .= "%n\ " |
195 | 182 let statusline .= "%f" |
183 let statusline .= "%1*%m%0*" | |
184 let statusline .= "\ [%{strlen(&ft)?&ft:'unknown'}]" | |
185 let statusline .= "%=" | |
186 let statusline .= "%P\ " | |
187 return statusline | |
188 endfunction | |
200
a91590ba2b32
Replace tcomment with commentary
zegervdv <zegervdv@me.com>
parents:
196
diff
changeset
|
189 set laststatus=2 |
195 | 190 set statusline=%!Status() |
191 " }}} | |
101 | 192 |
226 | 193 " Mappings {{{ |
194 " Set leader to spacebar | |
174 | 195 map <space> <leader> |
40 | 196 |
0 | 197 " See long lines as line breaks |
198 map j gj | |
199 map k gk | |
200 | |
226 | 201 " Remap tag-search to better place |
202 nmap <C-$> <C-]> | |
0 | 203 |
204 " Jump to end of line in insert mode | |
33 | 205 inoremap <C-a> <C-o>I |
0 | 206 inoremap <C-e> <C-o>A |
207 | |
33 | 208 nnoremap <C-a> ^ |
209 nnoremap <C-e> $ | |
210 | |
92 | 211 nnoremap <C-s> <C-e> |
212 | |
33 | 213 nnoremap + <C-a> |
214 | |
205 | 215 " Move while in insert mode |
216 inoremap <C-f> <right> | |
0 | 217 |
4
050d4d8c6796
Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents:
3
diff
changeset
|
218 " Switch between the last two files |
175
a7247b4a7e69
Fix issue with mapping where vim would hang on unmapped <leader> keys
zegervdv <zegervdv@me.com>
parents:
174
diff
changeset
|
219 nnoremap <leader><leader> <C-^> |
4
050d4d8c6796
Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents:
3
diff
changeset
|
220 |
0 | 221 " Very Magic search patterns |
222 nmap / /\v | |
223 cmap s/ s/\v | |
224 | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
225 " 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
|
226 nnoremap n nzzzv |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
227 nnoremap N Nzzzv |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
228 |
40 | 229 " Clear highlight |
177
ca5bd373473e
Add function to search for word under cursor with Ag
zegervdv <zegervdv@me.com>
parents:
176
diff
changeset
|
230 nnoremap <silent><leader>l :noh<CR> |
40 | 231 |
0 | 232 inoremap £ \ |
233 | |
226 | 234 " Highlight last inserted text |
33 | 235 nnoremap gV `[v`] |
236 | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
237 " Highlight VCS conflict markers |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
238 match ErrorMsg '^\(<\|=\|>\)\{7\}\([^=].\+\)\?$' |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
239 |
0 | 240 " Swap v and CTRL-V |
241 nnoremap v <C-V> | |
242 nnoremap <C-V> v | |
243 | |
244 vnoremap v <C-V> | |
245 vnoremap <C-V> v | |
246 | |
247 " Use backspace as delete in visual mode | |
248 vmap <BS> x | |
249 | |
250 " Keep selection when shifting | |
251 vmap <expr> > KeepVisualSelection(">") | |
252 vmap <expr> < KeepVisualSelection("<") | |
253 | |
254 function! KeepVisualSelection(cmd) | |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
255 set nosmartindent |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
256 if mode() ==# "V" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
257 return a:cmd . ":set smartindent\<CR>gv" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
258 else |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
259 return a:cmd . ":set smartindent\<CR>" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
260 endif |
0 | 261 endfunction |
262 | |
226 | 263 " Some emacs behavior |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
264 cnoremap <c-a> <home> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
265 cnoremap <c-e> <end> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
266 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
267 " Swap backticks and quotes |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
268 nnoremap ` ' |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
269 nnoremap ' ` |
227 | 270 |
271 " Open vimrc | |
272 nnoremap <leader>ev :e $MYVIMRC<CR> | |
226 | 273 " }}} |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
274 |
226 | 275 " Functions {{{ |
276 " When editing a file, always jump to the last known cursor position. | |
277 " Don't do it for commit messages, when the position is invalid, or when | |
278 " inside an event handler (happens when dropping a file on gvim). | |
279 autocmd BufReadPost * | |
280 \ if &ft != 'gitcommit' && line("'\"") > 0 && line("'\"") <= line("$") | | |
281 \ exe "normal g`\"" | | |
282 \ endif | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
283 |
226 | 284 " Make matching parenthesis more clear |
285 " This is adapted from | |
286 " http://vim.wikia.com/wiki/Windo_and_restore_current_window | |
287 function! KeepWin(command) | |
288 let currwin=winnr() | |
289 execute a:command | |
290 execute currwin . 'wincmd w' | |
291 endfunction | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
292 |
226 | 293 augroup insertMatch |
294 au! | |
295 au VimEnter * NoMatchParen | |
296 au InsertEnter * call KeepWin("DoMatchParen") | |
297 au InsertLeave * call KeepWin("NoMatchParen") | |
298 augroup END | |
178
899ac4d147ef
Add mapping to move visually selected lines
zegervdv <zegervdv@me.com>
parents:
177
diff
changeset
|
299 |
226 | 300 " Resize splits after window resize |
301 au VimResized * exe "normal! \<c-w>=" | |
302 | |
303 " Custom folding by Steve Losh | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
304 function! MyFoldText() " {{{ |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
305 let line = getline(v:foldstart) |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
306 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
307 let nucolwidth = &fdc + &number * &numberwidth |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
308 let windowwidth = winwidth(0) - nucolwidth - 3 |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
309 let foldedlinecount = v:foldend - v:foldstart |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
310 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
311 " expand tabs into spaces |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
312 let onetab = strpart(' ', 0, &tabstop) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
313 let line = substitute(line, '\t', onetab, 'g') |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
314 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
315 let line = strpart(line, 0, windowwidth - 2 -len(foldedlinecount)) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
316 let fillcharcount = windowwidth - len(line) - len(foldedlinecount) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
317 return line . '…' . repeat(" ",fillcharcount) . foldedlinecount . '…' . ' ' |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
318 endfunction " }}} |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
319 set foldtext=MyFoldText() |
226 | 320 " }}} |
42 | 321 |
226 | 322 " Filetype specific settings |
101 | 323 " Latex {{{ |
324 " Open pdf | |
216
d216f4d5508e
Setup latex compiler for dispatch
zegervdv <zegervdv@me.com>
parents:
215
diff
changeset
|
325 nnoremap <leader>v :!open -a /Applications/TeX/TeXShop.app %:r.pdf<CR><CR> |
d216f4d5508e
Setup latex compiler for dispatch
zegervdv <zegervdv@me.com>
parents:
215
diff
changeset
|
326 " Set compiler to rubber |
219
a7355c906b3e
Change to latexmk for compiling latex
zegervdv <zegervdv@me.com>
parents:
218
diff
changeset
|
327 autocmd FileType tex setlocal makeprg=latexmk\ -pdf\ %:r |
226 | 328 au BufNewFile,BufRead,BufEnter *.tex setlocal spell spelllang=en_gb |
329 au BufNewFile,BufRead,BufEnter *.tex setlocal textwidth=0 | |
40 | 330 " }}} |
331 " Markdown {{{ | |
0 | 332 let g:vim_markdown_folding_disabled=1 |
40 | 333 " }}} |
226 | 334 " Text {{{ |
335 au BufNewFile,BufRead,BufEnter *.txt setlocal spell spelllang=en_gb | |
336 au BufNewFile,BufRead,BufEnter *.txt setlocal textwidth=0 | |
337 " }}} | |
338 " Git commit messages {{{ | |
339 au FileType gitcommit setlocal spell spelllang=en_gb | |
340 " }}} | |
341 " Ruby {{{ | |
342 autocmd BufRead *_spec.rb set filetype=rspec | |
343 " }}} | |
344 " Matlab {{{ | |
345 autocmd FileType matlab setlocal commentstring=\%\ %s | |
346 " }}} | |
347 " C {{{ | |
348 au FileType c setlocal foldmethod=syntax | |
349 " }}} | |
350 " VHDL {{{ | |
351 " VHDL ctags | |
352 let g:tlist_vhdl_settings = 'vhdl;d:package declarations;b:package bodies;e:entities;a:architecture specifications;t:type declarations;p:processes;f:functions;r:procedures' | |
353 " }}} | |
27 | 354 |
226 | 355 " Plugin settings |
40 | 356 " Tabular {{{ |
0 | 357 inoremap <silent> <Bar> <Bar><Esc>:call <SID>align()<CR>a |
358 | |
359 function! s:align() | |
360 let p = '^\s*|\s.*\s|\s*$' | |
361 if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p) | |
362 let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g')) | |
363 let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*')) | |
364 Tabularize/|/l1 | |
365 normal! 0 | |
366 call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.')) | |
367 endif | |
368 endfunction | |
369 | |
370 " Align Migration files | |
371 vmap <c-a> :Tabularize /:/l1l0l0<CR> | |
372 | |
373 nmap <Leader>a= :Tabularize /=<CR> | |
374 vmap <Leader>a= :Tabularize /=<CR> | |
375 nmap <Leader>a=> :Tabularize /=><CR> | |
376 vmap <Leader>a=> :Tabularize /=><CR> | |
377 nmap <Leader>a: :Tabularize /:\zs/l0l1<CR> | |
378 vmap <Leader>a: :Tabularize /:\zs/l0l1<CR> | |
379 nmap <Leader>a, :Tabularize /,\zs/l0l1<CR> | |
380 vmap <Leader>a, :Tabularize /,\zs/l0l1<CR> | |
381 vmap <Leader>a- :Tabularize /-<CR> | |
40 | 382 " }}} |
190 | 383 " Syntastic {{{ |
384 let g:syntastic_check_on_open=1 | |
385 " }}} | |
40 | 386 " Gundo tree {{{ |
0 | 387 nnoremap <leader>u :GundoToggle<CR> |
40 | 388 " }}} |
216
d216f4d5508e
Setup latex compiler for dispatch
zegervdv <zegervdv@me.com>
parents:
215
diff
changeset
|
389 " Dispatch {{{ |
d216f4d5508e
Setup latex compiler for dispatch
zegervdv <zegervdv@me.com>
parents:
215
diff
changeset
|
390 nnoremap <leader>s :Make<CR> |
217 | 391 autocmd FileType python setlocal makeprg=ipython\ --pdb\ % |
218 | 392 autocmd FileType ruby setlocal makeprg=ruby\ % |
189
925861e874ec
Add vim-tmux-navigator for seamless navigation
zegervdv <zegervdv@me.com>
parents:
188
diff
changeset
|
393 " }}} |
226 | 394 " CtrlP {{{ |
395 if executable('ag') | |
396 set grepprg=ag\ --nogroup\ --color | |
397 | |
398 let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' | |
399 let g:ctrlp_use_caching = 0 | |
400 endif | |
401 " }}} | |
215
ffe47a1b75f8
Add Scratch plugin and lazyload some plugins
zegervdv <zegervdv@me.com>
parents:
214
diff
changeset
|
402 |
13 | 403 " Load local vimrc |
3
44d3af8838f8
Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents:
0
diff
changeset
|
404 if filereadable($HOME . "/.vimrc.local") |
44d3af8838f8
Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents:
0
diff
changeset
|
405 source ~/.vimrc.local |
44d3af8838f8
Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents:
0
diff
changeset
|
406 endif |
24 | 407 |
209 | 408 " Load project local vimrc |
409 if filereadable(".vimrc.local") | |
410 source .vimrc.local | |
411 endif | |
412 |