aboutsummaryrefslogtreecommitdiff
path: root/.vimrc
blob: 449977194391e65a0354f472d1bbffcf93ba709d (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
" General Config

set nocompatible
set number 
set backspace=indent,eol,start
syntax on
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

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