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