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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
" Compatibility
set nocompatible
" Plugins
silent! call pathogen#infect()
silent! call pathogen#helptags()
" Filetypes
if has("autocmd")
filetype on
filetype indent on
filetype plugin on
endif
" Backups
set nobackup
if has("writebackup")
set nowritebackup
endif
" Colors
if has("syntax")
syntax enable
silent! colorscheme sahara
if has("folding")
set fillchars=diff:\ ,fold:\ ,vert:\
endif
endif
" Commands
if has("cmdline_info")
set ruler
set showcmd
set showmode
endif
" Encoding
set fileformats=unix,dos,mac
if has("multi_byte")
set encoding=utf-8
endif
" Formatting
set expandtab
set nojoinspaces
set shiftround
set shiftwidth=4
set softtabstop=4
set tabstop=4
" History
set history=1000
" List
set nolist
nnoremap <leader>l :set list!<CR>
" Matching
silent! runtime macros/matchit.vim
" Miscellaneous
set backspace=indent,eol,start
set modelines=0
set shortmess+=I
" Numbers
set nonumber
nnoremap <leader>n :set number!<CR>
" Paste
set nopaste
nnoremap <leader>p :set paste!<CR>
" Scrolling
set sidescroll=1
" Search
if has("extra_search")
set hlsearch
set incsearch
nnoremap <leader>h :set hlsearch!<CR>
nnoremap <leader>i :set incsearch!<CR>
nnoremap <C-l> :nohlsearch<CR><C-l>
if has("autocmd")
augroup vimrc
autocmd!
silent! autocmd InsertEnter * setlocal nohlsearch
silent! autocmd InsertLeave * setlocal hlsearch
augroup END
endif
endif
" Spelling
if has("spell")
set spelllang=en_nz
nnoremap <leader>s :set spell!<CR>
endif
" Swaps
set noswapfile
" Terminal
set noesckeys
set ttyfast
set visualbell t_vb=
" Typos
command! -bang -nargs=? E e<bang> <args>
command! -bang -nargs=? W w<bang> <args>
command! -bang Q q<bang>
command! -bang QA qa<bang>
command! -bang Qa qa<bang>
command! -bang Wa wa<bang>
command! -bang WA wa<bang>
command! -bang Wq wq<bang>
command! -bang WQ wq<bang>
" Unmaps
noremap <F1> <nop>
nnoremap K <nop>
" Wildmenu
if has("wildmenu")
set wildignore+=*.a,*.o
set wildignore+=*.bmp,*.gif,*.ico,*.jpg,*.png
set wildignore+=.DS_Store,.git,.hg,.svn
set wildignore+=*~,*.swp,*.tmp
set wildmenu
set wildmode=longest,list
endif
" Windows
if has("windows")
set laststatus=1
set splitbelow
if has("vertsplit")
set splitright
endif
silent! set showtabline=1
endif
" Wrapping
set nowrap
nnoremap j gj
nnoremap k gk
nnoremap <leader>w :set wrap!<CR>
if has("linebreak")
set linebreak
set showbreak=...
endif
" Yanking
nnoremap Y y$
" Visual
if has("virtualedit")
set virtualedit+=block
endif
|