-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvimrc
80 lines (66 loc) · 1.53 KB
/
vimrc
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
" Alex Langford <nirvashtzero@gmail.com>
" Inspired by Saleem Abdulrasool <compnerd@compnerd.org>
set nocompatible
filetype off
" Vundle stuff
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" Vim enhancement plugins
Plugin 'VundleVim/Vundle.vim'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'christoomey/vim-tmux-navigator'
Plugin 'rhysd/vim-clang-format'
Plugin 'rust-lang/rust.vim'
Bundle 'sonph/onehalf', {'rtp': 'vim/'}
call vundle#end()
" Filetypes
filetype on
filetype indent on
filetype plugin on
" Nice defaults
syntax on
syntax sync fromstart
set encoding=utf-8
set number
set showcmd
set ruler
set backspace=2
" Leader key
let mapleader=","
" Formatting settings
set tabstop=8
set shiftwidth=2
set softtabstop=2
set expandtab
set smarttab
set autoindent
set textwidth=80
set linebreak
" Copy and paste to/from system clipboard
nnoremap <Leader>Y "*Y
vnoremap <Leader>y "*y
nnoremap <Leader>P "*P
vnoremap <Leader>p "*p
" Formatting
autocmd Filetype c,cpp,objc nnoremap <buffer><Leader>f :ClangFormat<cr>
autocmd FileType c,cpp,objc vnoremap <buffer><Leader>f :ClangFormat<CR>
autocmd Filetype rust nnoremap <buffer><Leader>f :RustFmt<cr>
" Search settings
set incsearch
set hlsearch
set ignorecase
set smartcase
set infercase
" Colorscheme
set t_Co=256
colorscheme onehalfdark
set background=dark
if exists('+termguicolors')
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set termguicolors
endif
" Airline stuff
set laststatus=2
let g:airline_theme="onehalfdark"