annotate vim/vimrc @ 80:121bef55252f

Added more VIM plugins (ctrlp, easymotion, powerline).
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 14 Mar 2012 11:33:52 -0700
parents 990968329a9b
children a54180045075
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
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
22 " Set some important system-dependent variables.
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
23 if has("win32") || has("win64") || has("dos32")
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
24 let $HOMEVIM = "vimfiles"
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
25 let $PLATFORM = "windows"
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
26 else
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
27 let $HOMEVIM = ".vim"
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
28 let $PLATFORM = "unix"
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
29 endif
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
30
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
31 " Disable some plugins.
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
32 let g:pathogen_disabled = []
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
33 call add(g:pathogen_disabled, 'vimroom')
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
34 call add(g:pathogen_disabled, 'minibufexpl')
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
35
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
36 " Load pathogen.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
37 call pathogen#infect()
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
38
10
00cac5ebf546 Added default window size. Added buffer keyboard shortcuts.
ludovicchabant
parents: 6
diff changeset
39 " 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
40 if has("gui_running") && !exists('g:resourcing_vimrc')
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
41 set guioptions=-t
10
00cac5ebf546 Added default window size. Added buffer keyboard shortcuts.
ludovicchabant
parents: 6
diff changeset
42 set lines=50
00cac5ebf546 Added default window size. Added buffer keyboard shortcuts.
ludovicchabant
parents: 6
diff changeset
43 set columns=135
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
44 endif
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
45
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
46 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
47
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
48 " General Settings {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
49
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
50 " Disable modelines.
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
51 set modelines=0
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
52
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
53 " Don't unload abandoned buffers.
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
54 set hidden
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
55
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
56 " Show line numbers.
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
57 set number
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
58
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
59 " 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
60 set showmode
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
61 set showcmd
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
62
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
63 " Keep the cursor off the top/bottom edges.
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
64 set scrolloff=3
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
65
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
66 " Smart auto-indenting.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
67 set autoindent
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
68 set smartindent
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
69
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
70 " Use confirmation dialog.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
71 set confirm
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
72
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
73 " Don't use annoying sounds.
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
74 set visualbell
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
75
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
76 " Remember lots of commands.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
77 set history=1000
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
78
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
79 " Try to reduce flickering.
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
80 set lazyredraw
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
81
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
82 " Show matching braces but not for too long.
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
83 set showmatch
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
84 set matchtime=2
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
85
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
86 " Show soft-broken/wrapped lines with a prefix.
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
87 set showbreak=→
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
88
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
89 " Use incremental search, with highlighting,
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
90 " case-insensitive unless we actually type some
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
91 " mixed-case stuff.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
92 set incsearch
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
93 set hlsearch
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
94 set ignorecase
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
95 set smartcase
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
96
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
97 " Always show window status lines.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
98 set laststatus=2
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
99
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
100 " Enable using the mouse like some everyday guy.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
101 set mouse=a
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
102
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
103 " Show interesting stuff at the bottom of the window.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
104 set showcmd
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
105 set ruler
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
106
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
107 " 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
108 set splitbelow
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
109 set splitright
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
110
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
111 " Don't pollute the hard-drive with *~ files. Only
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
112 " create them in hidden backup/temp directories while
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
113 " we edit the file, and then get rid of it.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
114 set nobackup
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
115 set writebackup
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
116 set backupdir=~/$HOMEVIM/backup
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
117 set directory=~/$HOMEVIM/temp
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
118
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
119 " Better command-line completion, but don't show some
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
120 " stuff we don't care about.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
121 set wildmenu
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
122 set wildignore+=.DS_Store,Thumbs.db,*.so,*.dll,*.exe
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
123
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
124 " Always display the tab-page line.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
125 set showtabline=2
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
126
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
127 " Set the file-formats.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
128 set ffs=unix,mac,dos
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
129
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
130 " Tabs and indenting are 4 characters, and tabs behave like
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
131 " spaces during editing. They're smart, too, and when you
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
132 " press <TAB> it actually inserts a soft-tab so everything's
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
133 " indented the same.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
134 set tabstop=4
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
135 set shiftwidth=4
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
136 set softtabstop=4
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
137 set smarttab
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
138 set expandtab
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
139
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
140 " Default encoding
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
141 set encoding=utf-8
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
142
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
143 " Clipboard buffer.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
144 set clipboard=unnamed
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
145
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
146 " Smoot terminal experience.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
147 set ttyfast
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
148
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
149 " Allow backspacing over anything.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
150 set backspace=indent,eol,start
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
151
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
152 " Going left and right let you go to other lines.
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
153 set whichwrap+=<,>,h,l
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
154
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
155 " Folds are defined by markers in the text.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
156 set foldmethod=marker
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
157
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
158 " Nice auto-complete menu.
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
159 set completeopt=longest,menuone,preview
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
160
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
161 " And now, for some system-dependent settings:
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
162 " - font to use
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
163 if $PLATFORM == "windows"
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
164 set guifont=Consolas:h12
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
165 else
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
166 set guifont=Monaco:h12
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
167 endif
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
168
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
169
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
170 " Syntax highlighting.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
171 syntax on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
172
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
173 " 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
174 if !exists('g:resourcing_vimrc')
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
175 cd ~/
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
176 endif
18
cec2213f938c Removed some MiniBufExplorer mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
177
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
178 " Default color scheme.
47
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
179 if has('gui_running')
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
180 set background=light
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
181 else
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
182 set background=dark
ee3d235ca3fb Added solarized.
Ludovic Chabant <ludovic@chabant.com>
parents: 45
diff changeset
183 endif
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
184 colorscheme badwolf
6
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
185
f8792d288397 Big vimrc update.
ludovicchabant
parents: 0
diff changeset
186 " Enable file type detection.
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
187 filetype indent plugin on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
188
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
189 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
190
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
191 " Auto-Commands {{{
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
192
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
193 " 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
194 augroup CursorLine
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
195 au!
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
196 au WinLeave * set nocursorline
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
197 au WinEnter * set cursorline
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
198 augroup END
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
199
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
200 " }}}
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
201
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
202 " Plugin Settings {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
203
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
204 " We'll set our own mappings.
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
205 let g:ctrlp_map = ''
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
206
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
207 " Ctrl-P should manage the working directory.
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
208 let g:ctrlp_working_path_mode = 2
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
209
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
210 " Ctrl-P should however ignore some stuff.
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
211 let g:ctrlp_custom_ignore = {
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
212 \ 'dir': '\.git$\|\.hg$\|\.svn$',
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
213 \ 'file': '\.exe$\|\.so$\|\.dll$'
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
214 \ }
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
215
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
216 " Make Ctrl-P cache stuff in our temp directory.
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
217 let g:ctrlp_cache_dir = '~/'.$HOMEVIM.'/cache'
10
00cac5ebf546 Added default window size. Added buffer keyboard shortcuts.
ludovicchabant
parents: 6
diff changeset
218
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
219 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
220
73
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
221 " File-Specific Settings {{{
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
222
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
223 " Nice text width for text files.
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
224 autocmd FileType text,markdown setlocal textwidth=80
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
225
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
226 " }}}
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
227
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
228 " Mappings {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
229
42
6b831735c092 Added french keymap support.
Ludovic Chabant <ludovic@chabant.com>
parents: 18
diff changeset
230 let mapleader=","
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
231
76
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
232 " Visual line navigation
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
233 noremap <up> g<up>
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
234 noremap <down> g<down>
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
235 noremap <home> g<home>
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
236 noremap <end> g<end>
990968329a9b Disabled minibufexpl for a while.
Ludovic Chabant <ludovic@chabant.com>
parents: 73
diff changeset
237
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
238 " Buffer navigation
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
239 noremap <C-Tab> :bnext<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
240 noremap <C-S-Tab> :bprevious<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
241
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
242 " Window navigation
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
243 nnoremap <C-up> :wincmd k<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
244 nnoremap <C-down> :wincmd j<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
245 nnoremap <C-left> :wincmd h<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
246 nnoremap <C-right> :wincmd l<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
247
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
248 " Split windows
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
249 nnoremap <leader>s :split<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
250 nnoremap <leader>v :vsplit<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
251
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
252 " Edit & source the VIMRC.
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
253 nnoremap <leader>ev :vsplit $MYVIMRC<cr>
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
254 nnoremap <leader>sv :source $MYVIMRC<cr>
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
255
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
256 " Easier things to type
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
257 nnoremap <leader>w :w<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
258 nnoremap <leader>q :q<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
259
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
260 " Toggle invisible characters
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
261 nnoremap <leader>i :set list!<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
262
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
263 " Clear search matches
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
264 nnoremap <leader><space> :noh<cr>:call clearmatches()<cr>
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
265
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
266 " Open NERDtree.
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
267 nnoremap <F2> :NERDTreeToggle<cr>
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
268
73
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
269 " Switch buffers.
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
270 nnoremap <F3> :execute ("buffer " . bufname("#"))<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
271
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
272 " Ctrl-P mappings.
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
273 nnoremap <silent> <C-p> :CtrlP<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
274 nnoremap <silent> <C-b> :CtrlPBuffer<cr>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
275 nnoremap <silent> <C-m> :CtrlPMRU<cr>
73
39a7e05637d8 Added 80 chars limit to text/markdown files.
Ludovic Chabant <ludovic@chabant.com>
parents: 67
diff changeset
276
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
277 " Switch between FR and US keyboard layouts.
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
278 nnoremap <leader>fr :setlocal keymap=french<cr>
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
279 nnoremap <leader>us :setlocal keymap=<cr>
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
280
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
281 " Toggle spell check according to current keyboard layout.
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
282 nnoremap <leader>sp :call <SID>ToggleSpellCheck()<cr>
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
283
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
284 " 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
285 nnoremap <leader>bd :bprevious<cr>:bdelete #<cr>
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
286
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
287 " Toggle folds with <space>
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
288 nnoremap <space> za
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
289
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
290 " Create folds with <space> (in visual mode)
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
291 vnoremap <space> zf
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
292
80
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
293 " File-type switching
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
294 nnoremap <leader>ftmd :set ft=markdown<CR>
121bef55252f Added more VIM plugins (ctrlp, easymotion, powerline).
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
295
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
296 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
297
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
298 " Abbreviations {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
299
43
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
300 iabbrev @@ ludovic@chabant.com
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
301 iabbrev ccopy Copyright &copy;2011 Ludovic Chabant, all rights reserved.
25e8b2fffd50 Changed some mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 42
diff changeset
302 iabbrev ssig --<cr>l u d o .<cr>. 8 0 17 80
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
303
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
304 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
305
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
306 " Status Line {{{
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
307
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
308 set statusline=%f " Path.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
309 set statusline+=%m " Modified flag.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
310 set statusline+=%r " Readonly flag.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
311 set statusline+=%w " Preview window flag.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
312
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
313 set statusline+=\ " Space.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
314
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
315 set statusline+=%#redbar# " Highlight the following as a warning.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
316 set statusline+=%{SyntasticStatuslineFlag()} " Syntastic errors.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
317 set statusline+=%* " Reset highlighting.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
318
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
319 set statusline+=%= " Right align.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
320
61
8c80aa9bd387 Re-enabled lawrencium status-line.
Ludovic Chabant <ludovic@chabant.com>
parents: 59
diff changeset
321 " Mercurial information.
8c80aa9bd387 Re-enabled lawrencium status-line.
Ludovic Chabant <ludovic@chabant.com>
parents: 59
diff changeset
322 set statusline+=%{lawrencium#statusline('[',']')}
8c80aa9bd387 Re-enabled lawrencium status-line.
Ludovic Chabant <ludovic@chabant.com>
parents: 59
diff changeset
323 set statusline+=\ " Space.
8c80aa9bd387 Re-enabled lawrencium status-line.
Ludovic Chabant <ludovic@chabant.com>
parents: 59
diff changeset
324
59
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
325 " File format, encoding and type. Ex: "(unix/utf-8/python)"
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
326 set statusline+=(
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
327 set statusline+=%{&ff} " Format (unix/DOS).
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
328 set statusline+=/
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
329 set statusline+=%{strlen(&fenc)?&fenc:&enc} " Encoding (utf-8).
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
330 set statusline+=/
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
331 set statusline+=%{&ft} " Type (python).
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
332 set statusline+=)
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
333
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
334 " Line and column position and counts.
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
335 set statusline+=\ (line\ %l\/%L,\ col\ %03c)
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
336
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
337 " }}}
6df571869f4a Added statusline and fold-related mappings.
Ludovic Chabant <ludovic@chabant.com>
parents: 55
diff changeset
338
45
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
339 " Functions {{{
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
340
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
341 function! s:ToggleSpellCheck() abort
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
342 if &spell ==? 'nospell'
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
343 if &keymap ==? 'french'
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
344 setlocal spell spelllang=fr_fr
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
345 else
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
346 setlocal spell spelllang=en_us,en_ca
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
347 endif
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
348 else
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
349 setlocal spell nospell
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
350 endif
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
351 endfunction
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
352
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
353 " }}}
aac6188ab4d6 Added vimroom plugin (disabled by default).
Ludovic Chabant <ludovic@chabant.com>
parents: 43
diff changeset
354
55
a7932e0fa961 Enable lawrencium debugging.
Ludovic Chabant <ludovic@chabant.com>
parents: 53
diff changeset
355 " Temporary stuff {{{
a7932e0fa961 Enable lawrencium debugging.
Ludovic Chabant <ludovic@chabant.com>
parents: 53
diff changeset
356
a7932e0fa961 Enable lawrencium debugging.
Ludovic Chabant <ludovic@chabant.com>
parents: 53
diff changeset
357 " Enable debugging Lawrencium
a7932e0fa961 Enable lawrencium debugging.
Ludovic Chabant <ludovic@chabant.com>
parents: 53
diff changeset
358 let g:lawrencium_debug = 1
67
34dafaf8ed9c Removed trace.
Ludovic Chabant <ludovic@chabant.com>
parents: 61
diff changeset
359 let g:lawrencium_trace = 0
55
a7932e0fa961 Enable lawrencium debugging.
Ludovic Chabant <ludovic@chabant.com>
parents: 53
diff changeset
360
a7932e0fa961 Enable lawrencium debugging.
Ludovic Chabant <ludovic@chabant.com>
parents: 53
diff changeset
361 " }}}
a7932e0fa961 Enable lawrencium debugging.
Ludovic Chabant <ludovic@chabant.com>
parents: 53
diff changeset
362
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
363 "let mapleader="," " Use , as Leader
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
364 "let gmapleader=","
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
365 "map Y y$ " Yank to the end of the line w/ Y
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
366 "map <leader>nt :tabnew<CR> " New tab w/ ,nt
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
367 "map <leader>f :FufFile<CR> " Find files with ,f
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
368 "nmap <leader>w :w!<cr>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
369 "map <F3> :r !pbpaste<CR>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
370 "map <F4> :setlocal spell spelllang=en_gb<CR> " Turn on spellcheck with <F4>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
371 "map <F5> :set nospell<CR>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
372 "set pastetoggle=<F6>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
373 "map <F7> :set complete+=k<CR>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
374 "map <S-F7> :set complete=-k<CR>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
375 "map <F8> :YRShow<CR> " Show the YankRing w/ <F8>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
376 "nnoremap <F3> :GundoToggle<CR> " Show the undo tree w/ <F3>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
377 "nnoremap ; :
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
378 "autocmd BufRead,BufNewfile ~/notes/* set filetype=markdown " All files in ~/notes are Markdown
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
379 "au BufWinLeave *.html,*.css mkview
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
380 "au BufWinEnter *.html,*.css silent loadview
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
381 "au FileType mail set tw=65 " Thin width when writing mail in mutt
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
382 "au FocusLost * :wa " Saves file when vim loses focus
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
383 "if has('statusline') " Status line with git repo info
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
384 " set statusline=%<%f\
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
385 " set statusline+=%w%h%m%r
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
386 " set statusline+=%{fugitive#statusline()}
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
387 " set statusline+=\ [%{&ff}/%Y]
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
388 " set statusline+=\ [%{getcwd()}]
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
389 " set statusline+=%=%-14.(Line:\ %l\ of\ %L\ [%p%%]\ -\ Col:\ %c%V%)
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
390 "endif
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
391
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
392 " For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
393 " let &guioptions = substitute(&guioptions, "t", "", "g")
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
394
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
395 " Don't use Ex mode, use Q for formatting
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
396 "map Q gq
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
397
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
398 " This is an alternative that also works in block mode, but the deleted
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
399 " text is lost and it only works for putting the current register.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
400 "vnoremap p "_dp
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
401
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
402 " Switch syntax highlighting on, when the terminal has colors
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
403 " Also switch on highlighting the last used search pattern.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
404 "if &t_Co > 2 || has("gui_running")
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
405 " syntax on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
406 " set hlsearch
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
407 "endif
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
408
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
409 " Only do this part when compiled with support for autocommands.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
410 "if has("autocmd")
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
411
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
412 " Enable file type detection.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
413 " Use the default filetype settings, so that mail gets 'tw' set to 72,
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
414 " 'cindent' is on in C files, etc.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
415 " Also load indent files, to automatically do language-dependent indenting.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
416 " filetype plugin indent on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
417
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
418 " Put these in an autocmd group, so that we can delete them easily.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
419 " augroup vimrcEx
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
420 " au!
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
421
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
422 " For all text files set 'textwidth' to 78 characters.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
423 " autocmd FileType text setlocal textwidth=78
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
424
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
425 " When editing a file, always jump to the last known cursor position.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
426 " Don't do it when the position is invalid or when inside an event handler
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
427 " (happens when dropping a file on gvim).
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
428 " autocmd BufReadPost *
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
429 " \ if line("'\"") > 0 && line("'\"") <= line("$") |
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
430 " \ exe "normal g`\"" |
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
431 " \ endif
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
432
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
433 " augroup END
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
434
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
435 "else
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
436
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
437 " set autoindent " always set autoindenting on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
438
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
439 "endif " has("autocmd")
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
440
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
441 "set fileformats=dos,unix " set fileformat to DOS by default
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
442