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

" Always show one extra line at the top or bottom of the window.
set scrolloff=1

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

" Prevent delay when returning to norml mode in terminal vim.
set ttimeoutlen=0

" 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

execute pathogen#infect()