1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
"
" register pathogen
"
runtime bundle/pathogen/autoload/pathogen.vim
call pathogen#infect()
call pathogen#helptags()
"
" behavior
"
set nocompatible " use vim, not vi settings
set wildmenu " command line tab completion menu
set wildignore=*.pyc,.git " ignore from autocomplete
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set incsearch " do incremental searching
set ignorecase " ignore case in search
set smartcase " respect case in search if uppercase is used
set nowrap " do not wrap lines
set backspace=indent,eol,start " backspace over all stuff
set cursorcolumn " highlight the current column
set cursorline " highlight the current line
set vb t_vb= " no beeping
set laststatus=2 " always show the status line
"
" formatting
"
set autoindent
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set smarttab
set shiftround
set listchars=tab:»·,trail:·
set list
"
" filetype-specific
"
if has("autocmd")
filetype plugin indent on
au!
au FileType text setlocal tw=80 ts=2 sw=2 sts=2
au FileType markdown setlocal tw=80 ts=2 sw=2 sts=2
au FileType html setlocal ts=2 sw=2 sts=2
au FileType xhtml setlocal ts=2 sw=2 sts=2
au FileType ruby setlocal ts=2 sw=2 sts=2
au FileType eruby setlocal ts=2 sw=2 sts=2
au FileType htmldjango setlocal ts=2 sw=2 sts=2
au FileType coffee setlocal ts=2 sw=2 sts=2
" text files
au BufRead,BufNewFile *.txt setlocal filetype=text
" markdown
au BufRead,BufNewFile *.md setlocal filetype=markdown
" html templates
au BufRead,BufNewFile *.mako setlocal filetype=html
au BufRead,BufNewFile *.ftl setlocal filetype=html
au BufRead,BufNewFile *.handlebars setlocal filetype=html ts=4 sts=4 sw=4
" css templates
au BufRead,BufNewFile *.less setlocal filetype=css
" zsh configs and scripts
au BufRead,BufNewFile *.zsh-overrides setlocal filetype=zsh
au BufRead,BufNewFile *.zsh setlocal filetype=zsh
" ruby files
au BufRead,BufNewFile *.cap setlocal filetype=ruby
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
au BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
endif
"
" bindings
"
let mapleader = ","
" convenience
nnoremap <leader>x :source ~/.vimrc<Enter>
nnoremap <leader><leader> <c-^>
nnoremap <c-j> <c-w>j
nnoremap <c-k> <c-w>k
nnoremap <c-h> <c-w>h
nnoremap <c-l> <c-w>l
inoremap jk <Esc>
inoremap kj <Esc>
" NERDTree
nnoremap <C-e> :NERDTreeToggle<Enter>
nnoremap <leader>e :NERDTreeToggle<Enter>
let NERDTreeMapActivateNode='<Space>'
" bufexplore
nnoremap <leader>fe :BufExplorer<Enter>
nnoremap <leader>fs :BufExplorerHorizontalSplit<Enter>
nnoremap <leader>fv :BufExplorerVerticalSplit<Enter>
" ctrlp
let g:ctrlp_map ='<leader>a'
" solarized
nnoremap <leader>vl :let g:solarized_visibility="low" | colo solarized<Enter>
nnoremap <leader>vh :let g:solarized_visibility="high" | colo solarized<Enter>
"
" visual
"
let g:solarized_visibility="high" "trailing characters very visible
let g:solarized_menu=0 "don't show the gui menu
set synmaxcol=500
syntax on
set background=light
colo solarized
set hlsearch
highlight clear SignColumn " don't mess up gutter highlight with gitgutter
"
" local additions
"
if filereadable($HOME."/.vimrc-local")
source ~/.vimrc-local
endif
|