aboutsummaryrefslogtreecommitdiff
path: root/vim/vimrc
blob: dc03634340e30171fe888c4af99d7dd37f031293 (plain) (blame)
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
" Compatibility
set nocompatible

" 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
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
set textwidth=80

" History
set history=1000

" Miscellaneous
set backspace=indent,eol,start
set modelines=0
set noesckeys
set nolist
set nopaste
set shortmess+=I
set ttyfast
set visualbell t_vb=
nnoremap <leader>l :set list!<CR>
nnoremap <leader>p :set paste!<CR>

" Numbers
set nonumber
nnoremap <leader>n :set number!<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

" Typos
cnoreabbrev E e
cnoreabbrev W w
cnoreabbrev Wq wq
cnoreabbrev WQ wq
cnoreabbrev Q q
cnoreabbrev QA qa
cnoreabbrev Qa qa

" 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 fillchars=""
        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

" Visual
if has("virtualedit")
    set virtualedit+=block
endif