2018-08-30 14:39:23 +00:00
|
|
|
set nocompatible
|
|
|
|
syntax on
|
|
|
|
set list
|
|
|
|
set listchars=tab:▸\
|
|
|
|
"set list listchars=tab:>-,trail:.,extends:>
|
|
|
|
|
|
|
|
filetype off
|
|
|
|
filetype plugin indent on
|
|
|
|
|
|
|
|
colorscheme darkblue
|
|
|
|
set background=dark
|
|
|
|
|
|
|
|
set number
|
|
|
|
set relativenumber
|
|
|
|
set mouse=a
|
|
|
|
set ignorecase
|
|
|
|
set incsearch
|
|
|
|
set wildignore=*.o,*.obj,*.bak,*.exe,*.os
|
|
|
|
set textwidth=79
|
|
|
|
set shiftwidth=2
|
|
|
|
set expandtab
|
|
|
|
set softtabstop=2
|
|
|
|
set shiftround
|
|
|
|
set smarttab
|
|
|
|
set tabstop=2
|
|
|
|
set et
|
|
|
|
set autoindent
|
|
|
|
set backspace=indent,eol,start
|
|
|
|
|
|
|
|
|
|
|
|
inoremap <F1> <ESC>
|
|
|
|
nnoremap <F1> <ESC>
|
|
|
|
vnoremap <F1> <ESC>
|
|
|
|
|
|
|
|
nnoremap <F5> :UndotreeToggle<CR>
|
|
|
|
set undodir =~/.vim/undo
|
|
|
|
set undofile
|
|
|
|
"maximum number of changes that can be undone
|
|
|
|
set undolevels=1000000
|
|
|
|
"maximum number lines to save for undo on a buffer reload
|
|
|
|
set undoreload=10000000
|
|
|
|
|
|
|
|
nnoremap <F2> :set invpaste paste?<CR>
|
|
|
|
set pastetoggle=<F2>
|
|
|
|
set showmode
|
|
|
|
|
|
|
|
set showmatch
|
|
|
|
set matchtime=3
|
|
|
|
set hlsearch
|
|
|
|
|
|
|
|
autocmd ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red
|
|
|
|
|
|
|
|
|
|
|
|
" save on focus lost
|
|
|
|
au FocusLost * :wa
|
|
|
|
|
|
|
|
autocmd BufRead *.json set filetype=json
|
|
|
|
au BufNewFile,BufRead *.mustache set syntax=mustache
|
|
|
|
|
|
|
|
cnoremap SudoWrite w !sudo tee > /dev/null %
|
|
|
|
|
|
|
|
" create Backup/tmp/undo dirs
|
|
|
|
set backupdir=~/.vim/backup
|
|
|
|
set directory=~/.vim/tmp
|
|
|
|
|
|
|
|
function! InitBackupDir()
|
|
|
|
let l:parent = $HOME . '/.vim/'
|
|
|
|
let l:backup = l:parent . 'backup/'
|
|
|
|
let l:tmpdir = l:parent . 'tmp/'
|
|
|
|
let l:undodir= l:parent . 'undo/'
|
|
|
|
|
|
|
|
|
|
|
|
if !isdirectory(l:parent)
|
|
|
|
call mkdir(l:parent)
|
|
|
|
endif
|
|
|
|
if !isdirectory(l:backup)
|
|
|
|
call mkdir(l:backup)
|
|
|
|
endif
|
|
|
|
if !isdirectory(l:tmpdir)
|
|
|
|
call mkdir(l:tmpdir)
|
|
|
|
endif
|
|
|
|
if !isdirectory(l:undodir)
|
|
|
|
call mkdir(l:undodir)
|
|
|
|
endif
|
|
|
|
endfunction
|
|
|
|
call InitBackupDir()
|
|
|
|
|
|
|
|
augroup Binary
|
|
|
|
" edit binaries in xxd-output, xxd is part of vim
|
|
|
|
au!
|
|
|
|
au BufReadPre *.bin let &bin=1
|
|
|
|
au BufReadPost *.bin if &bin | %!xxd
|
|
|
|
au BufReadPost *.bin set ft=xxd | endif
|
|
|
|
au BufWritePre *.bin if &bin | %!xxd -r
|
|
|
|
au BufWritePre *.bin endif
|
|
|
|
au BufWritePost *.bin if &bin | %!xxd
|
|
|
|
au BufWritePost *.bin set nomod | endif
|
|
|
|
augroup END
|
2019-09-25 12:07:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
" youcompleteme
|
|
|
|
let g:ycm_collect_identifiers_from_tags_files = 1 " Let YCM read tags from Ctags file
|
|
|
|
let g:ycm_use_ultisnips_completer = 1 " Default 1, just ensure
|
|
|
|
let g:ycm_seed_identifiers_with_syntax = 1 " Completion for programming language's keyword
|
|
|
|
let g:ycm_complete_in_comments = 1 " Completion in comments
|
|
|
|
let g:ycm_complete_in_strings = 1 " Completion in string
|
|
|
|
|
|
|
|
" utilsnips
|
|
|
|
let g:UltiSnipsExpandTrigger = "<c-j>"
|
|
|
|
let g:UltiSnipsJumpForwardTrigger = "<c-j>"
|
|
|
|
let g:UltiSnipsJumpBackwardTrigger = "<c-p>"
|
|
|
|
let g:UltiSnipsListSnippets = "<c-k>" "List possible snippets based on current file
|