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

" Filetypes
if has("autocmd")
    filetype on
    filetype plugin on
    filetype indent on
endif

" Backups
set nobackup
set nowritebackup

" Buffers
set hidden

" Colors
if has("syntax")
    syntax enable
    try
        colorscheme dessert
    catch
    endtry
endif

" Commands
if has("cmdline_info")
    set ruler
    set showcmd
endif

" Completion
if has("wildmenu")
    set wildignore+=*.a,*.o
    set wildignore+=*.bmp,*.gif,*.ico,*.jpg,*.png
    set wildignore+=.DS_Store,.git,.hg,.svn
    set wildignore+=*~,*.sw,*.tmp
    set wildmenu
    set wildmode=longest,list
endif

" Encoding
set fileformats=unix,dos,mac
if has("multi_byte")
    set encoding=utf-8
endif

" Formatting
set expandtab
set formatoptions+=coqnr1
set nojoinspaces
set shiftround
set shiftwidth=4
set softtabstop=4
set tabstop=4
set textwidth=78

" History
set history=100

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

" Macros
set lazyredraw

" Numbering
set number

" Miscellaneous
set backspace=indent,eol,start
set modelines=0
set shortmess+=I
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

" Status
set laststatus=2

" Swaps
set noswapfile

" Typos
command W w
command Wq wq
command WQ wq
command Q q
command QA qa
command Qa qa

" Windows
if has("windows")
    set showtabline=2
    set splitbelow
    if has("vertsplit")
        set fillchars=
        set splitright
    endif
    au VimResized * exe "normal! \<C-w>="
endif

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

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