Mercurial > dotfiles
annotate vim/vimrc @ 53:966df1f863be
Removed command-t. Enable lawrencium.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 08 Dec 2011 08:14:40 -0800 |
parents | ee3d235ca3fb |
children | a7932e0fa961 |
rev | line source |
---|---|
6 | 1 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
2 " | |
0 | 3 " Ludovic Chabant's ~/.vimrc |
4 " | |
6 | 5 " http://ludovic.chabant.com |
6 " | |
7 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
0 | 8 |
9 " Use Vim settings, rather then Vi settings (much better!). | |
10 " This must be first, because it changes other options as a side effect. | |
11 set nocompatible | |
12 | |
45
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
13 " 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
|
14 " settings we don't want to re-apply. |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
15 if exists('g:sourced_vimrc') |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
16 let g:resourcing_vimrc = 1 |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
17 endif |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
18 let g:sourced_vimrc = 1 |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
19 |
6 | 20 " Set some important system-dependent variables. |
21 if has("win32") || has("win64") || has("dos32") | |
22 let $HOMEVIM = "vimfiles" | |
23 let $PLATFORM = "windows" | |
24 else | |
25 let $HOMEVIM = ".vim" | |
26 let $PLATFORM = "unix" | |
27 endif | |
28 | |
18
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
29 " Disable some plugins. |
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
30 let g:pathogen_disabled = [] |
45
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
31 call add(g:pathogen_disabled, 'vimroom') |
18
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
32 |
0 | 33 " Load pathogen. |
34 call pathogen#infect() | |
35 | |
10
00cac5ebf546
Added default window size. Added buffer keyboard shortcuts.
ludovicchabant
parents:
6
diff
changeset
|
36 " 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
|
37 if has("gui_running") && !exists('g:resourcing_vimrc') |
0 | 38 set guioptions=-t |
10
00cac5ebf546
Added default window size. Added buffer keyboard shortcuts.
ludovicchabant
parents:
6
diff
changeset
|
39 set lines=50 |
00cac5ebf546
Added default window size. Added buffer keyboard shortcuts.
ludovicchabant
parents:
6
diff
changeset
|
40 set columns=135 |
0 | 41 endif |
42 | |
18
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
43 " Disable modelines. |
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
44 set modelines=0 |
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
45 |
6 | 46 " Don't unload abandoned buffers. |
47 set hidden | |
0 | 48 |
6 | 49 " Show line numbers. |
50 set number | |
51 | |
18
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
52 " 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
|
53 set showmode |
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
54 set showcmd |
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
55 |
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
56 " Keep the cursor off the top/bottom edges. |
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
57 set scrolloff=3 |
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
58 |
6 | 59 " Smart auto-indenting. |
0 | 60 set autoindent |
61 set smartindent | |
6 | 62 |
63 " Use confirmation dialog. | |
0 | 64 set confirm |
6 | 65 |
66 " Remember lots of commands. | |
0 | 67 set history=1000 |
6 | 68 |
69 " Use incremental search, with highlighting, | |
70 " case-insensitive unless we actually type some | |
71 " mixed-case stuff. | |
0 | 72 set incsearch |
73 set hlsearch | |
74 set ignorecase | |
75 set smartcase | |
6 | 76 |
77 " Always show window status lines. | |
0 | 78 set laststatus=2 |
6 | 79 |
80 " Enable using the mouse like some everyday guy. | |
0 | 81 set mouse=a |
6 | 82 |
83 " Show interesting stuff at the bottom of the window. | |
0 | 84 set showcmd |
85 set ruler | |
6 | 86 |
87 " Don't pollute the hard-drive with *~ files. Only | |
88 " create them in hidden backup/temp directories while | |
89 " we edit the file, and then get rid of it. | |
0 | 90 set nobackup |
91 set writebackup | |
6 | 92 set backupdir=~/$HOMEVIM/backup |
93 set directory=~/$HOMEVIM/temp | |
94 | |
95 " Better command-line completion, but don't show some | |
96 " stuff we don't care about. | |
0 | 97 set wildmenu |
98 set wildignore+=.DS_Store,Thumbs.db | |
6 | 99 |
100 " Always display the tab-page line. | |
0 | 101 set showtabline=2 |
6 | 102 |
103 " Show matching braces. | |
104 set showmatch | |
105 | |
106 " Set the file-formats. | |
0 | 107 set ffs=unix,mac,dos |
6 | 108 |
109 " Tabs and indenting are 4 characters, and tabs behave like | |
110 " spaces during editing. They're smart, too, and when you | |
111 " press <TAB> it actually inserts a soft-tab so everything's | |
112 " indented the same. | |
0 | 113 set tabstop=4 |
114 set shiftwidth=4 | |
115 set softtabstop=4 | |
116 set smarttab | |
117 set expandtab | |
6 | 118 |
18
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
119 " Default encoding |
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
120 set encoding=utf-8 |
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
121 |
6 | 122 " Clipboard buffer. |
0 | 123 set clipboard=unnamed |
6 | 124 |
125 " Smoot terminal experience. | |
0 | 126 set ttyfast |
6 | 127 |
128 " Allow backspacing over anything. | |
0 | 129 set backspace=indent,eol,start |
130 | |
6 | 131 " Going left and right let you go to other lines. |
132 set whichwrap+=<,>,h,l | |
133 | |
134 " And now, for some system-dependent settings: | |
135 " - font to use | |
136 if $PLATFORM == "windows" | |
137 set guifont=Consolas:h12 | |
138 else | |
139 set guifont=Monaco:h12 | |
140 endif | |
141 | |
142 | |
45
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
143 " Syntax highlighting. |
0 | 144 syntax on |
145 | |
18
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
146 " Change the current directory to the home directory. |
45
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
147 if !exists('g:resourcing_vimrc') |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
148 cd ~/ |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
149 endif |
18
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
150 |
45
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
151 " Default color scheme. |
47 | 152 if has('gui_running') |
153 set background=light | |
154 else | |
155 set background=dark | |
156 endif | |
157 colorscheme solarized | |
6 | 158 |
159 " Enable file type detection. | |
0 | 160 filetype indent plugin on |
161 | |
45
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
162 " Navigate MiniBufExplorer with CTRL+Tab/CTRL+Shift+Tab. |
18
cec2213f938c
Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
13
diff
changeset
|
163 let g:miniBufExplMapCTabSwitchBufs = 1 |
10
00cac5ebf546
Added default window size. Added buffer keyboard shortcuts.
ludovicchabant
parents:
6
diff
changeset
|
164 |
6 | 165 " Custom mappings. |
42
6b831735c092
Added french keymap support.
Ludovic Chabant <ludovic@chabant.com>
parents:
18
diff
changeset
|
166 let mapleader="," |
43
25e8b2fffd50
Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
42
diff
changeset
|
167 |
45
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
168 " Edit & source the VIMRC. |
43
25e8b2fffd50
Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
42
diff
changeset
|
169 nnoremap <leader>ev :vsplit $MYVIMRC<cr> |
25e8b2fffd50
Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
42
diff
changeset
|
170 nnoremap <leader>sv :source $MYVIMRC<cr> |
25e8b2fffd50
Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
42
diff
changeset
|
171 |
45
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
172 " MiniBufExplorer mappings. |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
173 nnoremap <F2> :TMiniBufExplorer<cr> |
43
25e8b2fffd50
Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
42
diff
changeset
|
174 |
45
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
175 " Open NERDtree. |
43
25e8b2fffd50
Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
42
diff
changeset
|
176 nnoremap <F3> :NERDTreeToggle<cr> |
25e8b2fffd50
Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
42
diff
changeset
|
177 |
45
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
178 " Switch between FR and US keyboard layouts. |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
179 nnoremap <leader>fr :setlocal keymap=french<cr> |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
180 nnoremap <leader>us :setlocal keymap=<cr> |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
181 |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
182 " Toggle spell check according to current keyboard layout. |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
183 nnoremap <leader>sp :call <SID>ToggleSpellCheck()<cr> |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
184 |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
185 " Simple way to close a buffer without closing the window. |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
186 nnoremap <leader>bd :bprevious<cr>:bdelete #<cr> |
43
25e8b2fffd50
Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
42
diff
changeset
|
187 |
25e8b2fffd50
Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
42
diff
changeset
|
188 " Abbreviations |
25e8b2fffd50
Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
42
diff
changeset
|
189 iabbrev @@ ludovic@chabant.com |
25e8b2fffd50
Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
42
diff
changeset
|
190 iabbrev ccopy Copyright ©2011 Ludovic Chabant, all rights reserved. |
25e8b2fffd50
Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents:
42
diff
changeset
|
191 iabbrev ssig --<cr>l u d o .<cr>. 8 0 17 80 |
0 | 192 |
45
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
193 " Functions {{{ |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
194 |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
195 function! s:ToggleSpellCheck() abort |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
196 if &spell ==? 'nospell' |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
197 if &keymap ==? 'french' |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
198 setlocal spell spelllang=fr_fr |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
199 else |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
200 setlocal spell spelllang=en_us,en_ca |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
201 endif |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
202 else |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
203 setlocal spell nospell |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
204 endif |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
205 endfunction |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
206 |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
207 " }}} |
aac6188ab4d6
Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents:
43
diff
changeset
|
208 |
0 | 209 " Temporary stuff |
210 "let mapleader="," " Use , as Leader | |
211 "let gmapleader="," | |
212 "map Y y$ " Yank to the end of the line w/ Y | |
213 "map <leader>nt :tabnew<CR> " New tab w/ ,nt | |
214 "map <leader>f :FufFile<CR> " Find files with ,f | |
215 "nmap <leader>w :w!<cr> | |
216 "map <F3> :r !pbpaste<CR> | |
217 "map <F4> :setlocal spell spelllang=en_gb<CR> " Turn on spellcheck with <F4> | |
218 "map <F5> :set nospell<CR> | |
219 "set pastetoggle=<F6> | |
220 "map <F7> :set complete+=k<CR> | |
221 "map <S-F7> :set complete=-k<CR> | |
222 "map <F8> :YRShow<CR> " Show the YankRing w/ <F8> | |
223 "nnoremap <F3> :GundoToggle<CR> " Show the undo tree w/ <F3> | |
224 "nnoremap ; : | |
225 "autocmd BufRead,BufNewfile ~/notes/* set filetype=markdown " All files in ~/notes are Markdown | |
226 "au BufWinLeave *.html,*.css mkview | |
227 "au BufWinEnter *.html,*.css silent loadview | |
228 "au FileType mail set tw=65 " Thin width when writing mail in mutt | |
229 "au FocusLost * :wa " Saves file when vim loses focus | |
230 "if has('statusline') " Status line with git repo info | |
231 " set statusline=%<%f\ | |
232 " set statusline+=%w%h%m%r | |
233 " set statusline+=%{fugitive#statusline()} | |
234 " set statusline+=\ [%{&ff}/%Y] | |
235 " set statusline+=\ [%{getcwd()}] | |
236 " set statusline+=%=%-14.(Line:\ %l\ of\ %L\ [%p%%]\ -\ Col:\ %c%V%) | |
237 "endif | |
238 | |
239 " When started as "evim", evim.vim will already have done these settings. | |
240 "if v:progname =~? "evim" | |
241 " finish | |
242 "endif | |
243 | |
244 " For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries | |
245 " let &guioptions = substitute(&guioptions, "t", "", "g") | |
246 | |
247 " Don't use Ex mode, use Q for formatting | |
248 "map Q gq | |
249 | |
250 " This is an alternative that also works in block mode, but the deleted | |
251 " text is lost and it only works for putting the current register. | |
252 "vnoremap p "_dp | |
253 | |
254 " Switch syntax highlighting on, when the terminal has colors | |
255 " Also switch on highlighting the last used search pattern. | |
256 "if &t_Co > 2 || has("gui_running") | |
257 " syntax on | |
258 " set hlsearch | |
259 "endif | |
260 | |
261 " Only do this part when compiled with support for autocommands. | |
262 "if has("autocmd") | |
263 | |
264 " Enable file type detection. | |
265 " Use the default filetype settings, so that mail gets 'tw' set to 72, | |
266 " 'cindent' is on in C files, etc. | |
267 " Also load indent files, to automatically do language-dependent indenting. | |
268 " filetype plugin indent on | |
269 | |
270 " Put these in an autocmd group, so that we can delete them easily. | |
271 " augroup vimrcEx | |
272 " au! | |
273 | |
274 " For all text files set 'textwidth' to 78 characters. | |
275 " autocmd FileType text setlocal textwidth=78 | |
276 | |
277 " When editing a file, always jump to the last known cursor position. | |
278 " Don't do it when the position is invalid or when inside an event handler | |
279 " (happens when dropping a file on gvim). | |
280 " autocmd BufReadPost * | |
281 " \ if line("'\"") > 0 && line("'\"") <= line("$") | | |
282 " \ exe "normal g`\"" | | |
283 " \ endif | |
284 | |
285 " augroup END | |
286 | |
287 "else | |
288 | |
289 " set autoindent " always set autoindenting on | |
290 | |
291 "endif " has("autocmd") | |
292 | |
293 "set fileformats=dos,unix " set fileformat to DOS by default | |
294 |