summary refs log tree commit diff
path: root/.vimrc
blob: d8b22e7c4b12b7eba311f9b4bc52b86da6570061 (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
set nocompatible

" Backspace past beginning of line in insert mode.
set backspace=indent,eol,start

" Allow switching buffers without saving.
set hidden

" Show cursor position and incomplete commands, always show status line.
set ruler showcmd laststatus=2

" Search incrementally with smart case sensitivity, highlight all matches.
set incsearch ignorecase smartcase hlsearch

" Automatic indentation and adjust with tab and backspace.
set autoindent smartindent smarttab

" Show line numbers, highlight current line and fixed columns.
set number cursorline colorcolumn=80,100,120

" Set window title.
set title

" Shorten messages and disable intro screen
set shortmess=atI

" Disable audible bell.
set visualbell t_vb=

" Show hard tabs and trailing whitespace
set list listchars=tab:»·,trail:·

" Show hard tabs as 4 side, use 2 space indentation rounded to multiples.
set tabstop=4 expandtab shiftwidth=2 shiftround

" Syntax highlighting, filetype indentation rules.
syntax on
filetype plugin indent on

" Show tab-complete suggestions and complete longest substring.
set wildmenu wildmode=list:longest

" Swap , and \ for leader.
noremap \ ,
let mapleader=","

" Clear search results.
nmap <leader>n :nohlsearch<CR>

" Set GUI font and disable GUI features.
set guifont=ProFont:h11 guioptions=c

" Configure gruvbox colorscheme.
set background=dark
let g:gruvbox_termcolors = 16
let g:gruvbox_italic = 0
let g:gruvbox_invert_selection = 0
let g:gruvbox_sign_column = 'dark0'
let g:gruvbox_vert_split = 'dark0'
colorscheme gruvbox