annotate vimrc @ 140:e037d9b797eb

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