annotate vimrc @ 131:ccee6e9f0c1d

fix colors in terminal vim
author zegervdv <zegervdv@me.com>
date Thu, 02 Oct 2014 08:20:44 +0200
parents 212e7e98554d
children 32bdd92feeae
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")
129
83a863716c11 Add v plugin
zegervdv <zegervdv@me.com>
parents: 128
diff changeset
33 " set background=dark
35
63f450f5c3fb Update plugins
zegervdv <zegervdv@me.com>
parents: 34
diff changeset
34 " color base16-ocean
128
51924b069324 Add Tomorrow-Night theme
zegervdv <zegervdv@me.com>
parents: 127
diff changeset
35 color Tomorrow-Night
21
bf5c5093bad9 Add Base16-Ocean-Dark colorscheme
zegervdv <zegervdv@me.com>
parents: 19
diff changeset
36 else
131
ccee6e9f0c1d fix colors in terminal vim
zegervdv <zegervdv@me.com>
parents: 130
diff changeset
37 set background=dark
128
51924b069324 Add Tomorrow-Night theme
zegervdv <zegervdv@me.com>
parents: 127
diff changeset
38 color Tomorrow-Night
21
bf5c5093bad9 Add Base16-Ocean-Dark colorscheme
zegervdv <zegervdv@me.com>
parents: 19
diff changeset
39 endif
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
40 set guifont=Inconsolata\ for\ Powerline:h12
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
41 set autowrite
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
42 set hidden
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
43 set hlsearch
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
44 set incsearch
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
45 set ignorecase
32
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
46 set gdefault
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
47 set smartcase
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
48 set smartindent
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
49 set autoindent
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
50 set scrolloff=4
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
51 set textwidth=80
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
52
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
53 set history=100
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
54 set wildmenu
19
4ee5a11d8355 Improvements
zegervdv <zegervdv@me.com>
parents: 18
diff changeset
55 set wildmode=full
79
7d3ded16eaa2 Fix git and ctags hooks
zegervdv <zegervdv@me.com>
parents: 72
diff changeset
56 set ttyfast
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
57 set lazyredraw
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
58
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
59 set diffopt+=iwhite
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
60
79
7d3ded16eaa2 Fix git and ctags hooks
zegervdv <zegervdv@me.com>
parents: 72
diff changeset
61 set tags=.git/tags
7d3ded16eaa2 Fix git and ctags hooks
zegervdv <zegervdv@me.com>
parents: 72
diff changeset
62
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
63 set formatoptions=
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
64 set formatoptions+=c " Format comments
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
65 set formatoptions+=r " Continue comments by default
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
66 set formatoptions+=o " Make comment when using o or O from comment line
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
67 set formatoptions+=q " Format comments with gq
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
68 set formatoptions+=n " Recognize numbered lists
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
69 set formatoptions+=2 " Use indent from 2nd line of a paragraph
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
70 set formatoptions+=l " Don't break lines that are already long
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
71 set formatoptions+=1 " Break before 1-letter words
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
72
92
afe2d02577c2 Small fixes to vimrc
zegervdv <zegervdv@me.com>
parents: 91
diff changeset
73 set complete+=kspell
afe2d02577c2 Small fixes to vimrc
zegervdv <zegervdv@me.com>
parents: 91
diff changeset
74
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
75 set splitright
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
76 set virtualedit=block
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
77 set conceallevel=0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
78
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
79 set cryptmethod=blowfish
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
80
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
81 filetype plugin indent on
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
82 autocmd FileType ruby set tabstop=2|set shiftwidth=2
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
83
107
508b8bc6ffd5 Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents: 104
diff changeset
84 set pastetoggle=<F2>
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
85 set clipboard=unnamed
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
86
32
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
87 set undofile
16
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
88 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
89
80
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
90 set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.o,*.bin,*.elf,*.hex
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
91
32
2da8d8daa033 Add remaps to vim and aliases to zsh
zegervdv <zegervdv@me.com>
parents: 29
diff changeset
92 " set list
91
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
93 " set listchars=tab:▸\ ,eol:¬
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
94 " }}}
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
95 " Custom remaps and tricks {{{
101
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
96 " Enable spelling only for latex and text
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
97 au BufNewFile,BufRead,BufEnter *.tex setlocal spell spelllang=en_gb
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
98 au BufNewFile,BufRead,BufEnter *.tex setlocal textwidth=0
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
99 au BufNewFile,BufRead,BufEnter *.txt setlocal spell spelllang=en_gb
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
100 au BufNewFile,BufRead,BufEnter *.txt setlocal textwidth=0
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
101
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
102
16
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
103 " 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
104 " 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
105 " 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
106 autocmd BufReadPost *
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
107 \ if &ft != 'gitcommit' && line("'\"") > 0 && line("'\"") <= line("$") |
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
108 \ exe "normal g`\"" |
17afab9bd228 Open vim at last known position
zegervdv <zegervdv@me.com>
parents: 14
diff changeset
109 \ endif
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
110
40
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
107
508b8bc6ffd5 Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents: 104
diff changeset
158 nnoremap <silent> <C-l> :nohl<CR>
40
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
122
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
166 map <leader> w <ESC>:tabprevious<CR>
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
167 map <leader> n <ESC>:tabnext<CR>
107
508b8bc6ffd5 Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents: 104
diff changeset
168
508b8bc6ffd5 Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents: 104
diff changeset
169 " Move between splits
508b8bc6ffd5 Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents: 104
diff changeset
170 map <C-j> <C-w>j
508b8bc6ffd5 Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents: 104
diff changeset
171 map <C-k> <C-w>k
508b8bc6ffd5 Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents: 104
diff changeset
172 map <C-l> <C-w>l
508b8bc6ffd5 Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents: 104
diff changeset
173 map <C-h> <C-w>h
34
3ed98613040a Add mapping to switch between tabs in vim
zegervdv <zegervdv@me.com>
parents: 33
diff changeset
174
33
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
175 " highlight last inserted text
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
176 nnoremap gV `[v`]
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
177
3bc2e4f5cc59 Update latex template
zegervdv <zegervdv@me.com>
parents: 32
diff changeset
178 " Briefly change colour of last highlight
94
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>
c31e63aba1dd Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents: 93
diff changeset
180 " nnoremap <silent> N N:call HLNext(0.4)<cr>
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
181
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
182 function! HLNext (blinktime)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
183 highlight WhiteOnRed ctermfg=white ctermbg=red guifg=white guibg=red
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
184 let [bufnum, lnum, col, off] = getpos('.')
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
185 let matchlen = strlen(matchstr(strpart(getline('.'),col-1),@/))
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
186 let target_pat = '\c\%#'.@/
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
187 let ring = matchadd('WhiteOnRed', target_pat, 101)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
188 redraw
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
189 exec 'sleep ' . float2nr(a:blinktime * 1000) . 'm'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
190 call matchdelete(ring)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
191 redraw
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
192 endfunction
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
193
94
c31e63aba1dd Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents: 93
diff changeset
194 " Highlight matching parenthesis in different color so I don't mess up
107
508b8bc6ffd5 Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents: 104
diff changeset
195 hi MatchParen cterm=underline ctermbg=none ctermfg=white gui=underline guibg=black guifg=white
94
c31e63aba1dd Use better colors for matching parentheses
zegervdv <zegervdv@me.com>
parents: 93
diff changeset
196
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
197 " Highlight VCS conflict markers
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
198 match ErrorMsg '^\(<\|=\|>\)\{7\}\([^=].\+\)\?$'
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
199
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
200 " Swap v and CTRL-V
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
201 nnoremap v <C-V>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
202 nnoremap <C-V> v
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
203
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
204 vnoremap v <C-V>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
205 vnoremap <C-V> v
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
206
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
207 " Use backspace as delete in visual mode
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
208 vmap <BS> x
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
209
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
210 " Keep selection when shifting
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 vmap <expr> < KeepVisualSelection("<")
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
213
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
214 function! KeepVisualSelection(cmd)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
215 set nosmartindent
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
216 if mode() ==# "V"
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
217 return a:cmd . ":set smartindent\<CR>gv"
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
218 else
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
219 return a:cmd . ":set smartindent\<CR>"
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
220 endif
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
221 endfunction
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
222
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
223 let g:indent_guides_auto_colors = 0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
224 let g:indent_guides_guide_size = 1
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
225 highlight IndentGuidesEven guibg=background
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
226 highlight IndentGuidesOdd guibg='#282a2e'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
227
42
4c3b25554bbb Enable smart folding
zegervdv <zegervdv@me.com>
parents: 40
diff changeset
228 au FileType c setl foldmethod=syntax
4c3b25554bbb Enable smart folding
zegervdv <zegervdv@me.com>
parents: 40
diff changeset
229
85
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
230 au VimResized * exe "normal! \<c-w>="
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 cnoremap <c-a> <home>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
233 cnoremap <c-e> <end>
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 " Swap backticks and quotes
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 nnoremap ' `
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 " 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
240 " 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
241 inoremap <C-u> <esc>mzgUiw`za
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 nnoremap <leader>ev :vsplit $MYVIMRC<cr>
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
244
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
245 function! MyFoldText() " {{{
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
246 let line = getline(v:foldstart)
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
247
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
248 let nucolwidth = &fdc + &number * &numberwidth
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
249 let windowwidth = winwidth(0) - nucolwidth - 3
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
250 let foldedlinecount = v:foldend - v:foldstart
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
251
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
252 " expand tabs into spaces
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
253 let onetab = strpart(' ', 0, &tabstop)
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
254 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
255
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
256 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
257 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
258 return line . '…' . repeat(" ",fillcharcount) . foldedlinecount . '…' . ' '
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
259 endfunction " }}}
8a5464ec3c29 Add vim mappings from https://bitbucket.org/sjl/dotfiles
zegervdv <zegervdv@me.com>
parents: 82
diff changeset
260 set foldtext=MyFoldText()
42
4c3b25554bbb Enable smart folding
zegervdv <zegervdv@me.com>
parents: 40
diff changeset
261
122
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
262 " Next and Last {{{
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
263 "
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
264 " Motion for "next/last object". "Last" here means "previous", not "final".
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
265 " Unfortunately the "p" motion was already taken for paragraphs.
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
266 "
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
267 " Next acts on the next object of the given type, last acts on the previous
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
268 " object of the given type. These don't necessarily have to be in the current
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
269 " line.
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
270 "
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
271 " Currently works for (, [, {, and their shortcuts b, r, B.
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
272 "
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
273 " Next kind of works for ' and " as long as there are no escaped versions of
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
274 " them in the string (TODO: fix that). Last is currently broken for quotes
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
275 " (TODO: fix that).
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
276 "
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
277 " Some examples (C marks cursor positions, V means visually selected):
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
278 "
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
279 " din' -> delete in next single quotes foo = bar('spam')
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
280 " C
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
281 " foo = bar('')
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
282 " C
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
283 "
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
284 " canb -> change around next parens foo = bar('spam')
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
285 " C
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
286 " foo = bar
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
287 " C
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
288 "
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
289 " vin" -> select inside next double quotes print "hello ", name
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
290 " C
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
291 " print "hello ", name
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
292 " VVVVVV
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
293
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
294 onoremap an :<c-u>call <SID>NextTextObject('a', '/')<cr>
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
295 xnoremap an :<c-u>call <SID>NextTextObject('a', '/')<cr>
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
296 onoremap in :<c-u>call <SID>NextTextObject('i', '/')<cr>
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
297 xnoremap in :<c-u>call <SID>NextTextObject('i', '/')<cr>
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
298
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
299 onoremap al :<c-u>call <SID>NextTextObject('a', '?')<cr>
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
300 xnoremap al :<c-u>call <SID>NextTextObject('a', '?')<cr>
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
301 onoremap il :<c-u>call <SID>NextTextObject('i', '?')<cr>
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
302 xnoremap il :<c-u>call <SID>NextTextObject('i', '?')<cr>
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
303
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
304
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
305 function! s:NextTextObject(motion, dir)
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
306 let c = nr2char(getchar())
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
307 let d = ''
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
308
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
309 if c ==# "b" || c ==# "(" || c ==# ")"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
310 let c = "("
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
311 elseif c ==# "B" || c ==# "{" || c ==# "}"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
312 let c = "{"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
313 elseif c ==# "r" || c ==# "[" || c ==# "]"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
314 let c = "["
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
315 elseif c ==# "'"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
316 let c = "'"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
317 elseif c ==# '"'
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
318 let c = '"'
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
319 else
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
320 return
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
321 endif
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
322
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
323 " Find the next opening-whatever.
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
324 execute "normal! " . a:dir . c . "\<cr>"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
325
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
326 if a:motion ==# 'a'
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
327 " If we're doing an 'around' method, we just need to select around it
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
328 " and we can bail out to Vim.
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
329 execute "normal! va" . c
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
330 else
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
331 " Otherwise we're looking at an 'inside' motion. Unfortunately these
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
332 " get tricky when you're dealing with an empty set of delimiters because
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
333 " Vim does the wrong thing when you say vi(.
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
334
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
335 let open = ''
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
336 let close = ''
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
337
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
338 if c ==# "("
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
339 let open = "("
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
340 let close = ")"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
341 elseif c ==# "{"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
342 let open = "{"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
343 let close = "}"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
344 elseif c ==# "["
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
345 let open = "\\["
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
346 let close = "\\]"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
347 elseif c ==# "'"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
348 let open = "'"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
349 let close = "'"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
350 elseif c ==# '"'
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
351 let open = '"'
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
352 let close = '"'
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
353 endif
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
354
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
355 " We'll start at the current delimiter.
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
356 let start_pos = getpos('.')
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
357 let start_l = start_pos[1]
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
358 let start_c = start_pos[2]
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
359
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
360 " Then we'll find it's matching end delimiter.
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
361 if c ==# "'" || c ==# '"'
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
362 " searchpairpos() doesn't work for quotes, because fuck me.
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
363 let end_pos = searchpos(open)
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
364 else
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
365 let end_pos = searchpairpos(open, '', close)
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
366 endif
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
367
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
368 let end_l = end_pos[0]
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
369 let end_c = end_pos[1]
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
370
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
371 call setpos('.', start_pos)
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
372
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
373 if start_l == end_l && start_c == (end_c - 1)
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
374 " We're in an empty set of delimiters. We'll append an "x"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
375 " character and select that so most Vim commands will do something
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
376 " sane. v is gonna be weird, and so is y. Oh well.
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
377 execute "normal! ax\<esc>\<left>"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
378 execute "normal! vi" . c
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
379 elseif start_l == end_l && start_c == (end_c - 2)
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
380 " We're on a set of delimiters that contain a single, non-newline
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
381 " character. We can just select that and we're done.
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
382 execute "normal! vi" . c
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
383 else
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
384 " Otherwise these delimiters contain something. But we're still not
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
385 " sure Vim's gonna work, because if they contain nothing but
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
386 " newlines Vim still does the wrong thing. So we'll manually select
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
387 " the guts ourselves.
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
388 let whichwrap = &whichwrap
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
389 set whichwrap+=h,l
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
390
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
391 execute "normal! va" . c . "hol"
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
392
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
393 let &whichwrap = whichwrap
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
394 endif
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
395 endif
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
396 endfunction
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
397 " }}}
122
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
398 " VHDL ctags
5ec9c636da2a Revert "Add targets plugin"
zegervdv <zegervdv@me.com>
parents: 121
diff changeset
399 let g:tlist_vhdl_settings = 'vhdl;d:package declarations;b:package bodies;e:entities;a:architecture specifications;t:type declarations;p:processes;f:functions;r:procedures'
127
39f36bd51c23 Fix folding in vimrc
zegervdv <zegervdv@me.com>
parents: 122
diff changeset
400 " }}}
101
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
401 " Latex {{{
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
402 " Compile using rubber
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
403 nnoremap <leader>m :w<CR>:VimProcBang rubber --pdf --warn all %<CR>
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
404 " Open pdf
104
ee15a19325bb Silence output of open pdf mapping for tex
zegervdv <zegervdv@me.com>
parents: 103
diff changeset
405 nnoremap <silent> <leader>v :silent !open %:r.pdf<CR><CR>
101
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
406 " }}}
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
407 " Vim Math plugin; make simple calculations {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
408 vmap <expr> ++ VMATH_YankAndAnalyse()
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
409 nmap ++ vip++
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
410 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
411 " Airline configuration {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
412 let g:airline_inactive_collapse=0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
413 let g:airline_powerline_fonts=1
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_left_sep = ''
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
416 let g:airline_right_sep = ''
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
417
131
ccee6e9f0c1d fix colors in terminal vim
zegervdv <zegervdv@me.com>
parents: 130
diff changeset
418 if has("gui_running")
ccee6e9f0c1d fix colors in terminal vim
zegervdv <zegervdv@me.com>
parents: 130
diff changeset
419 let g:airline_theme = 'base16'
ccee6e9f0c1d fix colors in terminal vim
zegervdv <zegervdv@me.com>
parents: 130
diff changeset
420 else
ccee6e9f0c1d fix colors in terminal vim
zegervdv <zegervdv@me.com>
parents: 130
diff changeset
421 let g:airline_theme = 'tomorrow'
ccee6e9f0c1d fix colors in terminal vim
zegervdv <zegervdv@me.com>
parents: 130
diff changeset
422 endif
80
16edf05ad21a Fix errors with prompt
zegervdv <zegervdv@me.com>
parents: 79
diff changeset
423 let g:airline#extensions#syntastic#enabled = 1
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
424 " }}}
93
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
425 " Unite {{{
96
384c853303af Improve vimrc
zegervdv <zegervdv@me.com>
parents: 94
diff changeset
426 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
427 call unite#filters#sorter_default#use(['sorter_rank'])
121
eae8e7173918 Update plugins
zegervdv <zegervdv@me.com>
parents: 116
diff changeset
428 " call unite#set_profile('files', 'smartcase', 1)
eae8e7173918 Update plugins
zegervdv <zegervdv@me.com>
parents: 116
diff changeset
429 call unite#custom#profile('files', 'context.smartcase', 1)
93
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
430 call unite#custom#source('line,outline', 'matchers', 'matcher_fuzzy')
101
368f742876cf Disable Latex plugin
zegervdv <zegervdv@me.com>
parents: 100
diff changeset
431 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
432 " sort file results by length
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
433 call unite#custom#source('file', 'sorters', 'sorter_length')
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
434 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
435 let g:unite_enable_start_insert=0
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
436 let g:unite_source_history_yank_enable=1
121
eae8e7173918 Update plugins
zegervdv <zegervdv@me.com>
parents: 116
diff changeset
437 let g:unite_source_rec_max_cache_files=3000
93
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
438 let g:unite_prompt='» '
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
439 if executable('ag')
102
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
440 let g:unite_source_grep_command = 'ag'
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
441 let g:unite_source_grep_default_opts =
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
442 \ '-i --line-numbers --nocolor --nogroup --hidden --ignore ' .
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
443 \ '''.hg'' --ignore ''.svn'' --ignore ''.git'' --ignore ''.bzr'''
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
444 let g:unite_source_grep_recursive_opt = ''
121
eae8e7173918 Update plugins
zegervdv <zegervdv@me.com>
parents: 116
diff changeset
445 let g:unite_source_rec_async_command = 'ag --nocolor --nogroup --hidden -g ""'
93
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
446 elseif executable('ack')
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
447 let g:unite_source_grep_command='ack'
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
448 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
449 let g:unite_source_grep_recursive_opt=''
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
450 endif
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
451 function! s:unite_settings()
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
452 nmap <buffer> Q <plug>(unite_exit)
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
453 nmap <buffer> <esc> <plug>(unite_exit)
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
454 imap <buffer> <C-j> <Plug>(unite_select_next_line)
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
455 imap <buffer> <C-k> <Plug>(unite_select_previous_line)
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
456 endfunction
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
457 autocmd FileType unite call s:unite_settings()
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
458
107
508b8bc6ffd5 Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents: 104
diff changeset
459 nnoremap <silent> <SPACE>m :<C-u>Unite -auto-preview -buffer-name=recent file_mru<cr>
93
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
460 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
461 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
462 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
463 nnoremap <silent> <SPACE>/ :<C-u>Unite -no-quit -buffer-name=search grep:.<cr>
107
508b8bc6ffd5 Improve mapping for split windows
zegervdv <zegervdv@me.com>
parents: 104
diff changeset
464 nnoremap <silent> <SPACE>k :<C-u>Unite -auto-resize -buffer-name=mappings mapping<cr>
93
8278ded5eb8c Replace ctrlp and yankring with unite
zegervdv <zegervdv@me.com>
parents: 92
diff changeset
465 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
466 nnoremap <silent> <SPACE>o :<C-u>Unite outline<CR>
100
fe2c860e4ada Add unite-tag plugin
zegervdv <zegervdv@me.com>
parents: 99
diff changeset
467 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
468 nnoremap <silent> <C-p> :<C-u>Unite -start-insert file_rec/async<CR>
116
f7ea2b69b89d Add shortcut to vimrc
zegervdv <zegervdv@me.com>
parents: 112
diff changeset
469 nnoremap <silent> <SPACE>h :<C-u>Unite ssh://Hurricane/STM-Quadcopter/source<CR>
f7ea2b69b89d Add shortcut to vimrc
zegervdv <zegervdv@me.com>
parents: 112
diff changeset
470 nnoremap <silent> <SPACE>i :<C-u>Unite ssh://imac-van-zeger.local/Documents<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
471 " }}}
103
e7c5a1fffc5e Add unite-build
zegervdv <zegervdv@me.com>
parents: 102
diff changeset
472 " Unite Build {{{
e7c5a1fffc5e Add unite-build
zegervdv <zegervdv@me.com>
parents: 102
diff changeset
473 " TODO: Create builders eg Latex, Vagrant?
e7c5a1fffc5e Add unite-build
zegervdv <zegervdv@me.com>
parents: 102
diff changeset
474 " }}}
98
235b862405f4 Add vimfiler and neossh
zegervdv <zegervdv@me.com>
parents: 97
diff changeset
475 " Vimfiler {{{
235b862405f4 Add vimfiler and neossh
zegervdv <zegervdv@me.com>
parents: 97
diff changeset
476 " Use vimfiler as default
235b862405f4 Add vimfiler and neossh
zegervdv <zegervdv@me.com>
parents: 97
diff changeset
477 let g:vimfiler_as_default_explorer = 1
235b862405f4 Add vimfiler and neossh
zegervdv <zegervdv@me.com>
parents: 97
diff changeset
478 nnoremap <leader>e :VimFilerExplorer<CR>
109
f9b3b13dc44a Update plugins
zegervdv <zegervdv@me.com>
parents: 107
diff changeset
479 let g:vimfiler_ignore_pattern = '\%(.o\|.bin\|.elf\|.un\~\|.swp\)$'
98
235b862405f4 Add vimfiler and neossh
zegervdv <zegervdv@me.com>
parents: 97
diff changeset
480 " }}}
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
481 " Vim - Rspec {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
482 map <leader>t :call RunCurrentSpecFile()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
483 map <leader>s :call RunNearestSpec()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
484 map <leader>l :call RunLastSpec()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
485 map <leader>r :call RunAllSpecs()<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
486 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
487 " Cucumber {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
488 map <leader>f :call RunAllFeatures()<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
489 map <leader>k :call RunCurrentFeature()<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
490 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
491 " Markdown {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
492 let g:vim_markdown_folding_disabled=1
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
493 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
494 " tComment {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
495 nmap <leader>c <C-_><C-_>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
496 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
497 " Neo Complete {{{
91
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
498 let g:neocomplete#enable_at_startup = 1
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
499 let g:neocomplet#enable_smart_case = 1
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
500 let g:marching_enable_neocomplete = 1
102
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
501 let g:neocomplete#enable_fuzzy_completion = 1
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
502
91
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
503 inoremap <expr><s-CR> pumvisible() ? neocomplete#smart_close_popup()"\<CR>" : "\<CR>"
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
504 inoremap <expr><C-g> neocomplete#undo_completion()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
505 inoremap <expr><C-l> neocomplete#complete_common_string()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
506 function! CleverCr()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
507 if pumvisible()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
508 if neosnippet#expandable()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
509 let exp = "\<Plug>(neosnippet_expand)"
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
510 return exp . neocomplete#smart_close_popup()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
511 else
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
512 return neocomplete#smart_close_popup()
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
513 endif
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
514 else
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
515 return "\<CR>"
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
516 endif
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
517 endfunction
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
518 " <CR> close popup and save indent or expand snippet
97744720e080 Improved neocompleting
zegervdv <zegervdv@me.com>
parents: 90
diff changeset
519 imap <expr> <CR> CleverCr()
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
520 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
521 " Neo Snippets {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
522 imap <C-k> <Plug>(neosnippet_expand_or_jump)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
523 smap <C-k> <Plug>(neosnippet_expand_or_jump)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
524 xmap <C-k> <Plug>(neosnippet_expand_target)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
525
23
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
526 " imap <expr><TAB> neosnippet#expandable_or_jumpable() ?
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
527 " \ "\<Plug>(neosnippet_expand_or_jump)"
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
528 " \: pumvisible() ? "\<C-n>" : "\<TAB>"
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
529 " smap <expr><TAB> neosnippet#expandable_or_jumpable() ?
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
530 " \ "\<Plug>(neosnippet_expand_or_jump)"
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
531 " \: "\<TAB>"
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
532
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
533
4112c6eb9f47 Correct tab completion with snippets
zegervdv <zegervdv@me.com>
parents: 22
diff changeset
534 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
535 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
536 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
537 " let g:neocomplete#sources#omni#input_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::'
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
538
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
539 let g:neosnippet#snippets_directory='~/.vim/snippets'
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
540 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
541 " Tabular {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
542 inoremap <silent> <Bar> <Bar><Esc>:call <SID>align()<CR>a
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
543
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
544 function! s:align()
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
545 let p = '^\s*|\s.*\s|\s*$'
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
546 if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p)
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
547 let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g'))
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
548 let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*'))
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
549 Tabularize/|/l1
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
550 normal! 0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
551 call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
552 endif
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
553 endfunction
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
554
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
555 " Align Migration files
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
556 vmap <c-a> :Tabularize /:/l1l0l0<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
557
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
558 nmap <Leader>a= :Tabularize /=<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
559 vmap <Leader>a= :Tabularize /=<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
560 nmap <Leader>a=> :Tabularize /=><CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
561 vmap <Leader>a=> :Tabularize /=><CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
562 nmap <Leader>a: :Tabularize /:\zs/l0l1<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
563 vmap <Leader>a: :Tabularize /:\zs/l0l1<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
564 nmap <Leader>a, :Tabularize /,\zs/l0l1<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
565 vmap <Leader>a, :Tabularize /,\zs/l0l1<CR>
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
566 vmap <Leader>a- :Tabularize /-<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
567 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
568 " Tagbar {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
569 nmap <F8> :TagbarToggle<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
570 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
571 " Gundo tree {{{
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
572 nnoremap <leader>u :GundoToggle<CR>
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
573 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
574 " Smalls {{{
13
dd1519fc21e3 Add vim-smalls plugin
zegervdv <zegervdv@me.com>
parents: 5
diff changeset
575 nmap s <Plug>(smalls)
dd1519fc21e3 Add vim-smalls plugin
zegervdv <zegervdv@me.com>
parents: 5
diff changeset
576 omap s <Plug>(smalls)
dd1519fc21e3 Add vim-smalls plugin
zegervdv <zegervdv@me.com>
parents: 5
diff changeset
577 xmap s <Plug>(smalls)
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 " Textmanip {{{
14
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
580 xmap <C-j> <Plug>(textmanip-move-down)
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
581 xmap <C-k> <Plug>(textmanip-move-up)
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
582 xmap <C-h> <Plug>(textmanip-move-left)
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
583 xmap <C-l> <Plug>(textmanip-move-right)
09c60bc0fc38 Add vim-textmanip for visual block dragging
zegervdv <zegervdv@me.com>
parents: 13
diff changeset
584 xmap <F10> <Plug>(textmanip-toggle-mode)
40
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
585 " }}}
f79361618cac Organize vimrc
zegervdv <zegervdv@me.com>
parents: 38
diff changeset
586 " Startify {{{
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
587 let g:startify_session_dir = "~/.vim/sessions"
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
588 " }}}
54
fa9db4f30d79 Add vimwiki plugin
zegervdv <zegervdv@me.com>
parents: 47
diff changeset
589 " Vimwiki {{{
fa9db4f30d79 Add vimwiki plugin
zegervdv <zegervdv@me.com>
parents: 47
diff changeset
590 let g:vimwiki_list=[{'path':'$HOME/.vimwiki'}]
fa9db4f30d79 Add vimwiki plugin
zegervdv <zegervdv@me.com>
parents: 47
diff changeset
591 " }}}
58
b657d43a4fcb Stop asking to save current session
zegervdv <zegervdv@me.com>
parents: 54
diff changeset
592 " Vim Sessions {{{
b657d43a4fcb Stop asking to save current session
zegervdv <zegervdv@me.com>
parents: 54
diff changeset
593 let g:session_autosave = 'no'
b657d43a4fcb Stop asking to save current session
zegervdv <zegervdv@me.com>
parents: 54
diff changeset
594 " }}}
96
384c853303af Improve vimrc
zegervdv <zegervdv@me.com>
parents: 94
diff changeset
595 " Jedi {{{
384c853303af Improve vimrc
zegervdv <zegervdv@me.com>
parents: 94
diff changeset
596 let g:jedi#auto_vim_configuration=0
102
a25bdb562e43 Fix zsh prompt
zegervdv <zegervdv@me.com>
parents: 101
diff changeset
597 let g:jedi#completions_enabled = 0
96
384c853303af Improve vimrc
zegervdv <zegervdv@me.com>
parents: 94
diff changeset
598 " }}}
27
d75ec1f32cae Add folds to vimrc
zegervdv <zegervdv@me.com>
parents: 26
diff changeset
599
13
dd1519fc21e3 Add vim-smalls plugin
zegervdv <zegervdv@me.com>
parents: 5
diff changeset
600 " Load local vimrc
3
44d3af8838f8 Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
601 if filereadable($HOME . "/.vimrc.local")
44d3af8838f8 Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
602 source ~/.vimrc.local
44d3af8838f8 Add support for local zshrc and vimrc files
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
603 endif
24
c3bb025ed67e Update plugins
zegervdv <zegervdv@me.com>
parents: 23
diff changeset
604