aboutsummaryrefslogtreecommitdiff
path: root/vim/vimrc
blob: 8377910ba59c68ce0b87a9f6242a1986d2341079 (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
" 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

" Buffers
set hidden

" 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 formatoptions=croqn1
set nojoinspaces
set shiftround
set shiftwidth=4
set softtabstop=4
set tabstop=4
set textwidth=80

" History
set history=1000

" Leaders
nnoremap <leader>h :set hlsearch!<CR>
nnoremap <leader>i :set incsearch!<CR>
nnoremap <leader>l :set list!<CR>
nnoremap <leader>n :set number!<CR>
nnoremap <leader>p :set paste!<CR>
nnoremap <leader>r :set relativenumber!<CR>
nnoremap <leader>s :set spell!<CR>
nnoremap <leader>w :set wrap!<CR>

" Lines
nnoremap j gj
nnoremap k gk

" Miscellaneous
set backspace=indent,eol,start
set modelines=0
set shortmess+=I
set ttyfast
set visualbell t_vb=

" Scrolling
set sidescroll=1

" Search
set hlsearch
set incsearch
nnoremap <silent> <C-l> :nohlsearch<CR><C-l>

" Spelling
if has("spell")
    set spelllang=en_nz
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 showtabline=1
    set splitbelow
    if has("vertsplit")
        set fillchars=""
        set splitright
    endif
endif

" Wrapping
set nowrap
if has("linebreak")
    set linebreak
    set showbreak=...
endif

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