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