annotate vimrc @ 102:a25bdb562e43

Fix zsh prompt
author zegervdv <zegervdv@me.com>
date Sun, 10 Aug 2014 11:37:27 +0200
parents 368f742876cf
children e7c5a1fffc5e
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
101
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
8 let g:pathogen_disabled = ['ack','latex']
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
92
afe2d02577c2 Small fixes to vimrc
zegervdv <zegervdv@me.com>
parents: 91
diff changeset
72 set complete+=kspell
afe2d02577c2 Small fixes to vimrc
zegervdv <zegervdv@me.com>
parents: 91
diff changeset
73
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
74 set splitright
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
75 set virtualedit=block
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
76 set conceallevel=0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
77
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
78 set cryptmethod=blowfish
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
79
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
80 filetype plugin indent on
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
81 autocmd FileType ruby set tabstop=2|set shiftwidth=2
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
82
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
83 set clipboard=unnamed
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
84
32
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
85 set undofile
16
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
86 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
87
80
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
88 set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.o,*.bin,*.elf,*.hex
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
89
32
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
90 " set list
91
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
91 " set listchars=tab:▸\ ,eol:¬
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
92 " }}}
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
93 " Custom remaps and tricks {{{
101
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
94 " Enable spelling only for latex and text
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
95 au BufNewFile,BufRead,BufEnter *.tex setlocal spell spelllang=en_gb
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
96 au BufNewFile,BufRead,BufEnter *.tex setlocal textwidth=0
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
97 au BufNewFile,BufRead,BufEnter *.txt setlocal spell spelllang=en_gb
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
98 au BufNewFile,BufRead,BufEnter *.txt setlocal textwidth=0
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
99
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
100
16
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
101 " 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
102 " 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
103 " 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
104 autocmd BufReadPost *
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
105 \ if &ft != 'gitcommit' && line("'\"") > 0 && line("'\"") <= line("$") |
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
106 \ exe "normal g`\"" |
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
107 \ endif
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
108
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
109 nnoremap <F5> :buffers<CR>:buffer<Space>
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
110
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
111 " Set leader to ,
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
112 let mapleader = ","
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
113
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
114 " See long lines as line breaks
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
115 map j gj
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
116 map k gk
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
117
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
118 " 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
119 " nmap <C-$> <C-]>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
120 function! JumpToTagInSplit()
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
121 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
122 execute "keepjumps normal! `z"
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
123 Pulse
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
124 endfunction
94
c31e63aba1dd Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents: 93
diff changeset
125 nnoremap <C-$> :silent! call JumpToTagInSplit()<CR>
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
126
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
127 " Jump to end of line in insert mode
33
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
128 inoremap <C-a> <C-o>I
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
129 inoremap <C-e> <C-o>A
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
130
33
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
131 nnoremap <C-a> ^
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
132 nnoremap <C-e> $
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
133
92
afe2d02577c2 Small fixes to vimrc
zegervdv <zegervdv@me.com>
parents: 91
diff changeset
134 nnoremap <C-s> <C-e>
afe2d02577c2 Small fixes to vimrc
zegervdv <zegervdv@me.com>
parents: 91
diff changeset
135
33
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
136 nnoremap + <C-a>
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
137
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
138 " Jump out of inner bracket
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
139 inoremap <C-f> <ESC>%%a
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
140
4
050d4d8c6796 Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents: 3
diff changeset
141 " Switch between the last two files
050d4d8c6796 Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents: 3
diff changeset
142 nnoremap <SPACE><SPACE> <C-^>
050d4d8c6796 Vim: use double space to alternate files
zegervdv <zegervdv@me.com>
parents: 3
diff changeset
143
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
144 " Very Magic search patterns
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
145 nmap / /\v
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
146 cmap s/ s/\v
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
147
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
148 " 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
149 nnoremap n nzzzv
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
150 nnoremap N Nzzzv
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
151
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
152 " Show local search results in quickfix
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
153 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
154 nnoremap <silent> <leader>? :Ag <cword><CR>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
155 " 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
156
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
157 " Clear highlight
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
158 nnoremap <silent> <leader>n :nohlsearch<CR>
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
159
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
160 inoremap £ \
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
161
32
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
162 nnoremap <TAB> %
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
163 vnoremap <TAB> %
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
164
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
165 " Move between tabs
82
5fd16ed8bb6d Add vimsessions
zegervdv <zegervdv@me.com>
parents: 80
diff changeset
166 nnoremap <S-j> :tabprevious<CR>
5fd16ed8bb6d Add vimsessions
zegervdv <zegervdv@me.com>
parents: 80
diff changeset
167 nnoremap <S-k> :tabnext<CR>
5fd16ed8bb6d Add vimsessions
zegervdv <zegervdv@me.com>
parents: 80
diff changeset
168 nnoremap <S-h> :tabfirst<CR>
5fd16ed8bb6d Add vimsessions
zegervdv <zegervdv@me.com>
parents: 80
diff changeset
169 nnoremap <S-l> :tablast<CR>
5fd16ed8bb6d Add vimsessions
zegervdv <zegervdv@me.com>
parents: 80
diff changeset
170 nnoremap <S-t> :tabnew<CR>
34
3ed98613040a Add mapping to switch between tabs in vim
zegervdv <zegervdv@me.com>
parents: 33
diff changeset
171 inoremap <C-S-TAB> <ESC>:tabprevious<CR>
3ed98613040a Add mapping to switch between tabs in vim
zegervdv <zegervdv@me.com>
parents: 33
diff changeset
172 inoremap <C-TAB> <ESC>:tabnext<CR>
3ed98613040a Add mapping to switch between tabs in vim
zegervdv <zegervdv@me.com>
parents: 33
diff changeset
173
33
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
174 " highlight last inserted text
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
175 nnoremap gV `[v`]
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
176
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
177 " Briefly change colour of last highlight
94
c31e63aba1dd Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents: 93
diff changeset
178 " nnoremap <silent> n n:call HLNext(0.4)<cr>
c31e63aba1dd Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents: 93
diff changeset
179 " nnoremap <silent> N N:call HLNext(0.4)<cr>
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
180
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
181 function! HLNext (blinktime)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
182 highlight WhiteOnRed ctermfg=white ctermbg=red guifg=white guibg=red
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
183 let [bufnum, lnum, col, off] = getpos('.')
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
184 let matchlen = strlen(matchstr(strpart(getline('.'),col-1),@/))
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
185 let target_pat = '\c\%#'.@/
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
186 let ring = matchadd('WhiteOnRed', target_pat, 101)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
187 redraw
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
188 exec 'sleep ' . float2nr(a:blinktime * 1000) . 'm'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
189 call matchdelete(ring)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
190 redraw
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
191 endfunction
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
192
94
c31e63aba1dd Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents: 93
diff changeset
193 " Highlight matching parenthesis in different color so I don't mess up
c31e63aba1dd Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents: 93
diff changeset
194 hi MatchParen cterm=underline ctermbg=none ctermfg=white gui=underline guifg=white
c31e63aba1dd Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents: 93
diff changeset
195
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
196 " Highlight VCS conflict markers
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
197 match ErrorMsg '^\(<\|=\|>\)\{7\}\([^=].\+\)\?$'
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
198
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
199 " Swap v and CTRL-V
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
200 nnoremap v <C-V>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
201 nnoremap <C-V> v
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
202
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
203 vnoremap v <C-V>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
204 vnoremap <C-V> v
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
205
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
206 " Use backspace as delete in visual mode
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
207 vmap <BS> x
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
208
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
209 " Keep selection when shifting
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
210 vmap <expr> > KeepVisualSelection(">")
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
211 vmap <expr> < KeepVisualSelection("<")
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
212
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
213 function! KeepVisualSelection(cmd)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
214 set nosmartindent
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
215 if mode() ==# "V"
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
216 return a:cmd . ":set smartindent\<CR>gv"
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
217 else
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
218 return a:cmd . ":set smartindent\<CR>"
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
219 endif
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
220 endfunction
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
221
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
222 let g:indent_guides_auto_colors = 0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
223 let g:indent_guides_guide_size = 1
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
224 highlight IndentGuidesEven guibg=background
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
225 highlight IndentGuidesOdd guibg='#282a2e'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
226
42
4c3b25554bbb Enable smart folding
zegervdv <zegervdv@me.com>
parents: 40
diff changeset
227 au FileType c setl foldmethod=syntax
4c3b25554bbb Enable smart folding
zegervdv <zegervdv@me.com>
parents: 40
diff changeset
228
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
229 au VimResized * exe "normal! \<c-w>="
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
230
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
231 cnoremap <c-a> <home>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
232 cnoremap <c-e> <end>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
233
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
234 " Swap backticks and quotes
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
235 nnoremap ` '
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
236 nnoremap ' `
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 " 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
239 " 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
240 inoremap <C-u> <esc>mzgUiw`za
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
241
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
242 nnoremap <leader>ev :vsplit $MYVIMRC<cr>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
243
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
244 function! MyFoldText() " {{{
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
245 let line = getline(v:foldstart)
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
246
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
247 let nucolwidth = &fdc + &number * &numberwidth
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
248 let windowwidth = winwidth(0) - nucolwidth - 3
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
249 let foldedlinecount = v:foldend - v:foldstart
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 " expand tabs into spaces
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
252 let onetab = strpart(' ', 0, &tabstop)
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
253 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
254
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
255 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
256 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
257 return line . '…' . repeat(" ",fillcharcount) . foldedlinecount . '…' . ' '
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
258 endfunction " }}}
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
259 set foldtext=MyFoldText()
42
4c3b25554bbb Enable smart folding
zegervdv <zegervdv@me.com>
parents: 40
diff changeset
260
87
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
261 " Next and Last {{{
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
262 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
263 " Motion for "next/last object". "Last" here means "previous", not "final".
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
264 " Unfortunately the "p" motion was already taken for paragraphs.
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 " 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
267 " 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
268 " line.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
269 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
270 " Currently works for (, [, {, and their shortcuts b, r, B.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
271 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
272 " 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
273 " 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
274 " (TODO: fix that).
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 " Some examples (C marks cursor positions, V means visually selected):
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
277 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
278 " din' -> delete in next single quotes foo = bar('spam')
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
279 " C
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
280 " foo = bar('')
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
281 " C
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
282 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
283 " canb -> change around next parens foo = bar('spam')
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
284 " C
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
285 " foo = bar
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
286 " C
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
287 "
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
288 " vin" -> select inside next double quotes print "hello ", name
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
289 " C
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
290 " print "hello ", name
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
291 " VVVVVV
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
292
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
293 onoremap an :<c-u>call <SID>NextTextObject('a', '/')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
294 xnoremap an :<c-u>call <SID>NextTextObject('a', '/')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
295 onoremap in :<c-u>call <SID>NextTextObject('i', '/')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
296 xnoremap in :<c-u>call <SID>NextTextObject('i', '/')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
297
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
298 onoremap al :<c-u>call <SID>NextTextObject('a', '?')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
299 xnoremap al :<c-u>call <SID>NextTextObject('a', '?')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
300 onoremap il :<c-u>call <SID>NextTextObject('i', '?')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
301 xnoremap il :<c-u>call <SID>NextTextObject('i', '?')<cr>
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
302
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
303
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
304 function! s:NextTextObject(motion, dir)
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
305 let c = nr2char(getchar())
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
306 let d = ''
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
307
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
308 if c ==# "b" || c ==# "(" || c ==# ")"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
309 let c = "("
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
310 elseif c ==# "B" || c ==# "{" || c ==# "}"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
311 let c = "{"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
312 elseif c ==# "r" || c ==# "[" || c ==# "]"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
313 let c = "["
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
314 elseif c ==# "'"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
315 let c = "'"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
316 elseif c ==# '"'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
317 let c = '"'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
318 else
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
319 return
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
320 endif
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 " Find the next opening-whatever.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
323 execute "normal! " . a:dir . c . "\<cr>"
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 a:motion ==# 'a'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
326 " 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
327 " and we can bail out to Vim.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
328 execute "normal! va" . c
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
329 else
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
330 " Otherwise we're looking at an 'inside' motion. Unfortunately these
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
331 " 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
332 " Vim does the wrong thing when you say vi(.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
333
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
334 let open = ''
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
335 let close = ''
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
336
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
337 if 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 elseif c ==# "{"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
341 let open = "{"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
342 let close = "}"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
343 elseif c ==# "["
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
344 let open = "\\["
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
345 let close = "\\]"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
346 elseif c ==# "'"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
347 let open = "'"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
348 let close = "'"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
349 elseif c ==# '"'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
350 let open = '"'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
351 let close = '"'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
352 endif
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
353
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
354 " We'll start at the current delimiter.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
355 let start_pos = getpos('.')
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
356 let start_l = start_pos[1]
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
357 let start_c = start_pos[2]
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
358
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
359 " Then we'll find it's matching end delimiter.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
360 if c ==# "'" || c ==# '"'
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
361 " searchpairpos() doesn't work for quotes, because fuck me.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
362 let end_pos = searchpos(open)
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
363 else
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
364 let end_pos = searchpairpos(open, '', close)
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
365 endif
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
366
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
367 let end_l = end_pos[0]
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
368 let end_c = end_pos[1]
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
369
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
370 call setpos('.', start_pos)
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
371
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
372 if start_l == end_l && start_c == (end_c - 1)
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
373 " 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
374 " character and select that so most Vim commands will do something
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
375 " sane. v is gonna be weird, and so is y. Oh well.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
376 execute "normal! ax\<esc>\<left>"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
377 execute "normal! vi" . c
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
378 elseif start_l == end_l && start_c == (end_c - 2)
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
379 " 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
380 " character. We can just select that and we're done.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
381 execute "normal! vi" . c
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
382 else
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
383 " Otherwise these delimiters contain something. But we're still not
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
384 " sure Vim's gonna work, because if they contain nothing but
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
385 " newlines Vim still does the wrong thing. So we'll manually select
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
386 " the guts ourselves.
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
387 let whichwrap = &whichwrap
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
388 set whichwrap+=h,l
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
389
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
390 execute "normal! va" . c . "hol"
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
391
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
392 let &whichwrap = whichwrap
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
393 endif
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
394 endif
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
395 endfunction
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
396 " }}}
87
aefa231684d9 Add extra motions
zegervdv <zegervdv@me.com>
parents: 85
diff changeset
397 " }}}
101
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
398 " Latex {{{
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
399 " Compile using rubber
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
400 nnoremap <leader>m :w<CR>:VimProcBang rubber --pdf --warn all %<CR>
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
401 " Open pdf
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
402 nnoremap <silent> <leader>v :!open %:r.pdf<CR><CR>
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
403 " }}}
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
404 " Vim Math plugin; make simple calculations {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
405 vmap <expr> ++ VMATH_YankAndAnalyse()
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
406 nmap ++ vip++
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
407 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
408 " Airline configuration {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
409 let g:airline_inactive_collapse=0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
410 let g:airline_powerline_fonts=1
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
411
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
412 let g:airline_left_sep = ''
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
413 let g:airline_right_sep = ''
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
414
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
415 let g:airline_theme = 'tomorrow'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
416
80
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
417 let g:airline#extensions#syntastic#enabled = 1
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
418 " }}}
93
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
419 " Unite {{{
96
384c853303af Improve vimrc
zegervdv <zegervdv@me.com>
parents: 94
diff changeset
420 call unite#filters#matcher_default#use(['matcher_fuzzy','matcher_regexp'])
93
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
421 call unite#filters#sorter_default#use(['sorter_rank'])
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
422 call unite#set_profile('files', 'smartcase', 1)
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
423 call unite#custom#source('line,outline', 'matchers', 'matcher_fuzzy')
101
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
424 call unite#custom#source( 'buffer', 'converters', ['converter_file_directory'])
93
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
425 " sort file results by length
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
426 call unite#custom#source('file', 'sorters', 'sorter_length')
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
427 call unite#custom#source('file_rec/async', 'sorters', 'sorter_length')
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
428 let g:unite_enable_start_insert=0
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
429 let g:unite_source_history_yank_enable=1
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
430 let g:unite_source_rec_max_cache_files=5000
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
431 let g:unite_prompt='» '
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
432 if executable('ag')
102
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
433 let g:unite_source_grep_command = 'ag'
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
434 let g:unite_source_grep_default_opts =
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
435 \ '-i --line-numbers --nocolor --nogroup --hidden --ignore ' .
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
436 \ '''.hg'' --ignore ''.svn'' --ignore ''.git'' --ignore ''.bzr'''
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
437 let g:unite_source_grep_recursive_opt = ''
93
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
438 elseif executable('ack')
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
439 let g:unite_source_grep_command='ack'
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
440 let g:unite_source_grep_default_opts='--no-heading --no-color -C4'
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
441 let g:unite_source_grep_recursive_opt=''
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
442 endif
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
443 function! s:unite_settings()
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
444 nmap <buffer> Q <plug>(unite_exit)
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
445 nmap <buffer> <esc> <plug>(unite_exit)
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
446 imap <buffer> <C-j> <Plug>(unite_select_next_line)
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
447 imap <buffer> <C-k> <Plug>(unite_select_previous_line)
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
448 endfunction
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
449 autocmd FileType unite call s:unite_settings()
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
450
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
451 nnoremap <silent> <C-m> :<C-u>Unite -auto-preview -buffer-name=recent file_mru<cr>
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
452 nnoremap <silent> <SPACE>y :<C-u>Unite -buffer-name=yanks history/yank<cr>
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
453 nnoremap <silent> <SPACE>l :<C-u>Unite -start-insert -auto-resize -buffer-name=line line<cr>
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
454 nnoremap <silent> <SPACE>b :<C-u>Unite -auto-resize -buffer-name=buffers buffer<cr>
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
455 nnoremap <silent> <SPACE>/ :<C-u>Unite -no-quit -buffer-name=search grep:.<cr>
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
456 nnoremap <silent> <SPACE>m :<C-u>Unite -auto-resize -buffer-name=mappings mapping<cr>
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
457 nnoremap <silent> <SPACE>s :<C-u>Unite -quick-match buffer<cr>
99
79392af5b3c2 Add unite-outline plugin
zegervdv <zegervdv@me.com>
parents: 98
diff changeset
458 nnoremap <silent> <SPACE>o :<C-u>Unite outline<CR>
100
fe2c860e4ada Add unite-tag plugin
zegervdv <zegervdv@me.com>
parents: 99
diff changeset
459 nnoremap <silent> <SPACE>t :<C-u>Unite tag<CR>
93
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
460 nnoremap <silent> <C-p> :<C-u>Unite -start-insert file_rec/async<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
461 " }}}
98
235b862405f4 Add vimfiler and neossh
zegervdv <zegervdv@me.com>
parents: 97
diff changeset
462 " Vimfiler {{{
235b862405f4 Add vimfiler and neossh
zegervdv <zegervdv@me.com>
parents: 97
diff changeset
463 " Use vimfiler as default
235b862405f4 Add vimfiler and neossh
zegervdv <zegervdv@me.com>
parents: 97
diff changeset
464 let g:vimfiler_as_default_explorer = 1
235b862405f4 Add vimfiler and neossh
zegervdv <zegervdv@me.com>
parents: 97
diff changeset
465 nnoremap <leader>e :VimFilerExplorer<CR>
235b862405f4 Add vimfiler and neossh
zegervdv <zegervdv@me.com>
parents: 97
diff changeset
466 " }}}
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
467 " Vim - Rspec {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
468 map <leader>t :call RunCurrentSpecFile()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
469 map <leader>s :call RunNearestSpec()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
470 map <leader>l :call RunLastSpec()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
471 map <leader>r :call RunAllSpecs()<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
472 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
473 " Cucumber {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
474 map <leader>f :call RunAllFeatures()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
475 map <leader>k :call RunCurrentFeature()<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
476 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
477 " Markdown {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
478 let g:vim_markdown_folding_disabled=1
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
479 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
480 " tComment {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
481 nmap <leader>c <C-_><C-_>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
482 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
483 " Neo Complete {{{
91
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
484 let g:neocomplete#enable_at_startup = 1
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
485 let g:neocomplet#enable_smart_case = 1
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
486 let g:marching_enable_neocomplete = 1
102
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
487 let g:neocomplete#enable_fuzzy_completion = 1
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
488
91
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
489 inoremap <expr><s-CR> pumvisible() ? neocomplete#smart_close_popup()"\<CR>" : "\<CR>"
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
490 inoremap <expr><C-g> neocomplete#undo_completion()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
491 inoremap <expr><C-l> neocomplete#complete_common_string()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
492 function! CleverCr()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
493 if pumvisible()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
494 if neosnippet#expandable()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
495 let exp = "\<Plug>(neosnippet_expand)"
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
496 return exp . neocomplete#smart_close_popup()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
497 else
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
498 return neocomplete#smart_close_popup()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
499 endif
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
500 else
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
501 return "\<CR>"
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
502 endif
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
503 endfunction
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
504 " <CR> close popup and save indent or expand snippet
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
505 imap <expr> <CR> CleverCr()
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
506 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
507 " Neo Snippets {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
508 imap <C-k> <Plug>(neosnippet_expand_or_jump)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
509 smap <C-k> <Plug>(neosnippet_expand_or_jump)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
510 xmap <C-k> <Plug>(neosnippet_expand_target)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
511
23
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
512 " imap <expr><TAB> neosnippet#expandable_or_jumpable() ?
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
513 " \ "\<Plug>(neosnippet_expand_or_jump)"
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
514 " \: pumvisible() ? "\<C-n>" : "\<TAB>"
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
515 " smap <expr><TAB> neosnippet#expandable_or_jumpable() ?
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
516 " \ "\<Plug>(neosnippet_expand_or_jump)"
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
517 " \: "\<TAB>"
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
518
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
519
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
520 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
521 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
522 smap <expr><TAB> neosnippet#expandable() == 1 ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>"
90
3fdc762fe6bb Improve neocomplete behaviour
zegervdv <zegervdv@me.com>
parents: 87
diff changeset
523 " let g:neocomplete#sources#omni#input_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::'
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
524
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
525 let g:neosnippet#snippets_directory='~/.vim/snippets'
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
526 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
527 " Tabular {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
528 inoremap <silent> <Bar> <Bar><Esc>:call <SID>align()<CR>a
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
529
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
530 function! s:align()
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
531 let p = '^\s*|\s.*\s|\s*$'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
532 if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
533 let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g'))
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
534 let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*'))
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
535 Tabularize/|/l1
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
536 normal! 0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
537 call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
538 endif
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
539 endfunction
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
540
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
541 " Align Migration files
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
542 vmap <c-a> :Tabularize /:/l1l0l0<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
543
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
544 nmap <Leader>a= :Tabularize /=<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
545 vmap <Leader>a= :Tabularize /=<CR>
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 /:\zs/l0l1<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
549 vmap <Leader>a: :Tabularize /:\zs/l0l1<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 vmap <Leader>a- :Tabularize /-<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
553 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
554 " Tagbar {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
555 nmap <F8> :TagbarToggle<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
556 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
557 " Gundo tree {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
558 nnoremap <leader>u :GundoToggle<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
559 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
560 " Smalls {{{
13
dd1519fc21e3 Add vim-smalls plugin
zegervdv <zegervdv@me.com>
parents: 5
diff changeset
561 nmap s <Plug>(smalls)
dd1519fc21e3 Add vim-smalls plugin
zegervdv <zegervdv@me.com>
parents: 5
diff changeset
562 omap s <Plug>(smalls)
dd1519fc21e3 Add vim-smalls plugin
zegervdv <zegervdv@me.com>
parents: 5
diff changeset
563 xmap s <Plug>(smalls)
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
564 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
565 " Textmanip {{{
14
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
566 xmap <C-j> <Plug>(textmanip-move-down)
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
567 xmap <C-k> <Plug>(textmanip-move-up)
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
568 xmap <C-h> <Plug>(textmanip-move-left)
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
569 xmap <C-l> <Plug>(textmanip-move-right)
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
570 xmap <F10> <Plug>(textmanip-toggle-mode)
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
571 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
572 " Startify {{{
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
573 let g:startify_session_dir = "~/.vim/sessions"
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
574 " }}}
54
fa9db4f30d79 Add vimwiki plugin
zegervdv <zegervdv@me.com>
parents: 47
diff changeset
575 " Vimwiki {{{
fa9db4f30d79 Add vimwiki plugin
zegervdv <zegervdv@me.com>
parents: 47
diff changeset
576 let g:vimwiki_list=[{'path':'$HOME/.vimwiki'}]
fa9db4f30d79 Add vimwiki plugin
zegervdv <zegervdv@me.com>
parents: 47
diff changeset
577 " }}}
58
b657d43a4fcb Stop asking to save current session
zegervdv <zegervdv@me.com>
parents: 54
diff changeset
578 " Vim Sessions {{{
b657d43a4fcb Stop asking to save current session
zegervdv <zegervdv@me.com>
parents: 54
diff changeset
579 let g:session_autosave = 'no'
b657d43a4fcb Stop asking to save current session
zegervdv <zegervdv@me.com>
parents: 54
diff changeset
580 " }}}
96
384c853303af Improve vimrc
zegervdv <zegervdv@me.com>
parents: 94
diff changeset
581 " Jedi {{{
384c853303af Improve vimrc
zegervdv <zegervdv@me.com>
parents: 94
diff changeset
582 let g:jedi#auto_vim_configuration=0
102
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
583 let g:jedi#completions_enabled = 0
96
384c853303af Improve vimrc
zegervdv <zegervdv@me.com>
parents: 94
diff changeset
584 " }}}
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
585
13
dd1519fc21e3 Add vim-smalls plugin
zegervdv <zegervdv@me.com>
parents: 5
diff changeset
586 " Load local vimrc
3
44d3af8838f8 Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
587 if filereadable($HOME . "/.vimrc.local")
44d3af8838f8 Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
588 source ~/.vimrc.local
44d3af8838f8 Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
589 endif
24
c3bb025ed67e Update plugins
zegervdv <zegervdv@me.com>
parents: 23
diff changeset
590