aboutsummaryrefslogtreecommitdiff
path: root/.vimrc
blob: 978e919e4f699b01094d64cd8f5c39be0bda319d (plain)
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
" General Config

set nocompatible
set number 
set backspace=indent,eol,start
syntax enable
set encoding=utf-8
set fileencodings=ucs=bom,utf-8,utf-16,gbk,big5,gb18030,latin1
set showcmd
set autoread
set mouse=a
filetype on
filetype indent on
filetype plugin on
set modeline
set textwidth=72
set formatoptions+=mB
set formatoptions-=tc
set secure
set exrc
set noerrorbells

" use for populating filename in quickfix
set errorformat+=%f

" Use python3 first
if has('python3')
elseif has('python')
endif

" GUI

set guioptions-=m
set guioptions-=T
set guioptions-=r
set guioptions+=c
set guifont=DejaVu\ Sans\ Mono\ 12
if has('macunix')
    set guifont=Monaco:h16
endif

set nofoldenable

set hidden

set completeopt=menu,menuone,popup,noinsert,noselect
set completepopup=align:menu,border:off,highlight:WildMenu
set shortmess+=c
set belloff+=ctrlg

" diff
set diffopt+=followwrap,algorithm:patience

" undo
if !isdirectory(expand('~/.vim/.undo'))
    silent! call mkdir(expand('~/.vim/.undo', 'p'))
endif
set undodir=~/.vim/.undo//
set undofile

" set Vim-specific sequences for RGB colors
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set t_Co=256

if has("termguicolors")
    set termguicolors
endif

" Correct background rendering in some terminal
let &t_ut=''

" Identation

set autoindent
set tabstop=4
set shiftwidth=4
set expandtab
set softtabstop=4

set wrap
"set nowrap
"set wrapmargin=4
set scrolloff=5
"set sidescrolloff=5
" always show statline
set laststatus=2
set ruler

set hlsearch
set incsearch
set ignorecase
set smartcase

" Completion

set path+=**
set wildmenu
set wildignorecase
set wildmode=list:longest,full
set wildignore=*.o,*.obj,*~
set wildignore+=*DS_Store*
set wildignore+=*.gem
set wildignore+=*.png,*.jpg,*.gif
set wildignore+=**/.git/**
set wildignore+=**/node_modules/**

" change default directory
let s:vim_swapfiles_dir = expand('~/.vim/.swp/')
if !isdirectory(s:vim_swapfiles_dir)
    silent! call mkdir(s:vim_swapfiles_dir, 'p')
endif
set directory=~/.vim/.swp//

" tags
set tags=./.tags;,.tags

" mapping
let mapleader=',' " change the key <leader>
nnoremap <leader>cd :cd %:p:h<CR> :pwd<CR>
nnoremap <c-g><c-g> <Esc>
cnoremap <C-G> <C-C>

highlight Pmenu ctermbg=grey

packadd! onedark.vim
silent colorscheme onedark

packadd matchit

if !empty(glob('~/.vim_local'))
    source ~/.vim_local
endif