annotate vim/vimrc @ 515:6d5e2a583502 default tip

Remove onsub extension
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 10 May 2022 09:54:59 -0700
parents 232351531855
children
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
386
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
22 " Local pre-override.
435
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
23 let s:local_vimrc_pre = ludo#localpath('vimrc-local-pre')
386
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
24 if filereadable(s:local_vimrc_pre)
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
25 execute 'source' s:local_vimrc_pre
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
26 endif
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
27
127
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
28 " 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
29 syntax off
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
30 filetype off
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
31
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
32 " Disable some plugins.
386
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
33 let g:pathogen_disabled = get(g:, 'pathogen_disabled', [])
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
34 let s:bundles = [ludo#localpath('bundle')]
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
35 if isdirectory(ludo#localpath('local'))
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
36 call add(s:bundles, ludo#localpath('local'))
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
37 endif
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
38 call ludo#setup_pathogen(s:bundles)
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
39
347
4d73159f56ca Use pathogen as a sub-repo, plus a few Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 332
diff changeset
40 " Load pathogen.
349
8d68547c3660 Fix pathogen initialization.
Ludovic Chabant <ludovic@chabant.com>
parents: 347
diff changeset
41 runtime bundle/pathogen/autoload/pathogen.vim
352
9580765366a4 Fix some python indenting stuff in vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 349
diff changeset
42 " Add the bundle directory, and potentially add the local one if it exists.
9580765366a4 Fix some python indenting stuff in vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 349
diff changeset
43 " Note that we pass absolute paths to make pathogen prepend stuff before Vim's
9580765366a4 Fix some python indenting stuff in vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 349
diff changeset
44 " system files otherwise stuff like indent plugins don't work.
435
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
45 let s:pathogen_bundles = [ludo#localpath('bundle', '{}')]
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
46 if isdirectory(ludo#localpath('local'))
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
47 call add(s:pathogen_bundles, ludo#localpath('local', '{}'))
286
a29080fb35d9 Add support for local Vim bundle.
Ludovic Chabant <ludovic@chabant.com>
parents: 284
diff changeset
48 endif
347
4d73159f56ca Use pathogen as a sub-repo, plus a few Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 332
diff changeset
49 call call('pathogen#infect', s:pathogen_bundles)
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
50
10
00cac5ebf546 Added default window size. Added buffer keyboard shortcuts.
ludovicchabant
parents: 6
diff changeset
51 " 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
52 if has("gui_running") && !exists('g:resourcing_vimrc')
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
53 set guioptions=-t
235
ceb3f44fa2fc Update sub-repos, make Vim maximized by default.
Ludovic Chabant <ludovic@chabant.com>
parents: 233
diff changeset
54 set lines=999
ceb3f44fa2fc Update sub-repos, make Vim maximized by default.
Ludovic Chabant <ludovic@chabant.com>
parents: 233
diff changeset
55 set columns=999
323
e2d944ecda66 Maximize on startup on Windows.
Ludovic Chabant <ludovic@chabant.com>
parents: 320
diff changeset
56 if has("win32")
e2d944ecda66 Maximize on startup on Windows.
Ludovic Chabant <ludovic@chabant.com>
parents: 320
diff changeset
57 au GUIEnter * simalt ~x
e2d944ecda66 Maximize on startup on Windows.
Ludovic Chabant <ludovic@chabant.com>
parents: 320
diff changeset
58 endif
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
435
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
131 execute('set backupdir='.ludo#localpath('backup'))
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
132 execute('set directory='.ludo#localpath('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
317
b0b868bb0d44 More vim changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 316
diff changeset
137 set wildmode=list:longest
b0b868bb0d44 More vim changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 316
diff changeset
138 set wildignore+=.DS_Store,Thumbs.db
b0b868bb0d44 More vim changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 316
diff changeset
139 set wildignore+=*.so,*.dll,*.exe,*.lib,*.pdb
b0b868bb0d44 More vim changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 316
diff changeset
140 set wildignore+=*.pyc,*.pyo
b0b868bb0d44 More vim changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 316
diff changeset
141 set wildignore+=*.swp
b0b868bb0d44 More vim changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 316
diff changeset
142
443
4ca0b1413199 Some new cool Vim things.
Ludovic Chabant <ludovic@chabant.com>
parents: 442
diff changeset
143 set formatoptions=croqn1j
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
144
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
145 " Always display the tab-page line.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
146 set showtabline=2
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
147
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
148 " Set the file-formats.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
149 set ffs=unix,mac,dos
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
150
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
151 " Tabs and indenting are 4 characters, and tabs behave like
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
152 " spaces during editing. They're smart, too, and when you
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
153 " press <TAB> it actually inserts a soft-tab so everything's
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
154 " indented the same.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
155 set tabstop=4
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
156 set shiftwidth=4
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
157 set softtabstop=4
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
158 set smarttab
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
159 set expandtab
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
160
485
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
161 " Auto-reload files that have changed outside of Vim (which is useful
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
162 " when reverting/syncing/whatever from the shell).
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
163 set autoread
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
164
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
165 " Default encoding
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
166 set encoding=utf-8
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
167
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
168 " Clipboard buffer.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
169 set clipboard=unnamed
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
170
352
9580765366a4 Fix some python indenting stuff in vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 349
diff changeset
171 " Smooth terminal experience.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
172 set ttyfast
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
173
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
174 " Allow backspacing over anything.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
175 set backspace=indent,eol,start
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
176
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
177 " Going left and right let you go to other lines.
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
178 set whichwrap+=<,>,h,l
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
179
93
822fc8b4405f Invisible characters in vimrc.
Ludovic Chabant <ludovic@chabant.com>
parents: 92
diff changeset
180 " How to show invisible characters
822fc8b4405f Invisible characters in vimrc.
Ludovic Chabant <ludovic@chabant.com>
parents: 92
diff changeset
181 set listchars=eol:$,tab:>-,trail:-,extends:>,precedes:<,nbsp:%,conceal:.
822fc8b4405f Invisible characters in vimrc.
Ludovic Chabant <ludovic@chabant.com>
parents: 92
diff changeset
182
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
183 " Nice auto-complete menu.
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
184 set complete=.,w,b
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
185 set completeopt=longest,menuone,preview
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
186
121
c6f0172aac8d Add nice column indicators in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 119
diff changeset
187 " Column indicators.
c6f0172aac8d Add nice column indicators in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 119
diff changeset
188 set colorcolumn=72,79
c6f0172aac8d Add nice column indicators in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 119
diff changeset
189
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
190 " And now, for some system-dependent settings:
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
191 " - font to use
442
decee05a5595 Weird, Neovim doesn't have `guifont`?
Ludovic Chabant <ludovic@chabant.com>
parents: 441
diff changeset
192 if !has('nvim')
decee05a5595 Weird, Neovim doesn't have `guifont`?
Ludovic Chabant <ludovic@chabant.com>
parents: 441
diff changeset
193 if ludo#platform() == "windows"
decee05a5595 Weird, Neovim doesn't have `guifont`?
Ludovic Chabant <ludovic@chabant.com>
parents: 441
diff changeset
194 set guifont=InputMono:h11,Hack:h12,Consolas:h12
decee05a5595 Weird, Neovim doesn't have `guifont`?
Ludovic Chabant <ludovic@chabant.com>
parents: 441
diff changeset
195 else
decee05a5595 Weird, Neovim doesn't have `guifont`?
Ludovic Chabant <ludovic@chabant.com>
parents: 441
diff changeset
196 set guifont=InputMono:h11,Hack:h12,Monaco:h12
decee05a5595 Weird, Neovim doesn't have `guifont`?
Ludovic Chabant <ludovic@chabant.com>
parents: 441
diff changeset
197 endif
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
198 endif
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
199
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
200 " Syntax highlighting.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
201 syntax on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
202
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
203 " Default color scheme.
47
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
204 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
205 set background=dark
47
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
206 else
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
207 set background=dark
314
5f9d52300aaa Vim tweaks:
Ludovic Chabant <ludovic@chabant.com>
parents: 313
diff changeset
208 let g:solarized_termcolors = 256
5f9d52300aaa Vim tweaks:
Ludovic Chabant <ludovic@chabant.com>
parents: 313
diff changeset
209 let g:solarized_termtrans = 1
47
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
210 endif
485
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
211 if ludo#platform() == "windows" && &term == "win32"
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
212 " Windows terminal sucks with colours, so pick an appropriate theme.
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
213 colorscheme xterm16
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
214 else
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
215 colorscheme solarized
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
216 endif
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
217
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
218 " Enable file type detection.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
219 filetype indent plugin on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
220
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
221 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
222
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
223 " Auto-Commands {{{
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
224
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
225 " 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
226 augroup CursorLine
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
227 au!
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
228 au WinLeave * set nocursorline
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
229 au WinEnter * set cursorline
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
230 augroup END
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
231
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
232 " }}}
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
233
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
234 " Plugin Settings {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
235
309
5b7acab16766 Make NERDTree ignore stuff, and other Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
236 " NERDTree {{{
5b7acab16766 Make NERDTree ignore stuff, and other Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
237
320
f95b6f36049b More vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 317
diff changeset
238 let NERDTreeRespectWildIgnore = 1
309
5b7acab16766 Make NERDTree ignore stuff, and other Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
239
5b7acab16766 Make NERDTree ignore stuff, and other Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
240 " }}}
5b7acab16766 Make NERDTree ignore stuff, and other Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
241
430
71a080d4d83c Vim stuff: Goyo writing mode, Ack with Ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 426
diff changeset
242 " Ack {{{
71a080d4d83c Vim stuff: Goyo writing mode, Ack with Ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 426
diff changeset
243
457
3efc67540556 Use ripgrep first if possible, then ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 453
diff changeset
244 if executable('rg')
3efc67540556 Use ripgrep first if possible, then ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 453
diff changeset
245 let g:ackprg = 'rg --vimgrep'
3efc67540556 Use ripgrep first if possible, then ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 453
diff changeset
246 elseif executable('ag')
430
71a080d4d83c Vim stuff: Goyo writing mode, Ack with Ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 426
diff changeset
247 let g:ackprg = 'ag --vimgrep'
71a080d4d83c Vim stuff: Goyo writing mode, Ack with Ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 426
diff changeset
248 endif
71a080d4d83c Vim stuff: Goyo writing mode, Ack with Ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 426
diff changeset
249
485
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
250 nnoremap <Leader>a :Ack!<Space>
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
251 nnoremap <Leader>f :Ack! <C-R><C-W> %:h<Tab>
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
252 vnoremap <Leader>f "zy:Ack! <C-R>z %:h<Tab>
430
71a080d4d83c Vim stuff: Goyo writing mode, Ack with Ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 426
diff changeset
253
71a080d4d83c Vim stuff: Goyo writing mode, Ack with Ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 426
diff changeset
254 " }}}
71a080d4d83c Vim stuff: Goyo writing mode, Ack with Ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 426
diff changeset
255
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
256 " Ctrl-P {{{
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
257
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
258 " We'll set our own mappings.
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
259 let g:ctrlp_map = ''
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
260
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
261 " 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
262 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
263
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
264 " Ctrl-P should however ignore some stuff.
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
265 let g:ctrlp_custom_ignore = {
426
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
266 \ 'dir': '\v[\/](\.git|\.hg|\.svn|venv|static|node_modules|_cache|_counter)$'
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
267 \ }
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
268
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
269 " Make Ctrl-P cache stuff in our temp directory.
435
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
270 let g:ctrlp_cache_dir = ludo#localpath('cache')
10
00cac5ebf546 Added default window size. Added buffer keyboard shortcuts.
ludovicchabant
parents: 6
diff changeset
271
197
4d34bf15a478 Don't clear CtrlP cache on exit, fix Windows issues.
Ludovic Chabant <ludovic@chabant.com>
parents: 193
diff changeset
272 " Remember things.
386
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
273 let g:ctrlp_clear_cache_on_exit = 0
197
4d34bf15a478 Don't clear CtrlP cache on exit, fix Windows issues.
Ludovic Chabant <ludovic@chabant.com>
parents: 193
diff changeset
274
317
b0b868bb0d44 More vim changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 316
diff changeset
275 " Don't include some stuff in the most recently used list.
b0b868bb0d44 More vim changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 316
diff changeset
276 let g:ctrlp_mruf_exclude = 'hg\-editor\-\d+\.txt'
b0b868bb0d44 More vim changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 316
diff changeset
277
193
ae53d68033d9 Enable fugitive and some CtrlP extensions, include a new one of my own.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
278 " Enable some cool extensions.
240
3a6b11d16a2a Simpler registration for CtrlP extensions.
Ludovic Chabant <ludovic@chabant.com>
parents: 235
diff changeset
279 let g:ctrlp_extensions = [
266
de3ef7fbcfc1 Add CtrlP's bookmarkdir extension.
Ludovic Chabant <ludovic@chabant.com>
parents: 252
diff changeset
280 \'tag', 'buffertag', 'quickfix', 'mixed', 'bookmarkdir',
288
25b672f0f6bd Remove `projectjump` CtrlP plugin, just use the bookmarks.
Ludovic Chabant <ludovic@chabant.com>
parents: 287
diff changeset
281 \'autoignore'
240
3a6b11d16a2a Simpler registration for CtrlP extensions.
Ludovic Chabant <ludovic@chabant.com>
parents: 235
diff changeset
282 \]
193
ae53d68033d9 Enable fugitive and some CtrlP extensions, include a new one of my own.
Ludovic Chabant <ludovic@chabant.com>
parents: 191
diff changeset
283
367
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
284 " Use PyMatch to go faster.
445
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
285 if (has('python3') || has('python'))
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
286 if ludo#has_plugin('ctrlp-py-matcher')
445
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
287 let g:ctrlp_match_func = {'match': 'pymatcher#PyMatch'}
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
288 let g:ctrlp_max_files = 0
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
289 let g:ctrlp_lazy_update = 350
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
290 elseif ludo#has_plugin('cpsm', 1)
445
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
291 let g:ctrlp_match_func = {'match': 'cpsm#CtrlPMatch'}
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
292 let g:ctrlp_max_files = 0
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
293 let g:ctrlp_lazy_update = 350
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
294 endif
367
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
295 endif
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
296
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
297 " }}}
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
298
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
299 " FZF {{{
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
300
461
eb8891b1a6f5 Clone FZF and source its Vim plugin directly, use official hggit repo.
Ludovic Chabant <ludovic@chabant.com>
parents: 457
diff changeset
301 " Load FZF Vim plugin from our sub-repo.
eb8891b1a6f5 Clone FZF and source its Vim plugin directly, use official hggit repo.
Ludovic Chabant <ludovic@chabant.com>
parents: 457
diff changeset
302 let s:local_fzfplugin = ludo#localpath('../lib/fzf/plugin/fzf.vim')
eb8891b1a6f5 Clone FZF and source its Vim plugin directly, use official hggit repo.
Ludovic Chabant <ludovic@chabant.com>
parents: 457
diff changeset
303 if filereadable(s:local_fzfplugin)
eb8891b1a6f5 Clone FZF and source its Vim plugin directly, use official hggit repo.
Ludovic Chabant <ludovic@chabant.com>
parents: 457
diff changeset
304 execute 'source' s:local_fzfplugin
eb8891b1a6f5 Clone FZF and source its Vim plugin directly, use official hggit repo.
Ludovic Chabant <ludovic@chabant.com>
parents: 457
diff changeset
305 else
eb8891b1a6f5 Clone FZF and source its Vim plugin directly, use official hggit repo.
Ludovic Chabant <ludovic@chabant.com>
parents: 457
diff changeset
306 call ludo#error("Can't find FZF at: ".s:local_fzfplugin)
426
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
307 endif
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
308
474
265442d4def8 Improve FZF config on Vim, add Vimcrosoft mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 469
diff changeset
309 " Customized keyboard shotcuts.
426
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
310 let g:fzf_action = {
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
311 \'ctrl-t': 'tab split',
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
312 \'ctrl-v': 'vsplit',
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
313 \'ctrl-x': 'split',
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
314 \}
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
315
474
265442d4def8 Improve FZF config on Vim, add Vimcrosoft mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 469
diff changeset
316 " Make fzf remember stuff.
265442d4def8 Improve FZF config on Vim, add Vimcrosoft mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 469
diff changeset
317 let g:fzf_history_dir = ludo#localpath('fzf-history')
265442d4def8 Improve FZF config on Vim, add Vimcrosoft mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 469
diff changeset
318
265442d4def8 Improve FZF config on Vim, add Vimcrosoft mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 469
diff changeset
319 " Use fd for listing files if it's available on the system.
265442d4def8 Improve FZF config on Vim, add Vimcrosoft mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 469
diff changeset
320 if executable('fd')
478
e79244688396 Set default fzf command to fd if it's available.
Ludovic Chabant <ludovic@chabant.com>
parents: 474
diff changeset
321 let $FZF_DEFAULT_COMMAND = 'fd --type f --hidden'
474
265442d4def8 Improve FZF config on Vim, add Vimcrosoft mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 469
diff changeset
322 endif
265442d4def8 Improve FZF config on Vim, add Vimcrosoft mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 469
diff changeset
323
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
324 " }}}
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
325
213
769869e61101 Renamed autotags to gutentags.
Ludovic Chabant <ludovic@chabant.com>
parents: 212
diff changeset
326 " Gutentags {{{
206
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
327
435
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
328 let g:gutentags_cache_dir = ludo#localpath('tags')
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
329 let g:gutentags_ctags_extra_args = ['--options='.ludo#localpath('ctagsrc')]
420
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
330 let g:gutentags_ctags_exclude_wildignore = 0
206
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
331
440
4b816faa06e2 Remove CtrlP, add statusline refresh.
Ludovic Chabant <ludovic@chabant.com>
parents: 439
diff changeset
332 augroup GutentagsStatusLineRefresher
4b816faa06e2 Remove CtrlP, add statusline refresh.
Ludovic Chabant <ludovic@chabant.com>
parents: 439
diff changeset
333 autocmd!
4b816faa06e2 Remove CtrlP, add statusline refresh.
Ludovic Chabant <ludovic@chabant.com>
parents: 439
diff changeset
334 autocmd User GutentagsUpdating call lightline#update()
4b816faa06e2 Remove CtrlP, add statusline refresh.
Ludovic Chabant <ludovic@chabant.com>
parents: 439
diff changeset
335 autocmd User GutentagsUpdated call lightline#update()
4b816faa06e2 Remove CtrlP, add statusline refresh.
Ludovic Chabant <ludovic@chabant.com>
parents: 439
diff changeset
336 augroup END
4b816faa06e2 Remove CtrlP, add statusline refresh.
Ludovic Chabant <ludovic@chabant.com>
parents: 439
diff changeset
337
206
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
338 " }}}
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
339
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
340 " Syntastic {{{
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
341
314
5f9d52300aaa Vim tweaks:
Ludovic Chabant <ludovic@chabant.com>
parents: 313
diff changeset
342 let g:syntastic_auto_loc_list = 2
305
a333541a5c74 Syntastic config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 304
diff changeset
343 let g:syntastic_check_on_open = 1
a333541a5c74 Syntastic config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 304
diff changeset
344 let g:syntastic_check_on_wq = 0
a333541a5c74 Syntastic config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 304
diff changeset
345
219
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
346 " 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
347 " 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
348 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
349 let g:syntastic_python_python_exec = 'python3'
397
c32b9b172314 Specify YCM/OmniSharp mappings only for specific file types.
Ludovic Chabant <ludovic@chabant.com>
parents: 392
diff changeset
350 let g:syntastic_python_flake8_args='--ignore=W191,W391'
219
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
351
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
352 " }}}
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
353
444
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
354 " ALE {{{
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
355
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
356 let g:ale_sign_error = '✗'
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
357 let g:ale_sign_warning = 'âš '
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
358
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
359 " }}}
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
360
219
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
361 " Supertab {{{
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
362
308
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
363 let g:SuperTabDefaultCompletionType = "context"
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
364 let g:SuperTabLongestEnhanced = 1
52d4d0fa195b Vim config changes.
Ludovic Chabant <ludovic@chabant.com>
parents: 307
diff changeset
365 let g:SuperTabLongestHighlight = 0
219
738c1a3ad786 Update Python settings for Syntastic, new settings for Supertab.
Ludovic Chabant <ludovic@chabant.com>
parents: 218
diff changeset
366 let g:SuperTabCrMapping = 1
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
367
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
368 " }}}
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
369
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
370 " Lawrencium {{{
118
c1ff96232138 New settings for Lawrencium.
Ludovic Chabant <ludovic@chabant.com>
parents: 114
diff changeset
371
127
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
372 " Custom Mercurial commands highlighting in Lawrencium.
118
c1ff96232138 New settings for Lawrencium.
Ludovic Chabant <ludovic@chabant.com>
parents: 114
diff changeset
373 let g:lawrencium_hg_commands_file_types = {
c1ff96232138 New settings for Lawrencium.
Ludovic Chabant <ludovic@chabant.com>
parents: 114
diff changeset
374 \'clog': 'hggraphlog'
c1ff96232138 New settings for Lawrencium.
Ludovic Chabant <ludovic@chabant.com>
parents: 114
diff changeset
375 \}
c1ff96232138 New settings for Lawrencium.
Ludovic Chabant <ludovic@chabant.com>
parents: 114
diff changeset
376
127
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
377 " Make the annotate window better in Lawrencium.
206
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
378 let g:lawrencium_annotate_width_offset = 1
127
1f709d7e03c6 Better Python dev in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
379
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
380 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
381
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
382 " Gundo {{{
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
383
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
384 let g:gundo_map_move_older = '<Down>'
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
385 let g:gundo_map_move_newer = '<Up>'
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
386
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
387 " }}}
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
388
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
389 " YankRing {{{
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
390
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
391 let g:yankring_replace_n_pkey = '<C-K>'
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
392 let g:yankring_replace_p_pkey = '<C-J>'
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
393
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
394 " }}}
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
395
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
396 " Python-Mode {{{
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
397
419
c4077384f55f Use `InputMono` or `Hack` if they're installed.
Ludovic Chabant <ludovic@chabant.com>
parents: 414
diff changeset
398 let g:pymode = 0
352
9580765366a4 Fix some python indenting stuff in vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 349
diff changeset
399 let g:pymode_python = 'python3'
307
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
400
314
5f9d52300aaa Vim tweaks:
Ludovic Chabant <ludovic@chabant.com>
parents: 313
diff changeset
401 let g:pymode_syntax = 0
307
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
402 let g:pymode_syntax_all = 0
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
403 let g:pymode_syntax_builtin_objs = 1
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
404 let g:pymode_syntax_print_as_function = 1
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
405 let g:pymode_syntax_space_errors = 1
307
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
406
352
9580765366a4 Fix some python indenting stuff in vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 349
diff changeset
407 let g:pymode_indent = 0
9580765366a4 Fix some python indenting stuff in vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 349
diff changeset
408
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
409 let g:pymode_run = 0
307
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
410
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
411 let g:pymode_lint = 0
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
412 let g:pymode_trim_whitespaces = 0
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
413 let g:pymode_folding = 1
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
414
307
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
415 let g:pymode_doc = 1
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
416 let g:pymode_doc_bind = 'K'
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
417
b09d451f3516 Okay let's try PythonMode again.
Ludovic Chabant <ludovic@chabant.com>
parents: 306
diff changeset
418 let g:pymode_virtualenv = 0
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
419
314
5f9d52300aaa Vim tweaks:
Ludovic Chabant <ludovic@chabant.com>
parents: 313
diff changeset
420 let g:pymode_rope = 0
5f9d52300aaa Vim tweaks:
Ludovic Chabant <ludovic@chabant.com>
parents: 313
diff changeset
421
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
422 " }}}
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
423
379
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
424 " Lightline {{{
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
425 let g:lightline = {
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
426 \'colorscheme': 'solarized',
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
427 \'active': {
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
428 \ 'left': [ ['mode', 'paste'],
386
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
429 \ ['fugitive', 'lawrencium', 'readonly', 'relativepath', 'modified'],
379
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
430 \ ['ctrlpmark'] ],
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
431 \ 'right': [ ['lineinfo'],
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
432 \ ['percent'],
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
433 \ ['fileformat', 'fileencoding', 'filetype'],
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
434 \ ['gutentags', 'syntastic', 'ycm_errs', 'ycm_warns'] ]
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
435 \ },
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
436 \'component_function': {
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
437 \ 'fugitive': '_LightlineFugitive',
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
438 \ 'lawrencium': '_LightlineLawrencium',
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
439 \ 'ctrlpmark': '_LightlineCtrlPMark',
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
440 \ },
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
441 \'component_expand': {
444
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
442 \ 'syntastic': '_LightlineLinter',
379
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
443 \ 'ycm_errs': '_LightlineYcmErrors',
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
444 \ 'ycm_warns': '_LightlineYcmWarnings',
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
445 \ 'gutentags': '_LightlineGutentags',
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
446 \ },
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
447 \'component_type': {
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
448 \ 'syntastic': 'error',
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
449 \ 'ycm_errs': 'error',
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
450 \ 'ycm_warns': 'warning',
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
451 \ 'gutentags': 'warning',
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
452 \ },
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
453 \}
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
454
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
455 if ludo#has_plugin('fugitive')
484
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
456 function! _LightlineFugitive()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
457 return fugitive#head()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
458 endfunction
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
459 else
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
460 function! _LightlineFugitive()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
461 endfunction
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
462 endif
379
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
463
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
464 if ludo#has_plugin('lawrencium')
484
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
465 function! _LightlineLawrencium()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
466 return lawrencium#statusline()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
467 endfunction
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
468 else
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
469 function! _LightlineLawrencium()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
470 endfunction
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
471 endif
379
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
472
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
473 function! _LightlineCtrlPMark()
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
474 if expand('%:t') =~ 'ControlP' && has_key(g:lightline, 'ctrlp_item')
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
475 call lightline#link('iR'[g:lightline.ctrlp_regex])
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
476 return lightline#concatenate(
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
477 \['WAT?', g:lightline.ctrlp_prev,
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
478 \ g:lightline.ctrlp_item,
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
479 \ g:lightline.ctrlp_next],
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
480 \0)
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
481 else
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
482 return ''
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
483 endif
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
484 endfunction
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
485
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
486 if ludo#has_plugin('gutentags')
484
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
487 function! _LightlineGutentags()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
488 return gutentags#statusline('', '', '♨')
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
489 endfunction
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
490 else
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
491 function! _LightlineGutentags()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
492 endfunction
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
493 endif
379
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
494
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
495 if ludo#has_plugin('syntastic')
444
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
496 function! _LightlineLinter()
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
497 return SyntasticStatuslineFlag()
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
498 endfunction
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
499 else
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
500 function! _LightlineLinter() abort
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
501 let l:counts = ale#statusline#Count(bufnr(''))
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
502
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
503 let l:all_errors = l:counts.error + l:counts.style_error
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
504 let l:all_non_errors = l:counts.total - l:all_errors
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
505
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
506 return l:counts.total == 0 ? 'OK' : printf(
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
507 \ '%dW %dE',
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
508 \ all_non_errors,
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
509 \ all_errors
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
510 \)
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
511 endfunction
71d7734148ed Add support for ALE.
Ludovic Chabant <ludovic@chabant.com>
parents: 443
diff changeset
512 endif
379
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
513
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
514 if ludo#has_plugin('youcompleteme')
484
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
515 function! _LightlineYcmErrors()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
516 let l:cnt = youcompleteme#GetErrorCount()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
517 return l:cnt > 0 ? string(l:cnt) : ''
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
518 endfunction
379
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
519
484
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
520 function! _LightlineYcmWarnings()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
521 let l:cnt = youcompleteme#GetWarningCount()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
522 return l:cnt > 0 ? string(l:cnt) : ''
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
523 endfunction
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
524 else
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
525 function! _LightlineYcmErrors()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
526 endfunction
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
527
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
528 function! _LightlineYcmWarnings()
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
529 endfunction
759ccf5befb2 Make lightline work when some other plugins are not enabled.
Ludovic Chabant <ludovic@chabant.com>
parents: 483
diff changeset
530 endif
379
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
531 " }}}
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
532
386
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
533 " YouCompleteMe {{{
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
534
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
535 let g:ycm_always_populate_location_list = 1
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
536
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
537 " }}}
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
538
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
539 " }}}
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
540
73
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
541 " File-Specific Settings {{{
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
542
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
543 augroup VimRCFileType_markdown
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
544 au!
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
545 autocmd FileType text,markdown setlocal textwidth=80
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
546 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
547 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
548 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
549 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
550
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
551 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
552 autocmd BufRead,BufNewFile */_content/**/*.html set ft=piecrustmarkdown
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
553 augroup END
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
554
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
555 augroup VimRCFileType_php
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
556 au!
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
557 " Who the hell changes my matchpairs?
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
558 autocmd FileType php setlocal matchpairs-=<:>
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
559 augroup END
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
560
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
561 augroup VimRCFileType_c
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
562 au!
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
563 autocmd FileType c,c++,cpp setlocal foldmethod=syntax
485
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
564 autocmd FileType c,c++,cpp setlocal colorcolumn=240
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
565 autocmd FileType c,c++,cpp setlocal synmaxcol=250
413
4a2468f72e44 Optimize C++ file editing with some folding tricks.
Ludovic Chabant <ludovic@chabant.com>
parents: 410
diff changeset
566 autocmd FileType c,c++,cpp nnoremap <buffer> <localleader>z :call <SID>ToggleCppFolding()<CR>
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
567 augroup END
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
568
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
569 augroup VimRCFileType_csharp
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
570 au!
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
571 autocmd BufNewFile,BufRead *.xaml setlocal filetype=xml
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
572 autocmd FileType cs setlocal foldmethod=syntax
485
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
573 autocmd FileType cs setlocal colorcolumn=240
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
574 autocmd FileType cs setlocal synmaxcol=250
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
575 augroup END
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
576
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
577 augroup VimRCFileType_css
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
578 au!
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
579 autocmd BufNewFile,BufRead *.less setlocal filetype=less
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
580 autocmd Filetype less,css setlocal foldmethod=marker
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
581 autocmd Filetype less,css setlocal foldmarker={,}
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
582 autocmd Filetype less,css setlocal iskeyword+=-
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
583 autocmd Filetype less,css setlocal omnifunc=csscomplete#CompleteCSS
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
584 augroup END
160
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
585
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
586 augroup VimRCTrailingWhitespaces
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
587 au!
287
44c9d65cfa74 Readjust some Vim config stuff around folding.
Ludovic Chabant <ludovic@chabant.com>
parents: 286
diff changeset
588 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
589 augroup END
73
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
590
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
591 " }}}
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
592
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
593 " Mappings {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
594
42
6b831735c092 Added french keymap support.
Ludovic Chabant <ludovic@chabant.com>
parents: 18
diff changeset
595 let mapleader=","
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
596
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
597 " Visual line navigation
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
598 noremap <up> g<up>
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
599 noremap <down> g<down>
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
600 noremap <home> g<home>
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
601 noremap <end> g<end>
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
602
367
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
603 noremap <S-up> 20<up>
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
604 noremap <S-down> 20<down>
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
605
169
4947d1f99b72 Better tab/buffer navigation.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
606 " Tab navigation
178
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
607 noremap <C-Tab> :tabnext<cr>
94bf0bd0a788 Updated sub-repos.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
608 noremap <C-S-Tab> :tabprevious<cr>
304
50fbd059a6a1 More Vim customizations.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
609 nnoremap <leader>t :tabnew<cr>
169
4947d1f99b72 Better tab/buffer navigation.
Ludovic Chabant <ludovic@chabant.com>
parents: 163
diff changeset
610
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
611 " Window navigation
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
612 nnoremap <C-up> :wincmd k<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
613 nnoremap <C-down> :wincmd j<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
614 nnoremap <C-left> :wincmd h<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
615 nnoremap <C-right> :wincmd l<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
616
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
617 " Switch buffers.
420
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
618 nnoremap <F1> :execute ("buffer " . bufname("#"))<cr>
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
619
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
620 " NERDTree.
420
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
621 nnoremap <F2> :call <SID>ToggleNERDTree()<cr>
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
622 nnoremap <C-F2> :call <SID>FindInNERDTree()<cr>
443
4ca0b1413199 Some new cool Vim things.
Ludovic Chabant <ludovic@chabant.com>
parents: 442
diff changeset
623 nnoremap <leader>e :e %:h<cr>
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
624
157
7fd22eb11789 Added `tagbar` for Vim, with keyboard shortcut.
Ludovic Chabant <ludovic@chabant.com>
parents: 155
diff changeset
625 " Tagbar.
420
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
626 nnoremap <F3> :TagbarToggle<cr>
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
627 nnoremap <C-F3> :TagbarOpenAutoClose<cr>
157
7fd22eb11789 Added `tagbar` for Vim, with keyboard shortcut.
Ludovic Chabant <ludovic@chabant.com>
parents: 155
diff changeset
628
186
01304e9b4c19 Re-add Gundo mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 185
diff changeset
629 " Gundo.
420
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
630 nnoremap <F4> :GundoToggle<cr>
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
631
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
632 " F5 to F8 are available for context-dependent mappings.
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
633
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
634 " Jump to tags by keeping things better in view. Option for jumping to a tag
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
635 " in a split window where everything is folded except what you need to see.
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
636 " Note that if a tag search yield multiple possible results, we will still run
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
637 " some of that `zvzz` stuff, but that's OK, the main point is to not mess up
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
638 " the result selection window either.
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
639 "
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
640 " Go back after checking out a tag.
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
641 nnoremap <F9> :pop<CR>
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
642 " Go check out a tag.
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
643 nnoremap <F10> g<C-]>zvzz
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
644 " Go check out a tag in a split window.
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
645 nnoremap <S-F10> <C-W>vg<C-]>zMzvzz
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
646 " Move to previous matching tag.
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
647 nnoremap <C-F9> :tprevious<CR>
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
648 " Move to next matching tag.
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
649 nnoremap <C-F10> :tnext<CR>
186
01304e9b4c19 Re-add Gundo mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 185
diff changeset
650
83
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
651 " Common typos.
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
652 nnoremap ; :
a54180045075 Vimrc changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 80
diff changeset
653
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
654 " Split windows
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
655 nnoremap <leader>s :split<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
656 nnoremap <leader>v :vsplit<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
657
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
658 " Easier things to type
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
659 nnoremap <leader>w :w<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
660 nnoremap <leader>q :q<cr>
119
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
661 nnoremap <leader>hh :Hg
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
662 nnoremap <leader>hg :Hg!
112
9495034e7dc4 New mappings in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 103
diff changeset
663 nnoremap <leader>hs :Hgstatus<cr>
9495034e7dc4 New mappings in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 103
diff changeset
664 nnoremap <leader>hv :Hgvdiff<cr>
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
665
114
ccc3902408d2 Fix the hash key in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 113
diff changeset
666 " Make the hash-key not suck.
ccc3902408d2 Fix the hash key in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 113
diff changeset
667 inoremap # X<BS>#
ccc3902408d2 Fix the hash key in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 113
diff changeset
668
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
669 " Toggle invisible characters
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
670 nnoremap <leader>i :set list!<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
671
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
672 " Clear search matches
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
673 nnoremap <leader><space> :noh<cr>:call clearmatches()<cr>
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
674
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
675 " Switch between FR and US keyboard layouts.
119
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
676 nnoremap <C-l>f :setlocal keymap=french<cr>
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
677 nnoremap <C-l>u :setlocal keymap=<cr>
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
678
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
679 " Toggle spell check according to current keyboard layout.
119
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
680 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
681
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
682 " Simple way to close a buffer without closing the window.
347
4d73159f56ca Use pathogen as a sub-repo, plus a few Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 332
diff changeset
683 nnoremap <leader>d :bprevious<cr>:bdelete #<cr>
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
684
119
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
685 " Use sane regexes.
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
686 nnoremap / /\v
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
687 vnoremap / /\v
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
688
452
d048318ba839 Better indenting in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 445
diff changeset
689 " Don't lose visual selection when you indent/unindent.
d048318ba839 Better indenting in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 445
diff changeset
690 vnoremap > >gv
d048318ba839 Better indenting in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 445
diff changeset
691 vnoremap < <gv
d048318ba839 Better indenting in Vim.
Ludovic Chabant <ludovic@chabant.com>
parents: 445
diff changeset
692
289
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
693 " 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
694 " 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
695 nnoremap ]q :cnext<cr>zvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
696 nnoremap [q :cprevious<cr>zvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
697 nnoremap ]l :lnext<cr>zvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
698 nnoremap [l :lprevious<cr>zvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
699
486
b452486b97c5 Make vim's quickfix list more awesome.
Ludovic Chabant <ludovic@chabant.com>
parents: 485
diff changeset
700 " Toggle quicklist.
b452486b97c5 Make vim's quickfix list more awesome.
Ludovic Chabant <ludovic@chabant.com>
parents: 485
diff changeset
701 nnoremap <F5> :call ludo#toggle_quicklist()<cr>
b452486b97c5 Make vim's quickfix list more awesome.
Ludovic Chabant <ludovic@chabant.com>
parents: 485
diff changeset
702
304
50fbd059a6a1 More Vim customizations.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
703 " Same with change and jump lists.
367
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
704 nnoremap ]e g,zz
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
705 nnoremap [e g;zz
304
50fbd059a6a1 More Vim customizations.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
706 nnoremap ]j <C-I>
50fbd059a6a1 More Vim customizations.
Ludovic Chabant <ludovic@chabant.com>
parents: 303
diff changeset
707 nnoremap [j <C-O>
289
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
708
367
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
709 " Copy the current buffer's info.
386
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
710 nnoremap <leader>cp :let @+ = expand('%:p')<cr>:echo @+<cr>
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
711 nnoremap <leader>cf :let @+ = expand('%:h')<cr>:echo @+<cr>
b570ad9917c0 Add local pre-override for vimrc. Bunch of other vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 381
diff changeset
712 nnoremap <leader>cw :let @+ = getcwd()<cr>:echo @+<cr>
367
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
713
303
01ec865443b6 Update NERDTree macros and tweak more Vim stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 294
diff changeset
714 " Make the diff navigation also center things.
289
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
715 nnoremap ]c ]czvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
716 nnoremap [c [czvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
717
103
a755319f124e Added mappings for substitutions.
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
718 " Quick search and replace.
119
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
719 function! s:VSetSearch()
294
8bc056d80c39 Remove unused stuff, add grepping, shorter status line.
Ludovic Chabant <ludovic@chabant.com>
parents: 291
diff changeset
720 let temp = @@
8bc056d80c39 Remove unused stuff, add grepping, shorter status line.
Ludovic Chabant <ludovic@chabant.com>
parents: 291
diff changeset
721 norm! gvy
8bc056d80c39 Remove unused stuff, add grepping, shorter status line.
Ludovic Chabant <ludovic@chabant.com>
parents: 291
diff changeset
722 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
723 let @@ = temp
119
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
724 endfunction
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
725 vnoremap * :<C-u>call <SID>VSetSearch()<CR>//<CR><c-o>
6dbbf36a523d VIM changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 118
diff changeset
726 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
727
206
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
728 " 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
729 nnoremap n nzvzz
8b6ca7e40f37 Making jumping around in Vim nicer.
Ludovic Chabant <ludovic@chabant.com>
parents: 288
diff changeset
730 nnoremap N Nzvzz
206
dae926f52b9a Some Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
731
379
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
732 " YCM mappings.
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
733 if ludo#has_plugin('youcompleteme')
426
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
734 augroup VimRC_YouCompleteMe
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
735 autocmd!
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
736 autocmd FileType cpp nnoremap <Leader>jj :YcmCompleter GoToImprecise<cr>zv
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
737 autocmd FileType cpp nnoremap <Leader>jd :YcmCompleter GoToDefinition<cr>zv
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
738 autocmd FileType cpp nnoremap <Leader>jh :YcmCompleter GoToDeclaration<cr>zv
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
739 autocmd FileType cpp nnoremap <Leader>ji :YcmCompleter GoToInclude<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
740 autocmd FileType cpp nnoremap <Leader>jc :YcmCompleter GetDoc<cr>
485
25bdfc963612 Some vimrc tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 484
diff changeset
741 autocmd FileType cpp nnoremap <Leader>jt :YcmCompleter GetType<cr>
426
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
742 autocmd FileType cpp nnoremap <Leader>je :YcmShowDetailedDiagnostic<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
743 augroup END
420
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
744 endif
397
c32b9b172314 Specify YCM/OmniSharp mappings only for specific file types.
Ludovic Chabant <ludovic@chabant.com>
parents: 392
diff changeset
745
c32b9b172314 Specify YCM/OmniSharp mappings only for specific file types.
Ludovic Chabant <ludovic@chabant.com>
parents: 392
diff changeset
746 " OmniSharp mappings
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
747 if ludo#has_plugin('OmniSharp')
426
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
748 augroup VimRC_OmniSharp
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
749 autocmd!
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
750 autocmd FileType cs setlocal omnifunc=OmniSharp#Complete
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
751 autocmd BufEnter,TextChanged,InsertLeave *.cs SyntasticCheck
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
752 autocmd CursorHold *.cs call OmniSharp#TypeLookupWithoutDocumentation()
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
753 autocmd FileType cs nnoremap <Leader>jj :OmniSharpGotoDefinition<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
754 autocmd FileType cs nnoremap <Leader>x :OmniSharpFixIssue<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
755 autocmd FileType cs nnoremap <Leader>fx :OmniSharpFixUsings<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
756 autocmd FileType cs nnoremap <Leader>tt :OmniSharpTypeLookup<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
757 autocmd FileType cs nnoremap <Leader>dc :OmniSharpDocumentation<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
758 augroup END
420
e6b3048980c4 Vim tweaks
Ludovic Chabant <ludovic@chabant.com>
parents: 419
diff changeset
759 endif
379
58410650ce36 Add lightline and remove old scratch. Customize Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 373
diff changeset
760
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
761 " ProjectRoot mappings
469
07ee0d517d92 Don't auto `cd` into a project by default anymore.
Ludovic Chabant <ludovic@chabant.com>
parents: 461
diff changeset
762 let g:ludo_enable_autoprojectroot = 0
07ee0d517d92 Don't auto `cd` into a project by default anymore.
Ludovic Chabant <ludovic@chabant.com>
parents: 461
diff changeset
763
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
764 let s:no_auto_projectroot_buftypes = [
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
765 \'help', 'nofile', 'quickfix']
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
766
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
767 function! s:AutoProjectRootCD() abort
469
07ee0d517d92 Don't auto `cd` into a project by default anymore.
Ludovic Chabant <ludovic@chabant.com>
parents: 461
diff changeset
768 if g:ludo_enable_autoprojectroot
07ee0d517d92 Don't auto `cd` into a project by default anymore.
Ludovic Chabant <ludovic@chabant.com>
parents: 461
diff changeset
769 try
07ee0d517d92 Don't auto `cd` into a project by default anymore.
Ludovic Chabant <ludovic@chabant.com>
parents: 461
diff changeset
770 if index(s:no_auto_projectroot_buftypes, &buftype) == -1
07ee0d517d92 Don't auto `cd` into a project by default anymore.
Ludovic Chabant <ludovic@chabant.com>
parents: 461
diff changeset
771 ProjectRootCD
07ee0d517d92 Don't auto `cd` into a project by default anymore.
Ludovic Chabant <ludovic@chabant.com>
parents: 461
diff changeset
772 endif
07ee0d517d92 Don't auto `cd` into a project by default anymore.
Ludovic Chabant <ludovic@chabant.com>
parents: 461
diff changeset
773 catch
07ee0d517d92 Don't auto `cd` into a project by default anymore.
Ludovic Chabant <ludovic@chabant.com>
parents: 461
diff changeset
774 " Silently ignore invalid buffers
07ee0d517d92 Don't auto `cd` into a project by default anymore.
Ludovic Chabant <ludovic@chabant.com>
parents: 461
diff changeset
775 endtry
07ee0d517d92 Don't auto `cd` into a project by default anymore.
Ludovic Chabant <ludovic@chabant.com>
parents: 461
diff changeset
776 endif
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
777 endfunction
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
778
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
779 augroup VimRC_ProjectRoot
426
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
780 autocmd!
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
781 autocmd BufEnter * call <SID>AutoProjectRootCD()
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
782 augroup END
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
783
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
784 nnoremap <leader>cd :ProjectRootCD<cr>
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
785
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
786 " Ctrl-P mappings.
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
787 if ludo#has_plugin('ctrlp')
426
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
788 nnoremap <silent> <C-p> :CtrlP<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
789 nnoremap <silent> <C-o> :CtrlPBuffer<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
790 nnoremap <silent> <C-u> :CtrlPTag<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
791 nnoremap <silent> <C-y> :CtrlPBufTag<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
792 nnoremap <silent> <Tab> :CtrlPMRUFiles<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
793 nnoremap <silent> <F8> :CtrlPBookmarkDir<cr>
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
794 endif
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
795
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
796 " FZF mappings.
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
797 if ludo#has_plugin('fzf')
426
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
798 if exists('*fzf#run')
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
799 nnoremap <silent> <C-p> :Files<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
800 nnoremap <silent> <C-o> :Buffers<cr>
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
801 nnoremap <Tab> :History<cr>
435
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
802
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
803 " Replace the default `Tags` command, which requires Perl, with
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
804 " something I can use, based on Python.
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
805 command! -bang -nargs=* Tags call ludo#run_fzf_tags(<q-args>, <bang>0)
441
a3c6869085c1 Add shortcut for tags.
Ludovic Chabant <ludovic@chabant.com>
parents: 440
diff changeset
806 nnoremap <silent> <C-u> :Tags<cr>
426
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
807 else
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
808 call ludo#error(
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
809 \"FZF is installed and enabled, but the Vim plugin ".
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
810 \"isn't loaded... add it to your `vimrc-local-pre`.")
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
811 endif
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
812 endif
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
813
445
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
814 " LeaderF mappings.
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
815 if ludo#has_plugin('leaderf')
445
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
816 let g:Lf_ShortcutF = '<C-p>'
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
817 let g:Lf_ShortcutB = '<C-o>'
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
818 nnoremap <silent> <C-p> :LeaderfFile<cr>
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
819 nnoremap <silent> <C-o> :LeaderfBuffer<cr>
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
820 nnoremap <silent> <C-u> :LeaderfTag<cr>
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
821 nnoremap <silent> <C-y> :LeaderfBufTagAll<cr>
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
822 nnoremap <silent> <Tab> :LeaderfMru<cr>
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
823
453
97a94dacfd54 Some vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 452
diff changeset
824 nnoremap <silent> <Leader>fl :LeaderfLine<cr>
97a94dacfd54 Some vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 452
diff changeset
825 nnoremap <silent> <Leader>fc :LeaderfColorscheme<cr>
97a94dacfd54 Some vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 452
diff changeset
826 nnoremap <silent> <Leader>fh :LeaderfHelp<cr>
97a94dacfd54 Some vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 452
diff changeset
827
445
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
828 let g:Lf_StlSeparator = { 'left': '', 'right': '' }
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
829 endif
05ab0353cd6e Add config for `cpsm` and `Leaderf`.
Ludovic Chabant <ludovic@chabant.com>
parents: 444
diff changeset
830
495
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
831 " Vimcrosoft/UE mappings.
232351531855 Vim config improvements
Ludovic Chabant <ludovic@chabant.com>
parents: 486
diff changeset
832 nnoremap <F7> :call ludo#build_vs_or_ue()<cr>
474
265442d4def8 Improve FZF config on Vim, add Vimcrosoft mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 469
diff changeset
833
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
834 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
835
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
836 " Folding {{{
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
837
367
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
838 " Start with one level of open.
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
839 set foldlevel=1
d8ae3de7de06 More Vim tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 356
diff changeset
840
385
d367df6afcad Don't fold too much.
Ludovic Chabant <ludovic@chabant.com>
parents: 379
diff changeset
841 " Don't fold too much.
d367df6afcad Don't fold too much.
Ludovic Chabant <ludovic@chabant.com>
parents: 379
diff changeset
842 set foldnestmax=2
d367df6afcad Don't fold too much.
Ludovic Chabant <ludovic@chabant.com>
parents: 379
diff changeset
843
287
44c9d65cfa74 Readjust some Vim config stuff around folding.
Ludovic Chabant <ludovic@chabant.com>
parents: 286
diff changeset
844 " Folds are defined by markers in the text.
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
845 set foldmethod=marker"{{{"}}}
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
846
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
847 " Toggle folds with <space>.
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
848 nnoremap <space> za
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
849
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
850 " Create folds with <space> (in visual mode).
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
851 vnoremap <space> zf
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
852
413
4a2468f72e44 Optimize C++ file editing with some folding tricks.
Ludovic Chabant <ludovic@chabant.com>
parents: 410
diff changeset
853 " See http://vim.wikia.com/wiki/Keep_folds_closed_while_inserting_text
4a2468f72e44 Optimize C++ file editing with some folding tricks.
Ludovic Chabant <ludovic@chabant.com>
parents: 410
diff changeset
854 " Don't screw up folds when inserting text that might affect them, until
4a2468f72e44 Optimize C++ file editing with some folding tricks.
Ludovic Chabant <ludovic@chabant.com>
parents: 410
diff changeset
855 " leaving insert mode. Foldmethod is local to the window. Protect against
4a2468f72e44 Optimize C++ file editing with some folding tricks.
Ludovic Chabant <ludovic@chabant.com>
parents: 410
diff changeset
856 " screwing up folding when switching between windows.
4a2468f72e44 Optimize C++ file editing with some folding tricks.
Ludovic Chabant <ludovic@chabant.com>
parents: 410
diff changeset
857 autocmd InsertEnter * if !exists('w:last_fdm') | let w:last_fdm=&foldmethod | setlocal foldmethod=manual | endif
4a2468f72e44 Optimize C++ file editing with some folding tricks.
Ludovic Chabant <ludovic@chabant.com>
parents: 410
diff changeset
858 autocmd InsertLeave,WinLeave * if exists('w:last_fdm') | let &l:foldmethod=w:last_fdm | unlet w:last_fdm | endif
4a2468f72e44 Optimize C++ file editing with some folding tricks.
Ludovic Chabant <ludovic@chabant.com>
parents: 410
diff changeset
859
204
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
860 " }}}
4bd15b5afcfc Some cleanup and improvements to `vimrc`.
Ludovic Chabant <ludovic@chabant.com>
parents: 201
diff changeset
861
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
862 " Abbreviations {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
863
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
864 iabbrev @@ ludovic@chabant.com
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
865 iabbrev ccopy Copyright &copy;2011 Ludovic Chabant, all rights reserved.
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
866 iabbrev ssig --<cr>l u d o .<cr>. 8 0 17 80
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
867
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
868 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
869
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
870 " Functions {{{
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
871
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
872 function! s:ToggleSpellCheck() abort
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
873 if &spell ==? 'nospell'
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
874 if &keymap ==? 'french'
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
875 setlocal spell spelllang=fr_fr
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
876 else
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
877 setlocal spell spelllang=en_us,en_ca
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
878 endif
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
879 else
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
880 setlocal spell nospell
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
881 endif
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
882 endfunction
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
883
160
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
884 function! s:StripTrailingWhitespaces() abort
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
885 let l = line(".")
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
886 let c = col(".")
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
887 %s/\s\+$//e
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
888 call cursor(l, c)
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
889 endfunction
5997455e475b Whitespace cleaning.
Ludovic Chabant <ludovic@chabant.com>
parents: 157
diff changeset
890
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
891 function! s:ToggleNERDTree() abort
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
892 NERDTreeToggle
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
893 endfunction
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
894
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
895 function! s:FindInNERDTree() abort
410
5bbd5963591c Some Vim config tweaks.
Ludovic Chabant <ludovic@chabant.com>
parents: 397
diff changeset
896 ProjectRootExe NERDTreeFind
332
c44641ca37e2 Fix NERDTree stuff.
Ludovic Chabant <ludovic@chabant.com>
parents: 323
diff changeset
897 normal zz
176
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
898 endfunction
c6a072353606 Vim config changes:
Ludovic Chabant <ludovic@chabant.com>
parents: 173
diff changeset
899
413
4a2468f72e44 Optimize C++ file editing with some folding tricks.
Ludovic Chabant <ludovic@chabant.com>
parents: 410
diff changeset
900 function! s:ToggleCppFolding() abort
426
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
901 if (&foldmethod == "syntax")
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
902 setlocal foldmethod=manual
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
903 setlocal nofoldenable
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
904 else
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
905 setlocal foldmethod=syntax
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
906 setlocal foldenable
67f14a8c2304 Improve Vim configuration.
Ludovic Chabant <ludovic@chabant.com>
parents: 424
diff changeset
907 endif
413
4a2468f72e44 Optimize C++ file editing with some folding tricks.
Ludovic Chabant <ludovic@chabant.com>
parents: 410
diff changeset
908 endfunction
4a2468f72e44 Optimize C++ file editing with some folding tricks.
Ludovic Chabant <ludovic@chabant.com>
parents: 410
diff changeset
909
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
910 " }}}
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
911
171
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
912 " Local override {{{
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
913
435
b7682004288d Move Vim stuff to autoload, add FZF tags lister.
Ludovic Chabant <ludovic@chabant.com>
parents: 430
diff changeset
914 let s:local_vimrc = ludo#localpath('vimrc-local')
430
71a080d4d83c Vim stuff: Goyo writing mode, Ack with Ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 426
diff changeset
915 if filereadable(s:local_vimrc)
71a080d4d83c Vim stuff: Goyo writing mode, Ack with Ag.
Ludovic Chabant <ludovic@chabant.com>
parents: 426
diff changeset
916 execute 'source' s:local_vimrc
171
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
917 endif
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
918
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
919 " }}}
7559d8bc39bb Added local override of Vim settings.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
920