annotate vim/vimrc @ 316:8f49f36b76ef

Merge changes.
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 10 Aug 2015 18:33:09 -0700
parents 5f9d52300aaa 52d4d0fa195b
children b0b868bb0d44
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
1 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
2 "
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
3 " Ludovic Chabant's ~/.vimrc
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
4 "
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
5 " http://ludovic.chabant.com
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
6 "
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
7 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
8
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
9 " Global Setup {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
10
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
11 " Use Vim settings, rather then Vi settings (much better!).
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
12 " This must be first, because it changes other options as a side effect.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
13 set nocompatible
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
14
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
15 " Set a variable that says we already sourced this file, for those few
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
16 " settings we don't want to re-apply.
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
17 if exists('g:sourced_vimrc')
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
18 let g:resourcing_vimrc = 1
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
19 endif
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
20 let g:sourced_vimrc = 1
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
21
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
22 " Get the platform we're running on.
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
23 if has("win32") || has("win64") || has("dos32")
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
24 let s:vim_platform = "windows"
286
a29080fb35d9 Add support for local Vim bundle.
Ludovic Chabant <ludovic@chabant.com>
parents: 284
diff changeset
25 let s:path_sep = "\\"
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
26 else
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
27 let s:vim_platform = "unix"
286
a29080fb35d9 Add support for local Vim bundle.
Ludovic Chabant <ludovic@chabant.com>
parents: 284
diff changeset
28 let s:path_sep = '/'
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
29 endif
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
30
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
31 " Get our vim directory.
95
b96ff0dd0137 Fixed the generated vimrc's runtimepath.
Ludovic Chabant <ludovic@chabant.com>
parents: 83
diff changeset
32 let s:vim_home = expand("<sfile>:h")
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
33
127
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
34 " Make sure `filetype` stuff is turned off before loading Pathogen.
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
35 syntax off
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
36 filetype off
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
37
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
38 " Disable some plugins.
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
39 let g:pathogen_disabled = []
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
40 call add(g:pathogen_disabled, 'vimroom')
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
41 call add(g:pathogen_disabled, 'minibufexpl')
127
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
42 call add(g:pathogen_disabled, 'ragtag')
308
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
43 call add(g:pathogen_disabled, 'interestingwords')
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
44
286
a29080fb35d9 Add support for local Vim bundle.
Ludovic Chabant <ludovic@chabant.com>
parents: 284
diff changeset
45 " Potentially add the local bundle directory.
a29080fb35d9 Add support for local Vim bundle.
Ludovic Chabant <ludovic@chabant.com>
parents: 284
diff changeset
46 if isdirectory(s:vim_home.s:path_sep.'local')
a29080fb35d9 Add support for local Vim bundle.
Ludovic Chabant <ludovic@chabant.com>
parents: 284
diff changeset
47 execute 'set runtimepath+='.s:vim_home.s:path_sep.'local'
a29080fb35d9 Add support for local Vim bundle.
Ludovic Chabant <ludovic@chabant.com>
parents: 284
diff changeset
48 endif
a29080fb35d9 Add support for local Vim bundle.
Ludovic Chabant <ludovic@chabant.com>
parents: 284
diff changeset
49
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
50 " Load pathogen.
286
a29080fb35d9 Add support for local Vim bundle.
Ludovic Chabant <ludovic@chabant.com>
parents: 284
diff changeset
51 "call pathogen#infect()
a29080fb35d9 Add support for local Vim bundle.
Ludovic Chabant <ludovic@chabant.com>
parents: 284
diff changeset
52 call pathogen#runtime_append_all_bundles()
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
53
10
00cac5ebf546 Added default window size. Added buffer keyboard shortcuts.
ludovicchabant
parents: 6
diff changeset
54 " Hide the toolbar in MacVim/gVIM, and set a nice window size.
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
55 if has("gui_running") && !exists('g:resourcing_vimrc')
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
56 set guioptions=-t
235
ceb3f44fa2fc Update sub-repos, make Vim maximized by default.
Ludovic Chabant <ludovic@chabant.com>
parents: 233
diff changeset
57 set lines=999
ceb3f44fa2fc Update sub-repos, make Vim maximized by default.
Ludovic Chabant <ludovic@chabant.com>
parents: 233
diff changeset
58 set columns=999
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
59 endif
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
60
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
61 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
62
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
63 " General Settings {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
64
135
db9d5fe86723 Enable modelines.
Ludovic Chabant <ludovic@chabant.com>
parents: 131
diff changeset
65 " Restrict modelines.
db9d5fe86723 Enable modelines.
Ludovic Chabant <ludovic@chabant.com>
parents: 131
diff changeset
66 set modelines=1
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
67
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
68 " Don't unload abandoned buffers.
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
69 set hidden
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
70
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
71 " Show line numbers.
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
72 set number
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
73
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
74 " Show what mode we're in, and what command we're typing.
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
75 set showmode
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
76 set showcmd
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
77
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
78 " Keep the cursor off the top/bottom edges.
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
79 set scrolloff=3
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
80
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
81 " Smart auto-indenting.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
82 set autoindent
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
83 set smartindent
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
84
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
85 " Use confirmation dialog.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
86 set confirm
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
87
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
88 " Don't use annoying sounds.
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
89 set visualbell
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
90
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
91 " Remember lots of commands.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
92 set history=1000
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
93
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
94 " Try to reduce flickering.
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
95 set lazyredraw
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
96
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
97 " Show matching braces but not for too long.
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
98 set showmatch
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
99 set matchtime=2
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
100
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
101 " Show soft-broken/wrapped lines with a prefix.
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
102 set showbreak=→
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
103
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
104 " Use incremental search, with highlighting,
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
105 " case-insensitive unless we actually type some
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
106 " mixed-case stuff.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
107 set incsearch
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
108 set hlsearch
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
109 set ignorecase
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
110 set smartcase
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
111
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
112 " Always show window status lines.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
113 set laststatus=2
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
114
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
115 " Enable using the mouse like some everyday guy.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
116 set mouse=a
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
117
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
118 " Show interesting stuff at the bottom of the window.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
119 set showcmd
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
120 set ruler
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
121
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
122 " Make sure splitting windows is done in a way that makes sense.
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
123 set splitbelow
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
124 set splitright
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
125
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
126 " Don't pollute the hard-drive with *~ files. Only
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
127 " create them in hidden backup/temp directories while
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
128 " we edit the file, and then get rid of it.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
129 set nobackup
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
130 set writebackup
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
131 execute('set backupdir='.s:vim_home.'/backup')
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
132 execute('set directory='.s:vim_home.'/temp')
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
133
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
134 " Better command-line completion, but don't show some
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
135 " stuff we don't care about.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
136 set wildmenu
193
ae53d68033d9 Enable fugitive and some CtrlP extensions, include a new one of my own.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
137 set wildignore+=.DS_Store,Thumbs.db,*.so,*.dll,*.exe,*.lib,*.pdb,*.pyc,*.pyo
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
138
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
139 " Always display the tab-page line.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
140 set showtabline=2
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
141
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
142 " Set the file-formats.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
143 set ffs=unix,mac,dos
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
144
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
145 " Tabs and indenting are 4 characters, and tabs behave like
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
146 " spaces during editing. They're smart, too, and when you
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
147 " press <TAB> it actually inserts a soft-tab so everything's
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
148 " indented the same.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
149 set tabstop=4
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
150 set shiftwidth=4
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
151 set softtabstop=4
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
152 set smarttab
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
153 set expandtab
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
154
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
155 " Default encoding
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
156 set encoding=utf-8
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
157
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
158 " Clipboard buffer.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
159 set clipboard=unnamed
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
160
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
161 " Smoot terminal experience.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
162 set ttyfast
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
163
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
164 " Allow backspacing over anything.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
165 set backspace=indent,eol,start
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
166
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
167 " Going left and right let you go to other lines.
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
168 set whichwrap+=<,>,h,l
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
169
93
822fc8b4405f Invisible characters in vimrc.
Ludovic Chabant <ludovic@chabant.com>
parents: 92
diff changeset
170 " How to show invisible characters
822fc8b4405f Invisible characters in vimrc.
Ludovic Chabant <ludovic@chabant.com>
parents: 92
diff changeset
171 set listchars=eol:$,tab:>-,trail:-,extends:>,precedes:<,nbsp:%,conceal:.
822fc8b4405f Invisible characters in vimrc.
Ludovic Chabant <ludovic@chabant.com>
parents: 92
diff changeset
172
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
173 " Nice auto-complete menu.
308
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
174 set complete=.,w,b,u,t
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
175 set completeopt=longest,menuone,preview
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
176
121
c6f0172aac8d Add nice column indicators in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 119
diff changeset
177 " Column indicators.
c6f0172aac8d Add nice column indicators in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 119
diff changeset
178 set colorcolumn=72,79
c6f0172aac8d Add nice column indicators in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 119
diff changeset
179
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
180 " And now, for some system-dependent settings:
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
181 " - font to use
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
182 if s:vim_platform == "windows"
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
183 set guifont=Consolas:h12
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
184 else
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
185 set guifont=Monaco:h12
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
186 endif
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
187
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
188 " Syntax highlighting.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
189 syntax on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
190
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
191 " Change the current directory to the home directory.
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
192 if !exists('g:resourcing_vimrc')
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
193 cd ~/
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
194 endif
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
195
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
196 " Default color scheme.
47
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
197 if has('gui_running')
217
6ee245fa8a3d Proper colors in iTerm2, and now using solarized for a change.
Ludovic Chabant <ludovic@chabant.com>
parents: 213
diff changeset
198 set background=dark
47
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
199 else
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
200 set background=dark
314
5f9d52300aaa Vim tweaks:
Ludovic Chabant <ludovic@chabant.com>
parents: 313
diff changeset
201 let g:solarized_termcolors = 256
5f9d52300aaa Vim tweaks:
Ludovic Chabant <ludovic@chabant.com>
parents: 313
diff changeset
202 let g:solarized_termtrans = 1
47
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
203 endif
217
6ee245fa8a3d Proper colors in iTerm2, and now using solarized for a change.
Ludovic Chabant <ludovic@chabant.com>
parents: 213
diff changeset
204 colorscheme solarized
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
205
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
206 " Enable file type detection.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
207 filetype indent plugin on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
208
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
209 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
210
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
211 " Auto-Commands {{{
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
212
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
213 " Only show the highlighted cursor line in the current window.
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
214 augroup CursorLine
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
215 au!
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
216 au WinLeave * set nocursorline
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
217 au WinEnter * set cursorline
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
218 augroup END
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
219
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
220 " }}}
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
221
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
222 " Plugin Settings {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
223
309
5b7acab16766 Make NERDTree ignore stuff, and other Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
224 " NERDTree {{{
5b7acab16766 Make NERDTree ignore stuff, and other Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
225
5b7acab16766 Make NERDTree ignore stuff, and other Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
226 let NERDTreeIgnore=['\~$', '*.pyc', '*.pyo']
5b7acab16766 Make NERDTree ignore stuff, and other Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
227
5b7acab16766 Make NERDTree ignore stuff, and other Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
228 " }}}
5b7acab16766 Make NERDTree ignore stuff, and other Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
229
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
230 " Ctrl-P {{{
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
231
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
232 " We'll set our own mappings.
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
233 let g:ctrlp_map = ''
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
234
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
235 " Ctrl-P should manage the working directory.
173
393449253540 Use the new notation for `ctrlp` setting.
Ludovic Chabant <ludovic@chabant.com>
parents: 171
diff changeset
236 let g:ctrlp_working_path_mode = 'ra'
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
237
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
238 " Ctrl-P should however ignore some stuff.
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
239 let g:ctrlp_custom_ignore = {
233
073e7e47dbeb Change CtrlP ignored dirs.
Ludovic Chabant <ludovic@chabant.com>
parents: 219
diff changeset
240 \ 'dir': '\v[\/](\.git|\.hg|\.svn|venv|static|node_modules|_cache|_counter)$'
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
241 \ }
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
242
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
243 " Make Ctrl-P cache stuff in our temp directory.
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
244 let g:ctrlp_cache_dir = s:vim_home.'/cache'
10
00cac5ebf546 Added default window size. Added buffer keyboard shortcuts.
ludovicchabant
parents: 6
diff changeset
245
197
4d34bf15a478 Don't clear CtrlP cache on exit, fix Windows issues.
Ludovic Chabant <ludovic@chabant.com>
parents: 193
diff changeset
246 " Remember things.
4d34bf15a478 Don't clear CtrlP cache on exit, fix Windows issues.
Ludovic Chabant <ludovic@chabant.com>
parents: 193
diff changeset
247 let g:ctrlp_clear_cache_on_ext = 0
4d34bf15a478 Don't clear CtrlP cache on exit, fix Windows issues.
Ludovic Chabant <ludovic@chabant.com>
parents: 193
diff changeset
248
193
ae53d68033d9 Enable fugitive and some CtrlP extensions, include a new one of my own.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
249 " Enable some cool extensions.
240
3a6b11d16a2a Simpler registration for CtrlP extensions.
Ludovic Chabant <ludovic@chabant.com>
parents: 235
diff changeset
250 let g:ctrlp_extensions = [
266
de3ef7fbcfc1 Add CtrlP's bookmarkdir extension.
Ludovic Chabant <ludovic@chabant.com>
parents: 252
diff changeset
251 \'tag', 'buffertag', 'quickfix', 'mixed', 'bookmarkdir',
288
25b672f0f6bd Remove `projectjump` CtrlP plugin, just use the bookmarks.
Ludovic Chabant <ludovic@chabant.com>
parents: 287
diff changeset
252 \'autoignore'
240
3a6b11d16a2a Simpler registration for CtrlP extensions.
Ludovic Chabant <ludovic@chabant.com>
parents: 235
diff changeset
253 \]
193
ae53d68033d9 Enable fugitive and some CtrlP extensions, include a new one of my own.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
254
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
255 " }}}
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
256
213
769869e61101 Renamed autotags to gutentags.
Ludovic Chabant <ludovic@chabant.com>
parents: 212
diff changeset
257 " Gutentags {{{
206
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
258
213
769869e61101 Renamed autotags to gutentags.
Ludovic Chabant <ludovic@chabant.com>
parents: 212
diff changeset
259 let g:gutentags_exclude = ['venv', 'build', 'static', 'node_modules']
769869e61101 Renamed autotags to gutentags.
Ludovic Chabant <ludovic@chabant.com>
parents: 212
diff changeset
260 let g:gutentags_cache_dir = s:vim_home.'/tags'
218
b87391429145 Use the `ctagsrc` file with Gutentags.
Ludovic Chabant <ludovic@chabant.com>
parents: 217
diff changeset
261 let g:gutentags_options_file = s:vim_home.'/ctagsrc'
206
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
262
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
263 " }}}
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
264
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
265 " Syntastic {{{
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
266
314
5f9d52300aaa Vim tweaks:
Ludovic Chabant <ludovic@chabant.com>
parents: 313
diff changeset
267 let g:syntastic_auto_loc_list = 2
305
a333541a5c74 Syntastic config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 304
diff changeset
268 let g:syntastic_check_on_open = 1
a333541a5c74 Syntastic config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 304
diff changeset
269 let g:syntastic_check_on_wq = 0
a333541a5c74 Syntastic config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 304
diff changeset
270
219
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
271 " flake8 includes pyflakes, pep8, and mccabe
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
272 " I could maybe replace pyflakes with frosted?
252
a2e31e166cb9 Just keep flake8 for Python checking in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 240
diff changeset
273 let g:syntastic_python_checkers = ['flake8'] ", 'pylint']
219
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
274 let g:syntastic_python_python_exec = 'python3'
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
275
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
276 " }}}
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
277
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
278 " Supertab {{{
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
279
308
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
280 let g:SuperTabDefaultCompletionType = "context"
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
281 let g:SuperTabLongestEnhanced = 1
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
282 let g:SuperTabLongestHighlight = 0
219
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
283 let g:SuperTabCrMapping = 1
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
284
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
285 " }}}
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
286
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
287 " Lawrencium {{{
118
c1ff96232138 New settings for Lawrencium.
Ludovic Chabant <ludovic@chabant.com>
parents: 114
diff changeset
288
127
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
289 " Custom Mercurial commands highlighting in Lawrencium.
118
c1ff96232138 New settings for Lawrencium.
Ludovic Chabant <ludovic@chabant.com>
parents: 114
diff changeset
290 let g:lawrencium_hg_commands_file_types = {
c1ff96232138 New settings for Lawrencium.
Ludovic Chabant <ludovic@chabant.com>
parents: 114
diff changeset
291 \'clog': 'hggraphlog'
c1ff96232138 New settings for Lawrencium.
Ludovic Chabant <ludovic@chabant.com>
parents: 114
diff changeset
292 \}
c1ff96232138 New settings for Lawrencium.
Ludovic Chabant <ludovic@chabant.com>
parents: 114
diff changeset
293
127
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
294 " Make the annotate window better in Lawrencium.
206
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
295 let g:lawrencium_annotate_width_offset = 1
127
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
296
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
297 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
298
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
299 " Gundo {{{
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
300
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
301 let g:gundo_map_move_older = '<Down>'
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
302 let g:gundo_map_move_newer = '<Up>'
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
303
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
304 " }}}
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
305
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
306 " YankRing {{{
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
307
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
308 let g:yankring_replace_n_pkey = '<C-K>'
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
309 let g:yankring_replace_p_pkey = '<C-J>'
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
310
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
311 " }}}
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
312
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
313 " Python-Mode {{{
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
314
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
315 let g:pymode = 1
307
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
316 let g:pymode_python = 'python'
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
317
314
5f9d52300aaa Vim tweaks:
Ludovic Chabant <ludovic@chabant.com>
parents: 313
diff changeset
318 let g:pymode_syntax = 0
307
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
319 let g:pymode_syntax_all = 0
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
320 let g:pymode_syntax_builtin_objs = 1
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
321 let g:pymode_syntax_print_as_function = 1
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
322 let g:pymode_syntax_space_errors = 1
307
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
323
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
324 let g:pymode_run = 0
307
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
325
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
326 let g:pymode_lint = 0
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
327 let g:pymode_trim_whitespaces = 0
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
328 let g:pymode_folding = 1
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
329
307
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
330 let g:pymode_doc = 1
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
331 let g:pymode_doc_bind = 'K'
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
332
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
333 let g:pymode_virtualenv = 0
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
334
314
5f9d52300aaa Vim tweaks:
Ludovic Chabant <ludovic@chabant.com>
parents: 313
diff changeset
335 let g:pymode_rope = 0
5f9d52300aaa Vim tweaks:
Ludovic Chabant <ludovic@chabant.com>
parents: 313
diff changeset
336
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
337 " }}}
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
338
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
339 " }}}
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
340
73
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
341 " File-Specific Settings {{{
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
342
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
343 " Automatically change the current working directory based on a project
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
344 " I'm in.
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
345 augroup VimRCAutoCWD
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
346 au!
291
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
347 autocmd BufReadPost * call s:SetProjectRootCwd(1)
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
348 autocmd BufEnter * call s:SetProjectRootCwd(0)
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
349 augroup END
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
350
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
351 augroup VimRCFileType_markdown
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
352 au!
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
353 autocmd FileType text,markdown setlocal textwidth=80
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
354 autocmd FileType markdown nnoremap <buffer> <localleader>1 yypVr=:redraw<cr>
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
355 autocmd FileType markdown nnoremap <buffer> <localleader>2 yypVr-:redraw<cr>
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
356 autocmd FileType markdown nnoremap <buffer> <localleader>3 mzI###<space><esc>`z4l
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
357 autocmd FileType markdown nnoremap <buffer> <localleader>4 mzI####<space><esc>`z5l
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
358
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
359 autocmd BufRead,BufNewfile */Dropbox/Personal/SimpleNote/* set ft=markdown
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
360 autocmd BufRead,BufNewFile */_content/**/*.html set ft=piecrustmarkdown
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
361 augroup END
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
362
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
363 augroup VimRCFileType_php
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
364 au!
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
365 " Who the hell changes my matchpairs?
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
366 autocmd FileType php setlocal matchpairs-=<:>
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
367 augroup END
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
368
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
369 augroup VimRCFileType_c
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
370 au!
287
44c9d65cfa74 Readjust some Vim config stuff around folding.
Ludovic Chabant <ludovic@chabant.com>
parents: 286
diff changeset
371 autocmd FileType c,c++,cpp setlocal foldmethod=syntax
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
372 augroup END
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
373
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
374 augroup VimRCFileType_css
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
375 au!
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
376 autocmd BufNewFile,BufRead *.less setlocal filetype=less
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
377 autocmd Filetype less,css setlocal foldmethod=marker
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
378 autocmd Filetype less,css setlocal foldmarker={,}
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
379 autocmd Filetype less,css setlocal iskeyword+=-
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
380 autocmd Filetype less,css setlocal omnifunc=csscomplete#CompleteCSS
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
381 augroup END
160
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
382
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
383 augroup VimRCFileType_python
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
384 au!
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
385 autocmd FileType python setlocal define=\\v^\\s*(def\|class)\\s+
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
386 "autocmd FileType python if exists('python_space_error_highlight')|unlet python_space_error_highlight|endif
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
387 augroup END
160
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
388
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
389 augroup VimRCTrailingWhitespaces
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
390 au!
287
44c9d65cfa74 Readjust some Vim config stuff around folding.
Ludovic Chabant <ludovic@chabant.com>
parents: 286
diff changeset
391 autocmd FileType php,ruby,python,js,css,less autocmd BufWritePre <buffer> :call <SID>StripTrailingWhitespaces()
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
392 augroup END
73
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
393
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
394 " }}}
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
395
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
396 " Mappings {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
397
42
6b831735c092 Added french keymap support.
Ludovic Chabant <ludovic@chabant.com>
parents: 18
diff changeset
398 let mapleader=","
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
399
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
400 " Visual line navigation
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
401 noremap <up> g<up>
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
402 noremap <down> g<down>
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
403 noremap <home> g<home>
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
404 noremap <end> g<end>
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
405
169
4947d1f99b72 Better tab/buffer navigation.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
406 " Tab navigation
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
407 noremap <C-Tab> :tabnext<cr>
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
408 noremap <C-S-Tab> :tabprevious<cr>
304
50fbd059a6a1 More Vim customizations.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
409 nnoremap <leader>t :tabnew<cr>
169
4947d1f99b72 Better tab/buffer navigation.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
410
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
411 " Window navigation
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
412 nnoremap <C-up> :wincmd k<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
413 nnoremap <C-down> :wincmd j<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
414 nnoremap <C-left> :wincmd h<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
415 nnoremap <C-right> :wincmd l<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
416
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
417 " Switch buffers.
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
418 nnoremap <F2> :execute ("buffer " . bufname("#"))<cr>
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
419
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
420 " NERDTree.
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
421 nnoremap <F3> :call <SID>ToggleNERDTree()<cr>
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
422 nnoremap <F4> :call <SID>FindInNERDTree()<cr>
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
423
157
7fd22eb11789 Added `tagbar` for Vim, with keyboard shortcut.
Ludovic Chabant <ludovic@chabant.com>
parents: 155
diff changeset
424 " Tagbar.
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
425 nnoremap <F5> :TagbarToggle<cr>
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
426 nnoremap <F6> :TagbarOpenAutoClose<cr>
157
7fd22eb11789 Added `tagbar` for Vim, with keyboard shortcut.
Ludovic Chabant <ludovic@chabant.com>
parents: 155
diff changeset
427
186
01304e9b4c19 Re-add Gundo mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 185
diff changeset
428 " Gundo.
01304e9b4c19 Re-add Gundo mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 185
diff changeset
429 nnoremap <F7> :GundoToggle<cr>
01304e9b4c19 Re-add Gundo mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 185
diff changeset
430
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
431 " Common typos.
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
432 nnoremap ; :
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
433
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
434 " Split windows
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
435 nnoremap <leader>s :split<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
436 nnoremap <leader>v :vsplit<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
437
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
438 " Easier things to type
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
439 nnoremap <leader>w :w<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
440 nnoremap <leader>q :q<cr>
119
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
441 nnoremap <leader>hh :Hg
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
442 nnoremap <leader>hg :Hg!
112
9495034e7dc4 New mappings in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 103
diff changeset
443 nnoremap <leader>hs :Hgstatus<cr>
9495034e7dc4 New mappings in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 103
diff changeset
444 nnoremap <leader>hv :Hgvdiff<cr>
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
445
114
ccc3902408d2 Fix the hash key in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 113
diff changeset
446 " Make the hash-key not suck.
ccc3902408d2 Fix the hash key in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 113
diff changeset
447 inoremap # X<BS>#
ccc3902408d2 Fix the hash key in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 113
diff changeset
448
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
449 " Toggle invisible characters
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
450 nnoremap <leader>i :set list!<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
451
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
452 " Clear search matches
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
453 nnoremap <leader><space> :noh<cr>:call clearmatches()<cr>
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
454
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
455 " Ctrl-P mappings.
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
456 nnoremap <silent> <C-p> :CtrlP<cr>
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
457 nnoremap <silent> <C-o> :CtrlPBuffer<cr>
193
ae53d68033d9 Enable fugitive and some CtrlP extensions, include a new one of my own.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
458 nnoremap <silent> <C-u> :CtrlPTag<cr>
ae53d68033d9 Enable fugitive and some CtrlP extensions, include a new one of my own.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
459 nnoremap <silent> <C-y> :CtrlPQuickfix<cr>
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
460 nnoremap <silent> <Tab> :CtrlPMRUFiles<cr>
303
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
461 nnoremap <silent> <F8> :CtrlPBookmarkDir<cr>
73
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
462
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
463 " Switch between FR and US keyboard layouts.
119
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
464 nnoremap <C-l>f :setlocal keymap=french<cr>
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
465 nnoremap <C-l>u :setlocal keymap=<cr>
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
466
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
467 " Toggle spell check according to current keyboard layout.
119
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
468 nnoremap <C-l>s :call <SID>ToggleSpellCheck()<cr>
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
469
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
470 " Simple way to close a buffer without closing the window.
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
471 nnoremap <leader>bd :bprevious<cr>:bdelete #<cr>
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
472
119
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
473 " Use sane regexes.
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
474 nnoremap / /\v
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
475 vnoremap / /\v
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
476
289
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
477 " Next/previous quickfix and location messages.
303
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
478 " This is meant to be similar to ]c and [c for the diff navigation.
289
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
479 nnoremap ]q :cnext<cr>zvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
480 nnoremap [q :cprevious<cr>zvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
481 nnoremap ]l :lnext<cr>zvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
482 nnoremap [l :lprevious<cr>zvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
483
304
50fbd059a6a1 More Vim customizations.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
484 " Same with change and jump lists.
289
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
485 nnoremap ]] g,zz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
486 nnoremap [[ g;zz
304
50fbd059a6a1 More Vim customizations.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
487 nnoremap ]j <C-I>
50fbd059a6a1 More Vim customizations.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
488 nnoremap [j <C-O>
289
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
489
303
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
490 " Make the diff navigation also center things.
289
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
491 nnoremap ]c ]czvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
492 nnoremap [c [czvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
493
103
a755319f124e Added mappings for substitutions.
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
494 " Quick search and replace.
119
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
495 function! s:VSetSearch()
294
8bc056d80c39 Remove unused stuff, add grepping, shorter status line.
Ludovic Chabant <ludovic@chabant.com>
parents: 291
diff changeset
496 let temp = @@
8bc056d80c39 Remove unused stuff, add grepping, shorter status line.
Ludovic Chabant <ludovic@chabant.com>
parents: 291
diff changeset
497 norm! gvy
8bc056d80c39 Remove unused stuff, add grepping, shorter status line.
Ludovic Chabant <ludovic@chabant.com>
parents: 291
diff changeset
498 let @/ = '\V' . substitute(escape(@@, '\'), '\n', '\\n', 'g')
8bc056d80c39 Remove unused stuff, add grepping, shorter status line.
Ludovic Chabant <ludovic@chabant.com>
parents: 291
diff changeset
499 let @@ = temp
119
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
500 endfunction
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
501 vnoremap * :<C-u>call <SID>VSetSearch()<CR>//<CR><c-o>
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
502 vnoremap # :<C-u>call <SID>VSetSearch()<CR>??<CR><c-o>
118
c1ff96232138 New settings for Lawrencium.
Ludovic Chabant <ludovic@chabant.com>
parents: 114
diff changeset
503
294
8bc056d80c39 Remove unused stuff, add grepping, shorter status line.
Ludovic Chabant <ludovic@chabant.com>
parents: 291
diff changeset
504 nnoremap <leader>fa :vimgrep /<C-R><C-W>/
8bc056d80c39 Remove unused stuff, add grepping, shorter status line.
Ludovic Chabant <ludovic@chabant.com>
parents: 291
diff changeset
505 vnoremap <leader>fa "zy:vimgrep /<C-R>z/
8bc056d80c39 Remove unused stuff, add grepping, shorter status line.
Ludovic Chabant <ludovic@chabant.com>
parents: 291
diff changeset
506
206
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
507 " Jump to tags by keeping things better in view. Option for jumping to a tag
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
508 " in a split window where everything is folded except what you need to see.
303
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
509 " Note that if a tag search yield multiple possible results, we will still run
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
510 " some of that `zvzz` stuff, but that's OK, the main point is to not mess up
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
511 " the result selection window either.
308
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
512 nnoremap <F9> :pop<cr>
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
513 nnoremap <F10> <c-]>zvzz
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
514 nnoremap <s-F10> <c-w>v<c-]>zMzvzz
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
515 nnoremap <c-F9> :tprevious
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
516 nnoremap <c-F10> :tnext
206
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
517
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
518 " Keep search matches in the middle of the window.
289
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
519 nnoremap n nzvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
520 nnoremap N Nzvzz
206
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
521
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
522 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
523
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
524 " Folding {{{
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
525
287
44c9d65cfa74 Readjust some Vim config stuff around folding.
Ludovic Chabant <ludovic@chabant.com>
parents: 286
diff changeset
526 " Folds are defined by markers in the text.
44c9d65cfa74 Readjust some Vim config stuff around folding.
Ludovic Chabant <ludovic@chabant.com>
parents: 286
diff changeset
527 set foldmethod=marker
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
528
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
529 " Toggle folds with <space>.
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
530 nnoremap <space> za
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
531
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
532 " Create folds with <space> (in visual mode).
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
533 vnoremap <space> zf
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
534
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
535 " }}}
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
536
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
537 " Abbreviations {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
538
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
539 iabbrev @@ ludovic@chabant.com
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
540 iabbrev ccopy Copyright &copy;2011 Ludovic Chabant, all rights reserved.
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
541 iabbrev ssig --<cr>l u d o .<cr>. 8 0 17 80
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
542
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
543 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
544
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
545 " Status Line {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
546
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
547 set statusline=%f " Path.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
548 set statusline+=%m " Modified flag.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
549 set statusline+=%r " Readonly flag.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
550 set statusline+=%w " Preview window flag.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
551
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
552 set statusline+=\ " Space.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
553
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
554 set statusline+=%#redbar# " Highlight the following as a warning.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
555 set statusline+=%{SyntasticStatuslineFlag()} " Syntastic errors.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
556 set statusline+=%* " Reset highlighting.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
557
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
558 set statusline+=%= " Right align.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
559
201
0db3b41793ee Add AutoTags indicator to the statusline.
Ludovic Chabant <ludovic@chabant.com>
parents: 197
diff changeset
560 " Tag file generation indicator.
213
769869e61101 Renamed autotags to gutentags.
Ludovic Chabant <ludovic@chabant.com>
parents: 212
diff changeset
561 set statusline+=%{gutentags#statusline('[TAGS]')}
201
0db3b41793ee Add AutoTags indicator to the statusline.
Ludovic Chabant <ludovic@chabant.com>
parents: 197
diff changeset
562 set statusline+=\ " Space.
0db3b41793ee Add AutoTags indicator to the statusline.
Ludovic Chabant <ludovic@chabant.com>
parents: 197
diff changeset
563
61
8c80aa9bd387 Re-enabled lawrencium status-line.
Ludovic Chabant <ludovic@chabant.com>
parents: 59
diff changeset
564 " Mercurial information.
8c80aa9bd387 Re-enabled lawrencium status-line.
Ludovic Chabant <ludovic@chabant.com>
parents: 59
diff changeset
565 set statusline+=%{lawrencium#statusline('[',']')}
8c80aa9bd387 Re-enabled lawrencium status-line.
Ludovic Chabant <ludovic@chabant.com>
parents: 59
diff changeset
566 set statusline+=\ " Space.
8c80aa9bd387 Re-enabled lawrencium status-line.
Ludovic Chabant <ludovic@chabant.com>
parents: 59
diff changeset
567
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
568 " File format, encoding and type. Ex: "(unix/utf-8/python)"
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
569 set statusline+=(
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
570 set statusline+=%{&ff} " Format (unix/DOS).
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
571 set statusline+=/
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
572 set statusline+=%{strlen(&fenc)?&fenc:&enc} " Encoding (utf-8).
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
573 set statusline+=/
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
574 set statusline+=%{&ft} " Type (python).
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
575 set statusline+=)
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
576
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
577 " Line and column position and counts.
294
8bc056d80c39 Remove unused stuff, add grepping, shorter status line.
Ludovic Chabant <ludovic@chabant.com>
parents: 291
diff changeset
578 set statusline+=\ (%l\/%L,%03c)
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
579
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
580 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
581
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
582 " Functions {{{
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
583
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
584 function! s:ToggleSpellCheck() abort
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
585 if &spell ==? 'nospell'
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
586 if &keymap ==? 'french'
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
587 setlocal spell spelllang=fr_fr
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
588 else
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
589 setlocal spell spelllang=en_us,en_ca
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
590 endif
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
591 else
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
592 setlocal spell nospell
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
593 endif
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
594 endfunction
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
595
160
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
596 function! s:StripTrailingWhitespaces() abort
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
597 let l = line(".")
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
598 let c = col(".")
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
599 %s/\s\+$//e
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
600 call cursor(l, c)
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
601 endfunction
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
602
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
603 function! s:FindProjectRoot(cur, marker) abort
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
604 let l:cur = a:cur
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
605 let l:previous_cur = ''
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
606 let l:slash = '/'
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
607 if has('win32')
291
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
608 let l:slash = '\'
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
609 endif
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
610 while l:cur != l:previous_cur
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
611 let l:marker_path = l:cur . l:slash . a:marker
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
612 if glob(l:marker_path) != ''
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
613 return fnamemodify(l:cur, ':p')
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
614 endif
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
615 let l:previous_cur = l:cur
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
616 let l:cur = fnamemodify(l:cur, ':h')
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
617 endwhile
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
618 return ''
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
619 endfunction
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
620
291
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
621 function! s:SetProjectRootCwd(recompute) abort
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
622 if a:recompute != 1 && exists('b:ludo_workdir')
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
623 execute 'lcd!' fnameescape(b:ludo_workdir)
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
624 return
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
625 endif
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
626
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
627 let l:cur_file_dir = expand('%:p:h', 1)
284
8d04d41d4903 Don't change the cwd when no project root markers have been found.
Ludovic Chabant <ludovic@chabant.com>
parents: 269
diff changeset
628 if l:cur_file_dir =~ '\v^(\w+:)?(//|\\\\)'
8d04d41d4903 Don't change the cwd when no project root markers have been found.
Ludovic Chabant <ludovic@chabant.com>
parents: 269
diff changeset
629 " Don't do shit on filenames coming from the network or something.
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
630 return
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
631 endif
284
8d04d41d4903 Don't change the cwd when no project root markers have been found.
Ludovic Chabant <ludovic@chabant.com>
parents: 269
diff changeset
632 let l:found_root = 0
291
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
633 let l:root = ''
185
0ed6642b8db8 Fixed a bug in `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 183
diff changeset
634 let l:markers = []
0ed6642b8db8 Fixed a bug in `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 183
diff changeset
635 if exists('g:ctrlp_root_markers')
0ed6642b8db8 Fixed a bug in `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 183
diff changeset
636 let l:markers += g:ctrlp_root_markers
0ed6642b8db8 Fixed a bug in `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 183
diff changeset
637 endif
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
638 let l:markers += ['.git', '.hg', '.svn', '.bzr', '_darcs']
291
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
639 let l:unique_markers = []
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
640 for marker in l:markers
291
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
641 if index(l:unique_markers, marker) < 0
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
642 call add(l:unique_markers, marker)
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
643 endif
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
644 endfor
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
645 " Find the project root closest to the current file.
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
646 for marker in l:unique_markers
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
647 let l:proj_root = s:FindProjectRoot(l:cur_file_dir, marker)
291
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
648 if l:proj_root != '' && len(l:proj_root) > len(l:root)
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
649 let l:root = l:proj_root
284
8d04d41d4903 Don't change the cwd when no project root markers have been found.
Ludovic Chabant <ludovic@chabant.com>
parents: 269
diff changeset
650 let l:found_root = 1
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
651 endif
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
652 endfor
284
8d04d41d4903 Don't change the cwd when no project root markers have been found.
Ludovic Chabant <ludovic@chabant.com>
parents: 269
diff changeset
653 if l:found_root
291
aac9b5b1f921 Fix how we set the CWD in Vim based on the project root.
Ludovic Chabant <ludovic@chabant.com>
parents: 289
diff changeset
654 let b:ludo_workdir = l:root
284
8d04d41d4903 Don't change the cwd when no project root markers have been found.
Ludovic Chabant <ludovic@chabant.com>
parents: 269
diff changeset
655 execute 'lcd!' fnameescape(l:root)
8d04d41d4903 Don't change the cwd when no project root markers have been found.
Ludovic Chabant <ludovic@chabant.com>
parents: 269
diff changeset
656 endif
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
657 endfunction
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
658
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
659 function! s:ToggleNERDTree() abort
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
660 NERDTreeToggle
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
661 endfunction
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
662
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
663 function! s:FindInNERDTree() abort
303
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
664 if !g:NERDTree.IsOpen() || getbufvar('%', 'NERDTreeType') == ''
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
665 " If we're not in the NERDTree window, switch to it and find the
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
666 " current file in it.
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
667 NERDTreeFind
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
668 normal zz
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
669 else
303
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
670 " We're in the NERDTree window, go back to the previous one.
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
671 wincmd p
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
672 endif
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
673 endfunction
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
674
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
675 " }}}
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
676
171
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
677 " Local override {{{
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
678
191
896acf280e7a Make local Vim config consistent with Mercurial local config.
Ludovic Chabant <ludovic@chabant.com>
parents: 186
diff changeset
679 let s:local_vimrc = s:vim_home.'/vimrc-local'
171
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
680 if filereadable(s:local_vimrc)
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
681 execute 'source' s:local_vimrc
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
682 endif
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
683
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
684 " }}}
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
685