annotate vimrc @ 87:aefa231684d9

Add extra motions
author zegervdv <zegervdv@me.com>
date Fri, 01 Aug 2014 07:08:40 +0200
parents 8a5464ec3c29
children 3fdc762fe6bb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
1 " vim:fdm=marker
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
2
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
3 " General Settings {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
4 set nocompatible
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
5 set laststatus=2
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
6 set noshowmode
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
7
42
4c3b25554bbb Enable smart folding
zegervdv <zegervdv@me.com>
parents: 40
diff changeset
8 let g:pathogen_disabled = ['ack']
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
9 execute pathogen#infect()
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
10
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
11 set backspace=2
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
12 set autowrite
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
13
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
14 set vb
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
15 set guioptions-=r
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
16 set guioptions-=l
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
17 set guioptions-=R
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
18 set guioptions-=L
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
19
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
20 syntax on
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
21 set expandtab
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
22 set number
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
23 set ruler
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
24 set nocursorline
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
25 set showmatch
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
26 set title
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
27 set wrap
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
28 set wrapmargin=2
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
29 set linebreak
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
30 set lbr
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
31 set tabstop=2 shiftwidth=2
21
bf5c5093bad9 Add Base16-Ocean-Dark colorscheme
zegervdv <zegervdv@me.com>
parents: 19
diff changeset
32 if has("gui_running")
bf5c5093bad9 Add Base16-Ocean-Dark colorscheme
zegervdv <zegervdv@me.com>
parents: 19
diff changeset
33 set background=dark
35
63f450f5c3fb Update plugins
zegervdv <zegervdv@me.com>
parents: 34
diff changeset
34 " color base16-ocean
22
b2c16cd71d95 Add math plugin
zegervdv <zegervdv@me.com>
parents: 21
diff changeset
35 color hybrid
21
bf5c5093bad9 Add Base16-Ocean-Dark colorscheme
zegervdv <zegervdv@me.com>
parents: 19
diff changeset
36 else
bf5c5093bad9 Add Base16-Ocean-Dark colorscheme
zegervdv <zegervdv@me.com>
parents: 19
diff changeset
37 color hybrid
bf5c5093bad9 Add Base16-Ocean-Dark colorscheme
zegervdv <zegervdv@me.com>
parents: 19
diff changeset
38 endif
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
39 set guifont=Inconsolata\ for\ Powerline:h12
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
40 set autowrite
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
41 set hidden
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
42 set hlsearch
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
43 set incsearch
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
44 set ignorecase
32
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
45 set gdefault
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
46 set smartcase
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
47 set smartindent
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
48 set autoindent
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
49 set scrolloff=4
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
50 set textwidth=80
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
51
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
52 set history=100
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
53 set wildmenu
19
4ee5a11d8355 Improvements
zegervdv <zegervdv@me.com>
parents: 18
diff changeset
54 set wildmode=full
79
7d3ded16eaa2 Fix git and ctags hooks
zegervdv <zegervdv@me.com>
parents: 72
diff changeset
55 set ttyfast
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
56 set lazyredraw
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
57
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
58 set diffopt+=iwhite
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
59
79
7d3ded16eaa2 Fix git and ctags hooks
zegervdv <zegervdv@me.com>
parents: 72
diff changeset
60 set tags=.git/tags
7d3ded16eaa2 Fix git and ctags hooks
zegervdv <zegervdv@me.com>
parents: 72
diff changeset
61
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
62 set formatoptions=
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
63 set formatoptions+=c " Format comments
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
64 set formatoptions+=r " Continue comments by default
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
65 set formatoptions+=o " Make comment when using o or O from comment line
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
66 set formatoptions+=q " Format comments with gq
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
67 set formatoptions+=n " Recognize numbered lists
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
68 set formatoptions+=2 " Use indent from 2nd line of a paragraph
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
69 set formatoptions+=l " Don't break lines that are already long
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
70 set formatoptions+=1 " Break before 1-letter words
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
71
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
72 set splitright
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
73 set virtualedit=block
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
74 set conceallevel=0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
75
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
76 set cryptmethod=blowfish
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
77
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
78 filetype plugin indent on
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
79 autocmd FileType ruby set tabstop=2|set shiftwidth=2
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
80
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
81 set clipboard=unnamed
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
82
32
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
83 set undofile
16
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
84 set viminfo='10,\"100,:20,%,n~/.viminfo
32
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
85
80
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
86 set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.o,*.bin,*.elf,*.hex
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
87
32
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
88 " set list
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
89 set listchars=tab:▸\ ,eol:¬
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
90 " }}}
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
91 " Custom remaps and tricks {{{
16
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
92 " When editing a file, always jump to the last known cursor position.
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
93 " Don't do it for commit messages, when the position is invalid, or when
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
94 " inside an event handler (happens when dropping a file on gvim).
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
95 autocmd BufReadPost *
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
96 \ if &ft != 'gitcommit' && line("'\"") > 0 && line("'\"") <= line("$") |
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
97 \ exe "normal g`\"" |
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
98 \ endif
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
99
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
100 nnoremap <F5> :buffers<CR>:buffer<Space>
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
101
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
102 " Set leader to ,
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
103 let mapleader = ","
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
104
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
105 map <Leader>d :bp<bar>sp<bar>bn<bar>bd<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
106
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
107 " See long lines as line breaks
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
108 map j gj
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
109 map k gk
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
110
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
111 " remap tag-search to better place
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
112 " nmap <C-$> <C-]>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
113 function! JumpToTagInSplit()
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
114 execute "normal! \<c-w>v\<c-]>mzzMzvzz15\<c-e>"
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
115 execute "keepjumps normal! `z"
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
116 Pulse
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
117 endfunction
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
118 nnoremap <c-$> :silent! call JumpToTag()<cr>
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
119
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
120 " Jump to end of line in insert mode
33
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
121 inoremap <C-a> <C-o>I
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
122 inoremap <C-e> <C-o>A
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
123
33
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
124 nnoremap <C-a> ^
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
125 nnoremap <C-e> $
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
126
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
127 nnoremap + <C-a>
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
128
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
129 " Jump out of inner bracket
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
130 inoremap <C-f> <ESC>%%a
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
131
4
050d4d8c6796 Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents: 3
diff changeset
132 " Switch between the last two files
050d4d8c6796 Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents: 3
diff changeset
133 nnoremap <SPACE><SPACE> <C-^>
050d4d8c6796 Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents: 3
diff changeset
134
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
135 " Very Magic search patterns
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
136 nmap / /\v
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
137 cmap s/ s/\v
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
138
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
139 " Keep search matches in the middle of the window.
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
140 nnoremap n nzzzv
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
141 nnoremap N Nzzzv
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
142
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
143 " Show local search results in quickfix
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
144 nnoremap <silent> <leader>/ :execute 'vimgrep /'.@/.'/g %'<CR>:copen<CR>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
145 nnoremap <silent> <leader>? :Ag <cword><CR>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
146 " nnoremap <silent> <leader>? :execute "Ag! '" . substitute(substitute(substitute(@/, "\\\\<", "\\\\b", ""), "\\\\>", "\\\\b", ""), "\\\\v", "","") . "'"<CR>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
147
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
148 " Clear highlight
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
149 nnoremap <silent> <leader>n :nohlsearch<CR>
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
150
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
151 inoremap £ \
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
152
32
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
153 nnoremap <TAB> %
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
154 vnoremap <TAB> %
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
155
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
156 " Move between tabs
82
5fd16ed8bb6d Add vimsessions
zegervdv <zegervdv@me.com>
parents: 80
diff changeset
157 nnoremap <S-j> :tabprevious<CR>
5fd16ed8bb6d Add vimsessions
zegervdv <zegervdv@me.com>
parents: 80
diff changeset
158 nnoremap <S-k> :tabnext<CR>
5fd16ed8bb6d Add vimsessions
zegervdv <zegervdv@me.com>
parents: 80
diff changeset
159 nnoremap <S-h> :tabfirst<CR>
5fd16ed8bb6d Add vimsessions
zegervdv <zegervdv@me.com>
parents: 80
diff changeset
160 nnoremap <S-l> :tablast<CR>
5fd16ed8bb6d Add vimsessions
zegervdv <zegervdv@me.com>
parents: 80
diff changeset
161 nnoremap <S-t> :tabnew<CR>
34
3ed98613040a Add mapping to switch between tabs in vim
zegervdv <zegervdv@me.com>
parents: 33
diff changeset
162 inoremap <C-S-TAB> <ESC>:tabprevious<CR>
3ed98613040a Add mapping to switch between tabs in vim
zegervdv <zegervdv@me.com>
parents: 33
diff changeset
163 inoremap <C-TAB> <ESC>:tabnext<CR>
3ed98613040a Add mapping to switch between tabs in vim
zegervdv <zegervdv@me.com>
parents: 33
diff changeset
164
33
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
165 " highlight last inserted text
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
166 nnoremap gV `[v`]
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
167
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
168 " Briefly change colour of last highlight
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
169 nnoremap <silent> n n:call HLNext(0.4)<cr>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
170 nnoremap <silent> N N:call HLNext(0.4)<cr>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
171
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
172 function! HLNext (blinktime)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
173 highlight WhiteOnRed ctermfg=white ctermbg=red guifg=white guibg=red
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
174 let [bufnum, lnum, col, off] = getpos('.')
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
175 let matchlen = strlen(matchstr(strpart(getline('.'),col-1),@/))
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
176 let target_pat = '\c\%#'.@/
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
177 let ring = matchadd('WhiteOnRed', target_pat, 101)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
178 redraw
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
179 exec 'sleep ' . float2nr(a:blinktime * 1000) . 'm'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
180 call matchdelete(ring)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
181 redraw
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
182 endfunction
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
183
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
184 " Highlight VCS conflict markers
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
185 match ErrorMsg '^\(<\|=\|>\)\{7\}\([^=].\+\)\?$'
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
186
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
187 " Swap v and CTRL-V
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
188 nnoremap v <C-V>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
189 nnoremap <C-V> v
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
190
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
191 vnoremap v <C-V>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
192 vnoremap <C-V> v
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
193
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
194 " Use backspace as delete in visual mode
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
195 vmap <BS> x
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
196
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
197 " Keep selection when shifting
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
198 vmap <expr> > KeepVisualSelection(">")
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
199 vmap <expr> < KeepVisualSelection("<")
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
200
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
201 function! KeepVisualSelection(cmd)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
202 set nosmartindent
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
203 if mode() ==# "V"
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
204 return a:cmd . ":set smartindent\<CR>gv"
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
205 else
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
206 return a:cmd . ":set smartindent\<CR>"
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
207 endif
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
208 endfunction
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
209
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
210 let g:indent_guides_auto_colors = 0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
211 let g:indent_guides_guide_size = 1
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
212 highlight IndentGuidesEven guibg=background
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
213 highlight IndentGuidesOdd guibg='#282a2e'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
214
42
4c3b25554bbb Enable smart folding
zegervdv <zegervdv@me.com>
parents: 40
diff changeset
215 au FileType c setl foldmethod=syntax
4c3b25554bbb Enable smart folding
zegervdv <zegervdv@me.com>
parents: 40
diff changeset
216
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
217 au VimResized * exe "normal! \<c-w>="
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
218
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
219 cnoremap <c-a> <home>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
220 cnoremap <c-e> <end>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
221
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
222 " Swap backticks and quotes
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
223 nnoremap ` '
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
224 nnoremap ' `
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
225
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
226 " Note that this will overwrite the contents of the z mark. I never use it, but
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
227 " if you do you'll probably want to use another mark.
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
228 inoremap <C-u> <esc>mzgUiw`za
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
229
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
230 nnoremap <leader>ev :vsplit $MYVIMRC<cr>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
231
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
232 function! MyFoldText() " {{{
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
233 let line = getline(v:foldstart)
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
234
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
235 let nucolwidth = &fdc + &number * &numberwidth
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
236 let windowwidth = winwidth(0) - nucolwidth - 3
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
237 let foldedlinecount = v:foldend - v:foldstart
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
238
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
239 " expand tabs into spaces
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
240 let onetab = strpart(' ', 0, &tabstop)
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
241 let line = substitute(line, '\t', onetab, 'g')
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
242
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
243 let line = strpart(line, 0, windowwidth - 2 -len(foldedlinecount))
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
244 let fillcharcount = windowwidth - len(line) - len(foldedlinecount)
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
245 return line . '…' . repeat(" ",fillcharcount) . foldedlinecount . '…' . ' '
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
246 endfunction " }}}
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
247 set foldtext=MyFoldText()
42
4c3b25554bbb Enable smart folding
zegervdv <zegervdv@me.com>
parents: 40
diff changeset
248
87
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
249 " Next and Last {{{
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
250 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
251 " Motion for "next/last object". "Last" here means "previous", not "final".
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
252 " Unfortunately the "p" motion was already taken for paragraphs.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
253 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
254 " Next acts on the next object of the given type, last acts on the previous
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
255 " object of the given type. These don't necessarily have to be in the current
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
256 " line.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
257 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
258 " Currently works for (, [, {, and their shortcuts b, r, B.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
259 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
260 " Next kind of works for ' and " as long as there are no escaped versions of
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
261 " them in the string (TODO: fix that). Last is currently broken for quotes
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
262 " (TODO: fix that).
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
263 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
264 " Some examples (C marks cursor positions, V means visually selected):
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
265 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
266 " din' -> delete in next single quotes foo = bar('spam')
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
267 " C
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
268 " foo = bar('')
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
269 " C
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
270 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
271 " canb -> change around next parens foo = bar('spam')
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
272 " C
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
273 " foo = bar
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
274 " C
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
275 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
276 " vin" -> select inside next double quotes print "hello ", name
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
277 " C
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
278 " print "hello ", name
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
279 " VVVVVV
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
280
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
281 onoremap an :<c-u>call <SID>NextTextObject('a', '/')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
282 xnoremap an :<c-u>call <SID>NextTextObject('a', '/')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
283 onoremap in :<c-u>call <SID>NextTextObject('i', '/')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
284 xnoremap in :<c-u>call <SID>NextTextObject('i', '/')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
285
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
286 onoremap al :<c-u>call <SID>NextTextObject('a', '?')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
287 xnoremap al :<c-u>call <SID>NextTextObject('a', '?')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
288 onoremap il :<c-u>call <SID>NextTextObject('i', '?')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
289 xnoremap il :<c-u>call <SID>NextTextObject('i', '?')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
290
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
291
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
292 function! s:NextTextObject(motion, dir)
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
293 let c = nr2char(getchar())
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
294 let d = ''
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
295
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
296 if c ==# "b" || c ==# "(" || c ==# ")"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
297 let c = "("
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
298 elseif c ==# "B" || c ==# "{" || c ==# "}"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
299 let c = "{"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
300 elseif c ==# "r" || c ==# "[" || c ==# "]"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
301 let c = "["
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
302 elseif c ==# "'"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
303 let c = "'"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
304 elseif c ==# '"'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
305 let c = '"'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
306 else
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
307 return
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
308 endif
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
309
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
310 " Find the next opening-whatever.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
311 execute "normal! " . a:dir . c . "\<cr>"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
312
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
313 if a:motion ==# 'a'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
314 " If we're doing an 'around' method, we just need to select around it
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
315 " and we can bail out to Vim.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
316 execute "normal! va" . c
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
317 else
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
318 " Otherwise we're looking at an 'inside' motion. Unfortunately these
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
319 " get tricky when you're dealing with an empty set of delimiters because
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
320 " Vim does the wrong thing when you say vi(.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
321
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
322 let open = ''
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
323 let close = ''
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
324
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
325 if c ==# "("
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
326 let open = "("
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
327 let close = ")"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
328 elseif c ==# "{"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
329 let open = "{"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
330 let close = "}"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
331 elseif c ==# "["
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
332 let open = "\\["
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
333 let close = "\\]"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
334 elseif c ==# "'"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
335 let open = "'"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
336 let close = "'"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
337 elseif c ==# '"'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
338 let open = '"'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
339 let close = '"'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
340 endif
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
341
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
342 " We'll start at the current delimiter.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
343 let start_pos = getpos('.')
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
344 let start_l = start_pos[1]
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
345 let start_c = start_pos[2]
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
346
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
347 " Then we'll find it's matching end delimiter.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
348 if c ==# "'" || c ==# '"'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
349 " searchpairpos() doesn't work for quotes, because fuck me.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
350 let end_pos = searchpos(open)
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
351 else
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
352 let end_pos = searchpairpos(open, '', close)
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
353 endif
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
354
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
355 let end_l = end_pos[0]
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
356 let end_c = end_pos[1]
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
357
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
358 call setpos('.', start_pos)
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
359
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
360 if start_l == end_l && start_c == (end_c - 1)
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
361 " We're in an empty set of delimiters. We'll append an "x"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
362 " character and select that so most Vim commands will do something
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
363 " sane. v is gonna be weird, and so is y. Oh well.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
364 execute "normal! ax\<esc>\<left>"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
365 execute "normal! vi" . c
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
366 elseif start_l == end_l && start_c == (end_c - 2)
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
367 " We're on a set of delimiters that contain a single, non-newline
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
368 " character. We can just select that and we're done.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
369 execute "normal! vi" . c
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
370 else
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
371 " Otherwise these delimiters contain something. But we're still not
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
372 " sure Vim's gonna work, because if they contain nothing but
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
373 " newlines Vim still does the wrong thing. So we'll manually select
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
374 " the guts ourselves.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
375 let whichwrap = &whichwrap
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
376 set whichwrap+=h,l
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
377
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
378 execute "normal! va" . c . "hol"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
379
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
380 let &whichwrap = whichwrap
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
381 endif
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
382 endif
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
383 endfunction
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
384 " }}}
87
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
385 " }}}
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
386 " Vim Math plugin; make simple calculations {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
387 vmap <expr> ++ VMATH_YankAndAnalyse()
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
388 nmap ++ vip++
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
389 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
390 " Airline configuration {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
391 let g:airline_inactive_collapse=0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
392 let g:airline_powerline_fonts=1
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
393
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
394 let g:airline_left_sep = ''
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
395 let g:airline_right_sep = ''
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
396
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
397 let g:airline_theme = 'tomorrow'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
398
80
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
399 let g:airline#extensions#syntastic#enabled = 1
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
400 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
401 " YankRing {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
402 let g:yankring_replace_n_pkey = 'cp'
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
403 nnoremap <silent> <leader>y :YRShow<CR>
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
404 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
405 " Nerdtree {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
406 map <F2> :NERDTreeToggle<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
407 map <Leader>e :NERDTreeToggle<CR>
42
4c3b25554bbb Enable smart folding
zegervdv <zegervdv@me.com>
parents: 40
diff changeset
408 let NERDTreeIgnore = ['\.aux$', '\.log$', '\.out$', '\.o$', '\.hex$', '\.bin$', '\.elf$']
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
409 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
410 " Vim - Rspec {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
411 map <leader>t :call RunCurrentSpecFile()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
412 map <leader>s :call RunNearestSpec()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
413 map <leader>l :call RunLastSpec()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
414 map <leader>r :call RunAllSpecs()<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
415 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
416 " Cucumber {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
417 map <leader>f :call RunAllFeatures()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
418 map <leader>k :call RunCurrentFeature()<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
419 " }}}
80
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
420 " Ctrl P - Fuzzy file finder {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
421 noremap <C-p> :CtrlP<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
422 let g:ctrl_map = '<c-p>'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
423 let g:ctrl_cmd = 'CtrlP'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
424
38
8f9bdb6cedf3 Use working dir in ctrlp
zegervdv <zegervdv@me.com>
parents: 35
diff changeset
425 let g:ctrlp_working_path=0
33
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
426 nnoremap <C-o> :CtrlPBuffer<CR>
32
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
427 " map <C-m> :CtrlPTag<CR>
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
428
5
8975f7375c41 Use ag with ctrl-p
zegervdv <zegervdv@me.com>
parents: 4
diff changeset
429 if executable('ag')
8975f7375c41 Use ag with ctrl-p
zegervdv <zegervdv@me.com>
parents: 4
diff changeset
430 let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
8975f7375c41 Use ag with ctrl-p
zegervdv <zegervdv@me.com>
parents: 4
diff changeset
431 let g:ctrlp_use_caching = 0
8975f7375c41 Use ag with ctrl-p
zegervdv <zegervdv@me.com>
parents: 4
diff changeset
432 endif
8975f7375c41 Use ag with ctrl-p
zegervdv <zegervdv@me.com>
parents: 4
diff changeset
433
80
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
434 let g:ctrlp_custom_ignore = {
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
435 \ 'dir': '\v[\/]\.(git|hg|svn)$',
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
436 \ 'file': '\v\.(exe|so|dll)$',
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
437 \ }
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
438
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
439 " ctrl p - Commands
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
440 map <leader>p :CtrlPCmdPalette<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
441 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
442 " Markdown {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
443 let g:vim_markdown_folding_disabled=1
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
444 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
445 " tComment {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
446 nmap <leader>c <C-_><C-_>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
447 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
448 " Neo Complete {{{
29
599325301323 Configure neocomplete
zegervdv <zegervdv@me.com>
parents: 28
diff changeset
449 let g:acp_enableAtStartup = 0
599325301323 Configure neocomplete
zegervdv <zegervdv@me.com>
parents: 28
diff changeset
450 let g:neocomplete#enable_at_startup = 1
599325301323 Configure neocomplete
zegervdv <zegervdv@me.com>
parents: 28
diff changeset
451 let g:neocomplete#enable_smart_case = 1
599325301323 Configure neocomplete
zegervdv <zegervdv@me.com>
parents: 28
diff changeset
452 let g:neocomplete#enable_fuzzy_completion = 1
599325301323 Configure neocomplete
zegervdv <zegervdv@me.com>
parents: 28
diff changeset
453 let g:neocomplete#sources#syntax#min_keyword_length = 3
599325301323 Configure neocomplete
zegervdv <zegervdv@me.com>
parents: 28
diff changeset
454 let g:neocomplete#lock_buffer_name_pattern = '\*ku\*'
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
455
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
456 " Define dictionary.
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
457 let g:neocomplete#sources#dictionary#dictionaries = {
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
458 \ 'default' : '',
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
459 \ 'vimshell' : $HOME.'/.vimshell_hist',
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
460 \ 'scheme' : $HOME.'/.gosh_completions'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
461 \ }
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
462
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
463 " Define keyword.
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
464 if !exists('g:neocomplete#keyword_patterns')
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
465 let g:neocomplete#keyword_patterns = {}
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
466 endif
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
467
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
468 let g:neocomplete#keyword_patterns['default'] = '\h\w*'
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
469 " Recommended key-mappings.
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
470 " <CR>: close popup and save indent.
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
471 inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
472 function! s:my_cr_function()
29
599325301323 Configure neocomplete
zegervdv <zegervdv@me.com>
parents: 28
diff changeset
473 " return neocomplete#close_popup() . "\<CR>"
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
474 " For no inserting <CR> key.
29
599325301323 Configure neocomplete
zegervdv <zegervdv@me.com>
parents: 28
diff changeset
475 return pumvisible() ? neocomplete#close_popup() : "\<CR>"
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
476 endfunction
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
477 " <TAB>: completion.
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
478 inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
479 " <C-h>, <BS>: close popup and delete backword char.
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
480 inoremap <expr><C-h> neocomplete#smart_close_popup()."\<C-h>"
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
481
45
1e04e6fd6b9b Fix issue with clang_complete
zegervdv <zegervdv@me.com>
parents: 42
diff changeset
482 if !exists('g:neocomplete#force_omni_input_patterns')
1e04e6fd6b9b Fix issue with clang_complete
zegervdv <zegervdv@me.com>
parents: 42
diff changeset
483 let g:neocomplete#force_omni_input_patterns = {}
1e04e6fd6b9b Fix issue with clang_complete
zegervdv <zegervdv@me.com>
parents: 42
diff changeset
484 endif
1e04e6fd6b9b Fix issue with clang_complete
zegervdv <zegervdv@me.com>
parents: 42
diff changeset
485 let g:neocomplete#force_overwrite_completefunc = 1
69
ce5c457bde68 Update plugins
zegervdv <zegervdv@me.com>
parents: 58
diff changeset
486 " let g:neocomplete#force_omni_input_patterns.c =
ce5c457bde68 Update plugins
zegervdv <zegervdv@me.com>
parents: 58
diff changeset
487 " \ '[^.[:digit:] *\t]\%(\.\|->\)\w*'
45
1e04e6fd6b9b Fix issue with clang_complete
zegervdv <zegervdv@me.com>
parents: 42
diff changeset
488 let g:neocomplete#force_omni_input_patterns.cpp =
1e04e6fd6b9b Fix issue with clang_complete
zegervdv <zegervdv@me.com>
parents: 42
diff changeset
489 \ '[^.[:digit:] *\t]\%(\.\|->\)\w*\|\h\w*::\w*'
1e04e6fd6b9b Fix issue with clang_complete
zegervdv <zegervdv@me.com>
parents: 42
diff changeset
490 let g:neocomplete#force_omni_input_patterns.objc =
1e04e6fd6b9b Fix issue with clang_complete
zegervdv <zegervdv@me.com>
parents: 42
diff changeset
491 \ '[^.[:digit:] *\t]\%(\.\|->\)\w*'
1e04e6fd6b9b Fix issue with clang_complete
zegervdv <zegervdv@me.com>
parents: 42
diff changeset
492 let g:neocomplete#force_omni_input_patterns.objcpp =
1e04e6fd6b9b Fix issue with clang_complete
zegervdv <zegervdv@me.com>
parents: 42
diff changeset
493 \ '[^.[:digit:] *\t]\%(\.\|->\)\w*\|\h\w*::\w*'
69
ce5c457bde68 Update plugins
zegervdv <zegervdv@me.com>
parents: 58
diff changeset
494
72
808e110f4171 Replace clang_complete with marching
zegervdv <zegervdv@me.com>
parents: 69
diff changeset
495 let g:marching_enable_neocomplete = 1
28
e7be1e1656d1 Add clang_complete
zegervdv <zegervdv@me.com>
parents: 27
diff changeset
496
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
497 autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
498 autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
499 autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
500 autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
501 autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
502 autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
503 if !exists('g:neocomplete#sources#omni#input_patterns')
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
504 let g:neocomplete#sources#omni#input_patterns = {}
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
505 endif
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
506
26
0bf5f68cf4f9 Add rbenv plugin and sessions
zegervdv <zegervdv@me.com>
parents: 25
diff changeset
507 " autocmd FileType c NeoCompleteTagMakeCache
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
508 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
509 " Neo Snippets {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
510 imap <C-k> <Plug>(neosnippet_expand_or_jump)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
511 smap <C-k> <Plug>(neosnippet_expand_or_jump)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
512 xmap <C-k> <Plug>(neosnippet_expand_target)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
513
23
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
514 " imap <expr><TAB> neosnippet#expandable_or_jumpable() ?
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
515 " \ "\<Plug>(neosnippet_expand_or_jump)"
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
516 " \: pumvisible() ? "\<C-n>" : "\<TAB>"
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
517 " smap <expr><TAB> neosnippet#expandable_or_jumpable() ?
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
518 " \ "\<Plug>(neosnippet_expand_or_jump)"
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
519 " \: "\<TAB>"
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
520
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
521
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
522 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
523 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
524 smap <expr><TAB> neosnippet#expandable() == 1 ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>"
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
525 let g:neocomplete#sources#omni#input_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
526
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
527 let g:neosnippet#snippets_directory='~/.vim/snippets'
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
528 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
529 " Tabular {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
530 inoremap <silent> <Bar> <Bar><Esc>:call <SID>align()<CR>a
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
531
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
532 function! s:align()
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
533 let p = '^\s*|\s.*\s|\s*$'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
534 if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
535 let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g'))
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
536 let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*'))
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
537 Tabularize/|/l1
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
538 normal! 0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
539 call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
540 endif
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
541 endfunction
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
542
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
543 " Align Migration files
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
544 vmap <c-a> :Tabularize /:/l1l0l0<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
545
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
546 nmap <Leader>a= :Tabularize /=<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
547 vmap <Leader>a= :Tabularize /=<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
548 nmap <Leader>a=> :Tabularize /=><CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
549 vmap <Leader>a=> :Tabularize /=><CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
550 nmap <Leader>a: :Tabularize /:\zs/l0l1<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
551 vmap <Leader>a: :Tabularize /:\zs/l0l1<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
552 nmap <Leader>a, :Tabularize /,\zs/l0l1<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
553 vmap <Leader>a, :Tabularize /,\zs/l0l1<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
554 vmap <Leader>a- :Tabularize /-<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
555 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
556 " Latex plugin {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
557 au BufNewFile,BufRead,BufEnter *.tex setlocal spell spelllang=en_gb
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
558 au BufNewFile,BufRead,BufEnter *.tex setlocal textwidth=0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
559 au BufNewFile,BufRead,BufEnter *.txt setlocal spell spelllang=en_gb
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
560 au BufNewFile,BufRead,BufEnter *.txt setlocal textwidth=0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
561
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
562 let g:tex_conseal = ""
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
563
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
564 let g:tex_comment_nospell=1
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
565 let g:Tex_DefaultTargetFormat = 'pdf'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
566 let g:tex_flavor = 'latex'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
567 let g:Tex_TreatMacViewerAsUNIX = 1
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
568 let g:Tex_ExecuterUNIXViewerInForeground = 1
47
64d8a8eb8705 Add rubber to latex workflow
zegervdv <zegervdv@me.com>
parents: 45
diff changeset
569 " let g:Tex_ViewRule_pdf = 'open -a Preview'
64d8a8eb8705 Add rubber to latex workflow
zegervdv <zegervdv@me.com>
parents: 45
diff changeset
570 let g:Tex_ViewRule_pdf = 'open -a /Applications/TeX/TeXShop.app'
64d8a8eb8705 Add rubber to latex workflow
zegervdv <zegervdv@me.com>
parents: 45
diff changeset
571
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
572 let g:Tex_ViewRule_ps = 'open -a Preview'
47
64d8a8eb8705 Add rubber to latex workflow
zegervdv <zegervdv@me.com>
parents: 45
diff changeset
573
64d8a8eb8705 Add rubber to latex workflow
zegervdv <zegervdv@me.com>
parents: 45
diff changeset
574 nnoremap <leader>m :w<CR>:!rubber --pdf --warn all %<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
575 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
576 " Tagbar {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
577 nmap <F8> :TagbarToggle<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
578 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
579 " Gundo tree {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
580 nnoremap <leader>u :GundoToggle<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
581 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
582 " Smalls {{{
13
dd1519fc21e3 Add vim-smalls plugin
zegervdv <zegervdv@me.com>
parents: 5
diff changeset
583 nmap s <Plug>(smalls)
dd1519fc21e3 Add vim-smalls plugin
zegervdv <zegervdv@me.com>
parents: 5
diff changeset
584 omap s <Plug>(smalls)
dd1519fc21e3 Add vim-smalls plugin
zegervdv <zegervdv@me.com>
parents: 5
diff changeset
585 xmap s <Plug>(smalls)
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
586 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
587 " Textmanip {{{
14
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
588 xmap <C-j> <Plug>(textmanip-move-down)
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
589 xmap <C-k> <Plug>(textmanip-move-up)
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
590 xmap <C-h> <Plug>(textmanip-move-left)
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
591 xmap <C-l> <Plug>(textmanip-move-right)
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
592 xmap <F10> <Plug>(textmanip-toggle-mode)
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
593 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
594 " Startify {{{
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
595 let g:startify_session_dir = "~/.vim/sessions"
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
596 " }}}
54
fa9db4f30d79 Add vimwiki plugin
zegervdv <zegervdv@me.com>
parents: 47
diff changeset
597 " Vimwiki {{{
fa9db4f30d79 Add vimwiki plugin
zegervdv <zegervdv@me.com>
parents: 47
diff changeset
598 let g:vimwiki_list=[{'path':'$HOME/.vimwiki'}]
fa9db4f30d79 Add vimwiki plugin
zegervdv <zegervdv@me.com>
parents: 47
diff changeset
599 " }}}
58
b657d43a4fcb Stop asking to save current session
zegervdv <zegervdv@me.com>
parents: 54
diff changeset
600 " Vim Sessions {{{
b657d43a4fcb Stop asking to save current session
zegervdv <zegervdv@me.com>
parents: 54
diff changeset
601 let g:session_autosave = 'no'
b657d43a4fcb Stop asking to save current session
zegervdv <zegervdv@me.com>
parents: 54
diff changeset
602 " }}}
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
603
13
dd1519fc21e3 Add vim-smalls plugin
zegervdv <zegervdv@me.com>
parents: 5
diff changeset
604 " Load local vimrc
3
44d3af8838f8 Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
605 if filereadable($HOME . "/.vimrc.local")
44d3af8838f8 Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
606 source ~/.vimrc.local
44d3af8838f8 Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
607 endif
24
c3bb025ed67e Update plugins
zegervdv <zegervdv@me.com>
parents: 23
diff changeset
608