Mercurial > dotfiles.old
annotate vimrc @ 152:884d14e94710
Updates to zsh theme
author | zegervdv <zegervdv@me.com> |
---|---|
date | Tue, 21 Oct 2014 09:07:09 +0200 |
parents | 0d420021bd5d |
children | 6355d2b31b9a |
rev | line source |
---|---|
27 | 1 " vim:fdm=marker |
2 | |
3 " General Settings {{{ | |
0 | 4 set nocompatible |
5 set laststatus=2 | |
6 set noshowmode | |
7 | |
101 | 8 let g:pathogen_disabled = ['ack','latex'] |
0 | 9 execute pathogen#infect() |
10 | |
11 set backspace=2 | |
12 set autowrite | |
13 | |
14 set vb | |
15 set guioptions-=r | |
16 set guioptions-=l | |
17 set guioptions-=R | |
18 set guioptions-=L | |
19 | |
20 syntax on | |
21 set expandtab | |
22 set number | |
23 set ruler | |
24 set nocursorline | |
25 set showmatch | |
26 set title | |
27 set wrap | |
28 set wrapmargin=2 | |
29 set linebreak | |
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 |
60 set diffopt+=iwhite | |
61 | |
79 | 62 set tags=.git/tags |
63 | |
0 | 64 set formatoptions= |
65 set formatoptions+=c " Format comments | |
66 set formatoptions+=r " Continue comments by default | |
67 set formatoptions+=o " Make comment when using o or O from comment line | |
68 set formatoptions+=q " Format comments with gq | |
69 set formatoptions+=n " Recognize numbered lists | |
70 set formatoptions+=2 " Use indent from 2nd line of a paragraph | |
71 set formatoptions+=l " Don't break lines that are already long | |
72 set formatoptions+=1 " Break before 1-letter words | |
73 | |
92 | 74 set complete+=kspell |
75 | |
0 | 76 set splitright |
77 set virtualedit=block | |
78 set conceallevel=0 | |
79 | |
80 set cryptmethod=blowfish | |
81 | |
82 filetype plugin indent on | |
83 autocmd FileType ruby set tabstop=2|set shiftwidth=2 | |
84 | |
107
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
85 set pastetoggle=<F2> |
0 | 86 set clipboard=unnamed |
87 | |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
88 set undofile |
16 | 89 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
|
90 |
80 | 91 set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.o,*.bin,*.elf,*.hex |
92 | |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
93 " set list |
91 | 94 " set listchars=tab:▸\ ,eol:¬ |
27 | 95 " }}} |
96 " Custom remaps and tricks {{{ | |
101 | 97 " Enable spelling only for latex and text |
98 au BufNewFile,BufRead,BufEnter *.tex setlocal spell spelllang=en_gb | |
99 au BufNewFile,BufRead,BufEnter *.tex setlocal textwidth=0 | |
100 au BufNewFile,BufRead,BufEnter *.txt setlocal spell spelllang=en_gb | |
101 au BufNewFile,BufRead,BufEnter *.txt setlocal textwidth=0 | |
102 | |
140
e037d9b797eb
Fix colors and clipboad in vim and tmux
zegervdv <zegervdv@me.com>
parents:
135
diff
changeset
|
103 highlight SpellBad ctermbg=256 ctermfg=210 |
e037d9b797eb
Fix colors and clipboad in vim and tmux
zegervdv <zegervdv@me.com>
parents:
135
diff
changeset
|
104 highlight SpellLocal ctermbg=240 ctermfg=010 |
101 | 105 |
16 | 106 " When editing a file, always jump to the last known cursor position. |
107 " Don't do it for commit messages, when the position is invalid, or when | |
108 " inside an event handler (happens when dropping a file on gvim). | |
109 autocmd BufReadPost * | |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
110 \ if &ft != 'gitcommit' && line("'\"") > 0 && line("'\"") <= line("$") | |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
111 \ exe "normal g`\"" | |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
112 \ endif |
0 | 113 |
40 | 114 " Set leader to , |
115 let mapleader = "," | |
116 | |
0 | 117 " See long lines as line breaks |
118 map j gj | |
119 map k gk | |
120 | |
121 " 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
|
122 " nmap <C-$> <C-]> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
123 function! JumpToTagInSplit() |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
124 execute "normal! \<c-w>v\<c-]>mzzMzvzz15\<c-e>" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
125 execute "keepjumps normal! `z" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
126 Pulse |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
127 endfunction |
94
c31e63aba1dd
Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents:
93
diff
changeset
|
128 nnoremap <C-$> :silent! call JumpToTagInSplit()<CR> |
0 | 129 |
130 " Jump to end of line in insert mode | |
33 | 131 inoremap <C-a> <C-o>I |
0 | 132 inoremap <C-e> <C-o>A |
133 | |
33 | 134 nnoremap <C-a> ^ |
135 nnoremap <C-e> $ | |
136 | |
92 | 137 nnoremap <C-s> <C-e> |
138 | |
33 | 139 nnoremap + <C-a> |
140 | |
141 " Jump out of inner bracket | |
142 inoremap <C-f> <ESC>%%a | |
0 | 143 |
4
050d4d8c6796
Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents:
3
diff
changeset
|
144 " Switch between the last two files |
050d4d8c6796
Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents:
3
diff
changeset
|
145 nnoremap <SPACE><SPACE> <C-^> |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
146 " Move between buffers |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
147 nnoremap gb :bnext<CR> |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
148 nnoremap gB :bprevious<CR> |
4
050d4d8c6796
Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents:
3
diff
changeset
|
149 |
0 | 150 " Very Magic search patterns |
151 nmap / /\v | |
152 cmap s/ s/\v | |
153 | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
154 " 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
|
155 nnoremap n nzzzv |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
156 nnoremap N Nzzzv |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
157 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
158 " Show local search results in quickfix |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
159 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
|
160 nnoremap <silent> <leader>? :Ag <cword><CR> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
161 " 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
|
162 |
40 | 163 " Clear highlight |
107
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
164 nnoremap <silent> <C-l> :nohl<CR> |
40 | 165 |
0 | 166 inoremap £ \ |
167 | |
32
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
168 nnoremap <TAB> % |
2da8d8daa033
Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents:
29
diff
changeset
|
169 vnoremap <TAB> % |
0 | 170 |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
171 " Move between tabs |
122 | 172 map <leader> w <ESC>:tabprevious<CR> |
173 map <leader> n <ESC>:tabnext<CR> | |
107
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
174 |
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
175 " Move between splits |
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
176 map <C-j> <C-w>j |
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
177 map <C-k> <C-w>k |
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
178 map <C-l> <C-w>l |
508b8bc6ffd5
Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents:
104
diff
changeset
|
179 map <C-h> <C-w>h |
34
3ed98613040a
Add mapping to switch between tabs in vim
zegervdv <zegervdv@me.com>
parents:
33
diff
changeset
|
180 |
33 | 181 " highlight last inserted text |
182 nnoremap gV `[v`] | |
183 | |
184 " Briefly change colour of last highlight | |
94
c31e63aba1dd
Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents:
93
diff
changeset
|
185 " nnoremap <silent> n n:call HLNext(0.4)<cr> |
c31e63aba1dd
Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents:
93
diff
changeset
|
186 " nnoremap <silent> N N:call HLNext(0.4)<cr> |
0 | 187 |
188 function! HLNext (blinktime) | |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
189 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
|
190 let [bufnum, lnum, col, off] = getpos('.') |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
191 let matchlen = strlen(matchstr(strpart(getline('.'),col-1),@/)) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
192 let target_pat = '\c\%#'.@/ |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
193 let ring = matchadd('WhiteOnRed', target_pat, 101) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
194 redraw |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
195 exec 'sleep ' . float2nr(a:blinktime * 1000) . 'm' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
196 call matchdelete(ring) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
197 redraw |
0 | 198 endfunction |
199 | |
94
c31e63aba1dd
Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents:
93
diff
changeset
|
200 " 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
|
201 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
|
202 |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
203 " Highlight VCS conflict markers |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
204 match ErrorMsg '^\(<\|=\|>\)\{7\}\([^=].\+\)\?$' |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
205 |
0 | 206 " Swap v and CTRL-V |
207 nnoremap v <C-V> | |
208 nnoremap <C-V> v | |
209 | |
210 vnoremap v <C-V> | |
211 vnoremap <C-V> v | |
212 | |
213 " Use backspace as delete in visual mode | |
214 vmap <BS> x | |
215 | |
216 " Keep selection when shifting | |
217 vmap <expr> > KeepVisualSelection(">") | |
218 vmap <expr> < KeepVisualSelection("<") | |
219 | |
220 function! KeepVisualSelection(cmd) | |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
221 set nosmartindent |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
222 if mode() ==# "V" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
223 return a:cmd . ":set smartindent\<CR>gv" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
224 else |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
225 return a:cmd . ":set smartindent\<CR>" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
226 endif |
0 | 227 endfunction |
228 | |
229 let g:indent_guides_auto_colors = 0 | |
230 let g:indent_guides_guide_size = 1 | |
231 highlight IndentGuidesEven guibg=background | |
232 highlight IndentGuidesOdd guibg='#282a2e' | |
233 | |
42 | 234 au FileType c setl foldmethod=syntax |
235 | |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
236 au VimResized * exe "normal! \<c-w>=" |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
237 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
238 cnoremap <c-a> <home> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
239 cnoremap <c-e> <end> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
240 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
241 " Swap backticks and quotes |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
242 nnoremap ` ' |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
243 nnoremap ' ` |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
244 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
245 " 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
|
246 " 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
|
247 inoremap <C-u> <esc>mzgUiw`za |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
248 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
249 nnoremap <leader>ev :vsplit $MYVIMRC<cr> |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
250 |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
251 function! MyFoldText() " {{{ |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
252 let line = getline(v:foldstart) |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
253 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
254 let nucolwidth = &fdc + &number * &numberwidth |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
255 let windowwidth = winwidth(0) - nucolwidth - 3 |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
256 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
|
257 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
258 " expand tabs into spaces |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
259 let onetab = strpart(' ', 0, &tabstop) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
260 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
|
261 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
262 let line = strpart(line, 0, windowwidth - 2 -len(foldedlinecount)) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
263 let fillcharcount = windowwidth - len(line) - len(foldedlinecount) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
264 return line . '…' . repeat(" ",fillcharcount) . foldedlinecount . '…' . ' ' |
85
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
265 endfunction " }}} |
8a5464ec3c29
Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents:
82
diff
changeset
|
266 set foldtext=MyFoldText() |
42 | 267 |
122 | 268 " Next and Last {{{ |
269 " | |
270 " Motion for "next/last object". "Last" here means "previous", not "final". | |
271 " Unfortunately the "p" motion was already taken for paragraphs. | |
272 " | |
273 " Next acts on the next object of the given type, last acts on the previous | |
274 " object of the given type. These don't necessarily have to be in the current | |
275 " line. | |
276 " | |
277 " Currently works for (, [, {, and their shortcuts b, r, B. | |
278 " | |
279 " Next kind of works for ' and " as long as there are no escaped versions of | |
280 " them in the string (TODO: fix that). Last is currently broken for quotes | |
281 " (TODO: fix that). | |
282 " | |
283 " Some examples (C marks cursor positions, V means visually selected): | |
284 " | |
285 " din' -> delete in next single quotes foo = bar('spam') | |
286 " C | |
287 " foo = bar('') | |
288 " C | |
289 " | |
290 " canb -> change around next parens foo = bar('spam') | |
291 " C | |
292 " foo = bar | |
293 " C | |
294 " | |
295 " vin" -> select inside next double quotes print "hello ", name | |
296 " C | |
297 " print "hello ", name | |
298 " VVVVVV | |
299 | |
300 onoremap an :<c-u>call <SID>NextTextObject('a', '/')<cr> | |
301 xnoremap an :<c-u>call <SID>NextTextObject('a', '/')<cr> | |
302 onoremap in :<c-u>call <SID>NextTextObject('i', '/')<cr> | |
303 xnoremap in :<c-u>call <SID>NextTextObject('i', '/')<cr> | |
304 | |
305 onoremap al :<c-u>call <SID>NextTextObject('a', '?')<cr> | |
306 xnoremap al :<c-u>call <SID>NextTextObject('a', '?')<cr> | |
307 onoremap il :<c-u>call <SID>NextTextObject('i', '?')<cr> | |
308 xnoremap il :<c-u>call <SID>NextTextObject('i', '?')<cr> | |
309 | |
310 | |
311 function! s:NextTextObject(motion, dir) | |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
312 let c = nr2char(getchar()) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
313 let d = '' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
314 |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
315 if c ==# "b" || c ==# "(" || c ==# ")" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
316 let c = "(" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
317 elseif c ==# "B" || c ==# "{" || c ==# "}" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
318 let c = "{" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
319 elseif c ==# "r" || c ==# "[" || c ==# "]" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
320 let c = "[" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
321 elseif c ==# "'" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
322 let c = "'" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
323 elseif c ==# '"' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
324 let c = '"' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
325 else |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
326 return |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
327 endif |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
328 |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
329 " Find the next opening-whatever. |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
330 execute "normal! " . a:dir . c . "\<cr>" |
122 | 331 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
332 if a:motion ==# 'a' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
333 " If we're doing an 'around' method, we just need to select around it |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
334 " and we can bail out to Vim. |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
335 execute "normal! va" . c |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
336 else |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
337 " Otherwise we're looking at an 'inside' motion. Unfortunately these |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
338 " get tricky when you're dealing with an empty set of delimiters because |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
339 " Vim does the wrong thing when you say vi(. |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
340 |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
341 let open = '' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
342 let close = '' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
343 |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
344 if c ==# "(" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
345 let open = "(" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
346 let close = ")" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
347 elseif c ==# "{" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
348 let open = "{" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
349 let close = "}" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
350 elseif c ==# "[" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
351 let open = "\\[" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
352 let close = "\\]" |
122 | 353 elseif c ==# "'" |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
354 let open = "'" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
355 let close = "'" |
122 | 356 elseif c ==# '"' |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
357 let open = '"' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
358 let close = '"' |
122 | 359 endif |
360 | |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
361 " We'll start at the current delimiter. |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
362 let start_pos = getpos('.') |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
363 let start_l = start_pos[1] |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
364 let start_c = start_pos[2] |
122 | 365 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
366 " Then we'll find it's matching end delimiter. |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
367 if c ==# "'" || c ==# '"' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
368 " searchpairpos() doesn't work for quotes, because fuck me. |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
369 let end_pos = searchpos(open) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
370 else |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
371 let end_pos = searchpairpos(open, '', close) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
372 endif |
122 | 373 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
374 let end_l = end_pos[0] |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
375 let end_c = end_pos[1] |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
376 |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
377 call setpos('.', start_pos) |
122 | 378 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
379 if start_l == end_l && start_c == (end_c - 1) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
380 " We're in an empty set of delimiters. We'll append an "x" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
381 " character and select that so most Vim commands will do something |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
382 " sane. v is gonna be weird, and so is y. Oh well. |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
383 execute "normal! ax\<esc>\<left>" |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
384 execute "normal! vi" . c |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
385 elseif start_l == end_l && start_c == (end_c - 2) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
386 " We're on a set of delimiters that contain a single, non-newline |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
387 " character. We can just select that and we're done. |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
388 execute "normal! vi" . c |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
389 else |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
390 " Otherwise these delimiters contain something. But we're still not |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
391 " sure Vim's gonna work, because if they contain nothing but |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
392 " newlines Vim still does the wrong thing. So we'll manually select |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
393 " the guts ourselves. |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
394 let whichwrap = &whichwrap |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
395 set whichwrap+=h,l |
122 | 396 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
397 execute "normal! va" . c . "hol" |
122 | 398 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
399 let &whichwrap = whichwrap |
122 | 400 endif |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
401 endif |
122 | 402 endfunction |
27 | 403 " }}} |
122 | 404 " VHDL ctags |
405 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 | 406 " }}} |
101 | 407 " Latex {{{ |
408 " Compile using rubber | |
409 nnoremap <leader>m :w<CR>:VimProcBang rubber --pdf --warn all %<CR> | |
410 " Open pdf | |
104
ee15a19325bb
Silence output of open pdf mapping for tex
zegervdv <zegervdv@me.com>
parents:
103
diff
changeset
|
411 nnoremap <silent> <leader>v :silent !open %:r.pdf<CR><CR> |
101 | 412 " }}} |
40 | 413 " Vim Math plugin; make simple calculations {{{ |
0 | 414 vmap <expr> ++ VMATH_YankAndAnalyse() |
415 nmap ++ vip++ | |
40 | 416 " }}} |
417 " Airline configuration {{{ | |
0 | 418 let g:airline_inactive_collapse=0 |
419 let g:airline_powerline_fonts=1 | |
420 | |
421 let g:airline_left_sep = '' | |
422 let g:airline_right_sep = '' | |
423 | |
131 | 424 if has("gui_running") |
425 let g:airline_theme = 'base16' | |
426 else | |
427 let g:airline_theme = 'tomorrow' | |
428 endif | |
80 | 429 let g:airline#extensions#syntastic#enabled = 1 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
430 let g:airline#extensions#tabline#enabled = 1 |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
431 let g:airline#extensions#tabline#fnamemod = ':t' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
432 let g:airline#extensions#tabline#left_sep = '' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
433 let g:airline#extensions#tabline#left_alt_sep = '' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
434 let g:airline#extensions#tabline#right_sep = '' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
435 let g:airline#extensions#tabline#right_alt_sep = '' |
40 | 436 " }}} |
93
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
437 " Unite {{{ |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
438 call unite#filters#matcher_default#use(['matcher_fuzzy','matcher_regexp']) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
439 call unite#filters#sorter_default#use(['sorter_rank']) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
440 " call unite#set_profile('files', 'smartcase', 1) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
441 call unite#custom#profile('files', 'context.smartcase', 1) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
442 call unite#custom#source('line,outline', 'matchers', 'matcher_fuzzy') |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
443 call unite#custom#source( 'buffer', 'converters', ['converter_file_directory']) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
444 " sort file results by length |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
445 call unite#custom#source('file', 'sorters', 'sorter_length') |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
446 call unite#custom#source('file_rec/async', 'sorters', 'sorter_length') |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
447 let g:unite_enable_start_insert=0 |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
448 let g:unite_source_history_yank_enable=1 |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
449 let g:unite_source_rec_max_cache_files=3000 |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
450 let g:unite_prompt='» ' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
451 if executable('ag') |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
452 let g:unite_source_grep_command = 'ag' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
453 let g:unite_source_grep_default_opts = |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
454 \ '-i --line-numbers --nocolor --nogroup --hidden --ignore ' . |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
455 \ '''.hg'' --ignore ''.svn'' --ignore ''.git'' --ignore ''.bzr''' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
456 let g:unite_source_grep_recursive_opt = '' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
457 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
|
458 elseif executable('ack') |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
459 let g:unite_source_grep_command='ack' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
460 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
|
461 let g:unite_source_grep_recursive_opt='' |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
462 endif |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
463 function! s:unite_settings() |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
464 nmap <buffer> Q <plug>(unite_exit) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
465 nmap <buffer> <esc> <plug>(unite_exit) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
466 imap <buffer> <C-j> <Plug>(unite_select_next_line) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
467 imap <buffer> <C-k> <Plug>(unite_select_previous_line) |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
468 endfunction |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
469 autocmd FileType unite call s:unite_settings() |
93
8278ded5eb8c
Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents:
92
diff
changeset
|
470 |
146
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
471 nnoremap <silent> <SPACE>m :<C-u>Unite -auto-preview -buffer-name=recent file_mru<cr> |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
472 nnoremap <silent> <SPACE>y :<C-u>Unite -buffer-name=yanks history/yank<cr> |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
473 nnoremap <silent> <SPACE>l :<C-u>Unite -start-insert -auto-resize -buffer-name=line line<cr> |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
474 nnoremap <silent> <SPACE>b :<C-u>Unite everything/async<cr> |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
475 nnoremap <silent> <SPACE>/ :<C-u>Unite -no-quit -buffer-name=search grep:.<cr> |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
476 nnoremap <silent> <SPACE>k :<C-u>Unite -auto-resize -buffer-name=mappings mapping<cr> |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
477 nnoremap <silent> <SPACE>s :<C-u>Unite -quick-match buffer<cr> |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
478 nnoremap <silent> <SPACE>o :<C-u>Unite outline<CR> |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
479 nnoremap <silent> <SPACE>t :<C-u>Unite tag<CR> |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
480 nnoremap <silent> <C-p> :<C-u>Unite -start-insert file_rec/async buffer<CR> |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
481 nnoremap <silent> <SPACE>h :<C-u>Unite ssh://Hurricane/STM-Quadcopter/source<CR> |
3333853b8bbe
Use airline - tabline for buffer management
zegervdv <zegervdv@me.com>
parents:
144
diff
changeset
|
482 nnoremap <silent> <SPACE>i :<C-u>Unite ssh://imac-van-zeger.local/Documents<CR> |
40 | 483 " }}} |
103 | 484 " Unite Build {{{ |
485 " TODO: Create builders eg Latex, Vagrant? | |
486 " }}} | |
98 | 487 " Vimfiler {{{ |
488 " Use vimfiler as default | |
489 let g:vimfiler_as_default_explorer = 1 | |
490 nnoremap <leader>e :VimFilerExplorer<CR> | |
109 | 491 let g:vimfiler_ignore_pattern = '\%(.o\|.bin\|.elf\|.un\~\|.swp\)$' |
98 | 492 " }}} |
40 | 493 " Vim - Rspec {{{ |
0 | 494 map <leader>t :call RunCurrentSpecFile()<CR> |
140
e037d9b797eb
Fix colors and clipboad in vim and tmux
zegervdv <zegervdv@me.com>
parents:
135
diff
changeset
|
495 " map <leader>s :call RunNearestSpec()<CR> |
e037d9b797eb
Fix colors and clipboad in vim and tmux
zegervdv <zegervdv@me.com>
parents:
135
diff
changeset
|
496 " map <leader>l :call RunLastSpec()<CR> |
e037d9b797eb
Fix colors and clipboad in vim and tmux
zegervdv <zegervdv@me.com>
parents:
135
diff
changeset
|
497 " map <leader>r :call RunAllSpecs()<CR> |
40 | 498 " }}} |
499 " Cucumber {{{ | |
0 | 500 map <leader>f :call RunAllFeatures()<CR> |
501 map <leader>k :call RunCurrentFeature()<CR> | |
40 | 502 " }}} |
503 " Markdown {{{ | |
0 | 504 let g:vim_markdown_folding_disabled=1 |
40 | 505 " }}} |
506 " tComment {{{ | |
0 | 507 nmap <leader>c <C-_><C-_> |
40 | 508 " }}} |
509 " Neo Complete {{{ | |
91 | 510 let g:neocomplete#enable_at_startup = 1 |
511 let g:neocomplet#enable_smart_case = 1 | |
512 let g:marching_enable_neocomplete = 1 | |
102 | 513 let g:neocomplete#enable_fuzzy_completion = 1 |
27 | 514 |
91 | 515 inoremap <expr><s-CR> pumvisible() ? neocomplete#smart_close_popup()"\<CR>" : "\<CR>" |
516 inoremap <expr><C-g> neocomplete#undo_completion() | |
517 inoremap <expr><C-l> neocomplete#complete_common_string() | |
518 function! CleverCr() | |
519 if pumvisible() | |
520 if neosnippet#expandable() | |
521 let exp = "\<Plug>(neosnippet_expand)" | |
522 return exp . neocomplete#smart_close_popup() | |
523 else | |
524 return neocomplete#smart_close_popup() | |
525 endif | |
526 else | |
527 return "\<CR>" | |
528 endif | |
529 endfunction | |
530 " <CR> close popup and save indent or expand snippet | |
531 imap <expr> <CR> CleverCr() | |
40 | 532 " }}} |
533 " Neo Snippets {{{ | |
0 | 534 imap <C-k> <Plug>(neosnippet_expand_or_jump) |
535 smap <C-k> <Plug>(neosnippet_expand_or_jump) | |
536 xmap <C-k> <Plug>(neosnippet_expand_target) | |
537 | |
23
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
538 " imap <expr><TAB> neosnippet#expandable_or_jumpable() ? |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
539 " \ "\<Plug>(neosnippet_expand_or_jump)" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
540 " \: pumvisible() ? "\<C-n>" : "\<TAB>" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
541 " smap <expr><TAB> neosnippet#expandable_or_jumpable() ? |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
542 " \ "\<Plug>(neosnippet_expand_or_jump)" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
543 " \: "\<TAB>" |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
544 |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
545 |
4112c6eb9f47
Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents:
22
diff
changeset
|
546 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
|
547 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
|
548 smap <expr><TAB> neosnippet#expandable() == 1 ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>" |
90 | 549 " let g:neocomplete#sources#omni#input_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::' |
0 | 550 |
551 let g:neosnippet#snippets_directory='~/.vim/snippets' | |
40 | 552 " }}} |
553 " Tabular {{{ | |
0 | 554 inoremap <silent> <Bar> <Bar><Esc>:call <SID>align()<CR>a |
555 | |
556 function! s:align() | |
557 let p = '^\s*|\s.*\s|\s*$' | |
558 if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p) | |
559 let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g')) | |
560 let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*')) | |
561 Tabularize/|/l1 | |
562 normal! 0 | |
563 call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.')) | |
564 endif | |
565 endfunction | |
566 | |
567 " Align Migration files | |
568 vmap <c-a> :Tabularize /:/l1l0l0<CR> | |
569 | |
570 nmap <Leader>a= :Tabularize /=<CR> | |
571 vmap <Leader>a= :Tabularize /=<CR> | |
572 nmap <Leader>a=> :Tabularize /=><CR> | |
573 vmap <Leader>a=> :Tabularize /=><CR> | |
574 nmap <Leader>a: :Tabularize /:\zs/l0l1<CR> | |
575 vmap <Leader>a: :Tabularize /:\zs/l0l1<CR> | |
576 nmap <Leader>a, :Tabularize /,\zs/l0l1<CR> | |
577 vmap <Leader>a, :Tabularize /,\zs/l0l1<CR> | |
578 vmap <Leader>a- :Tabularize /-<CR> | |
40 | 579 " }}} |
580 " Tagbar {{{ | |
0 | 581 nmap <F8> :TagbarToggle<CR> |
40 | 582 " }}} |
583 " Gundo tree {{{ | |
0 | 584 nnoremap <leader>u :GundoToggle<CR> |
40 | 585 " }}} |
586 " Smalls {{{ | |
13 | 587 nmap s <Plug>(smalls) |
588 omap s <Plug>(smalls) | |
589 xmap s <Plug>(smalls) | |
40 | 590 " }}} |
591 " Textmanip {{{ | |
14
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
592 xmap <C-j> <Plug>(textmanip-move-down) |
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
593 xmap <C-k> <Plug>(textmanip-move-up) |
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
594 xmap <C-h> <Plug>(textmanip-move-left) |
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
595 xmap <C-l> <Plug>(textmanip-move-right) |
09c60bc0fc38
Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents:
13
diff
changeset
|
596 xmap <F10> <Plug>(textmanip-toggle-mode) |
40 | 597 " }}} |
598 " Startify {{{ | |
27 | 599 let g:startify_session_dir = "~/.vim/sessions" |
600 " }}} | |
54 | 601 " Vimwiki {{{ |
602 let g:vimwiki_list=[{'path':'$HOME/.vimwiki'}] | |
603 " }}} | |
58
b657d43a4fcb
Stop asking to save current session
zegervdv <zegervdv@me.com>
parents:
54
diff
changeset
|
604 " Vim Sessions {{{ |
b657d43a4fcb
Stop asking to save current session
zegervdv <zegervdv@me.com>
parents:
54
diff
changeset
|
605 let g:session_autosave = 'no' |
b657d43a4fcb
Stop asking to save current session
zegervdv <zegervdv@me.com>
parents:
54
diff
changeset
|
606 " }}} |
96 | 607 " Jedi {{{ |
608 let g:jedi#auto_vim_configuration=0 | |
102 | 609 let g:jedi#completions_enabled = 0 |
96 | 610 " }}} |
133 | 611 " Vimux {{{ |
152 | 612 let g:VimuxUseNearest = 1 |
134 | 613 nnoremap <silent><leader>s :w<CR>:call VimuxRunCommand('%run -i ' . expand('%'))<CR> |
133 | 614 " }}} |
135
ff0f692ad70c
Add tmuxline to match style of vim
zegervdv <zegervdv@me.com>
parents:
134
diff
changeset
|
615 " Tmuxline {{{ |
ff0f692ad70c
Add tmuxline to match style of vim
zegervdv <zegervdv@me.com>
parents:
134
diff
changeset
|
616 let g:tmuxline_powerline_separators=0 |
ff0f692ad70c
Add tmuxline to match style of vim
zegervdv <zegervdv@me.com>
parents:
134
diff
changeset
|
617 " }}} |
27 | 618 |
13 | 619 " Load local vimrc |
3
44d3af8838f8
Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents:
0
diff
changeset
|
620 if filereadable($HOME . "/.vimrc.local") |
44d3af8838f8
Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents:
0
diff
changeset
|
621 source ~/.vimrc.local |
44d3af8838f8
Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents:
0
diff
changeset
|
622 endif |
24 | 623 |