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 nnoremap vnoremap nnoremap :UndotreeToggle 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 :set invpaste paste? set pastetoggle= 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 " 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 = "" let g:UltiSnipsJumpForwardTrigger = "" let g:UltiSnipsJumpBackwardTrigger = "" let g:UltiSnipsListSnippets = "" "List possible snippets based on current file