annotate vim/vimrc @ 0:9dbf340c7956

Initial commit
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 17 Oct 2011 21:35:00 -0700
parents
children f8792d288397
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1 " Ludovic Chabant's ~/.vimrc
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
2 "
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
3
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
4 " Use Vim settings, rather then Vi settings (much better!).
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
5 " This must be first, because it changes other options as a side effect.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
6 set nocompatible
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
7
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
8 " Load pathogen.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
9 call pathogen#infect()
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
10
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
11 " Hide the toolbar in MacVim
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
12 if has("gui_running")
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
13 set guioptions=-t
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
14 endif
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
15
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
16 colorscheme macvim
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
17
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
18 " Various options
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
19 set hidden
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
20 set number
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
21 set autoindent
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
22 set smartindent
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
23 set confirm
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
24 set history=1000
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
25 set incsearch
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
26 set hlsearch
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
27 set ignorecase
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
28 set smartcase
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
29 set laststatus=2
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
30 set mouse=a
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
31 set showcmd
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
32 set ruler
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
33 set nobackup
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
34 set writebackup
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
35 set backupdir=~/.vim/backup
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
36 set directory=~/.vim/temp
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
37 set wildmenu
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
38 set wildignore+=.DS_Store,Thumbs.db
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
39 set showtabline=2
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
40 set showmatch
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
41 set ffs=unix,mac,dos
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
42 set guifont=Monaco:h12
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
43 set tabstop=4
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
44 set shiftwidth=4
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
45 set softtabstop=4
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
46 set smarttab
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
47 set expandtab
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
48 set clipboard=unnamed
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
49 set ttyfast
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
50 set backspace=indent,eol,start
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
51
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
52 " Syntax highlighting
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
53 syntax on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
54
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
55 " File types
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
56 filetype indent plugin on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
57
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
58
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
59 " Temporary stuff
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
60 "let mapleader="," " Use , as Leader
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
61 "let gmapleader=","
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
62 "map Y y$ " Yank to the end of the line w/ Y
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
63 "map <leader>nt :tabnew<CR> " New tab w/ ,nt
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
64 "map <leader>f :FufFile<CR> " Find files with ,f
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
65 "nmap <leader>w :w!<cr>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
66 "map <F3> :r !pbpaste<CR>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
67 "map <F4> :setlocal spell spelllang=en_gb<CR> " Turn on spellcheck with <F4>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
68 "map <F5> :set nospell<CR>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
69 "set pastetoggle=<F6>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
70 "map <F7> :set complete+=k<CR>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
71 "map <S-F7> :set complete=-k<CR>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
72 "map <F8> :YRShow<CR> " Show the YankRing w/ <F8>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
73 "nnoremap <F3> :GundoToggle<CR> " Show the undo tree w/ <F3>
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
74 "nnoremap ; :
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
75 "autocmd BufRead,BufNewfile ~/notes/* set filetype=markdown " All files in ~/notes are Markdown
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
76 "au BufWinLeave *.html,*.css mkview
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
77 "au BufWinEnter *.html,*.css silent loadview
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
78 "au FileType mail set tw=65 " Thin width when writing mail in mutt
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
79 "au FocusLost * :wa " Saves file when vim loses focus
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
80 "if has('statusline') " Status line with git repo info
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
81 " set statusline=%<%f\
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
82 " set statusline+=%w%h%m%r
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
83 " set statusline+=%{fugitive#statusline()}
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
84 " set statusline+=\ [%{&ff}/%Y]
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
85 " set statusline+=\ [%{getcwd()}]
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
86 " set statusline+=%=%-14.(Line:\ %l\ of\ %L\ [%p%%]\ -\ Col:\ %c%V%)
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
87 "endif
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
88
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
89 " When started as "evim", evim.vim will already have done these settings.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
90 "if v:progname =~? "evim"
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
91 " finish
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
92 "endif
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
93
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
94 " For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
95 " let &guioptions = substitute(&guioptions, "t", "", "g")
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
96
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
97 " Don't use Ex mode, use Q for formatting
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
98 "map Q gq
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
99
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
100 " This is an alternative that also works in block mode, but the deleted
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
101 " text is lost and it only works for putting the current register.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
102 "vnoremap p "_dp
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
103
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
104 " Switch syntax highlighting on, when the terminal has colors
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
105 " Also switch on highlighting the last used search pattern.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
106 "if &t_Co > 2 || has("gui_running")
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
107 " syntax on
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 "endif
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
110
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
111 " Only do this part when compiled with support for autocommands.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
112 "if has("autocmd")
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
113
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
114 " Enable file type detection.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
115 " Use the default filetype settings, so that mail gets 'tw' set to 72,
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
116 " 'cindent' is on in C files, etc.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
117 " Also load indent files, to automatically do language-dependent indenting.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
118 " filetype plugin indent on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
119
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
120 " Put these in an autocmd group, so that we can delete them easily.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
121 " augroup vimrcEx
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
122 " au!
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
123
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
124 " For all text files set 'textwidth' to 78 characters.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
125 " autocmd FileType text setlocal textwidth=78
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
126
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
127 " When editing a file, always jump to the last known cursor position.
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
128 " 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
129 " (happens when dropping a file on gvim).
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
130 " autocmd BufReadPost *
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
131 " \ if line("'\"") > 0 && line("'\"") <= line("$") |
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
132 " \ exe "normal g`\"" |
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
133 " \ endif
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
134
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
135 " augroup END
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
136
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
137 "else
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
138
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
139 " set autoindent " always set autoindenting on
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
140
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
141 "endif " has("autocmd")
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
142
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
143 "set fileformats=dos,unix " set fileformat to DOS by default
9dbf340c7956 Initial commit
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
144