" General options set wrap linebreak " break on words not chars set ruler " show the cursor position all the time set showcmd " display incomplete commands set ttimeout " time out for key codes set ttimeoutlen=100 " wait up to 100ms after Esc for special key set display=truncate " show @@@ in the last line if it is truncated set scrolloff=5 " show a few lines around the cursor set relativenumber " relative line numbering set tabstop=4 " 4-space tabs set softtabstop=4 " 4-space tabs set shiftwidth=4 " 4-space shiftwidth set backspace=indent,eol,start " backspace over everything in insert set directory=$HOME/.vim/swapfiles// " common swap directory set fillchars+=vert:\ syntax enable " switch syntax highlighting on, used to be syntax on " Matching and key mappings ":match ErrorMsg '\%>80v.\+' " right-hand drift warning " Automatically finish closing tags augroup html_vue_hbs au! autocmd BufNewFile,BufRead *.php|*.html|*.vue|*.hbs :inoremap / ==gi autocmd BufNewFile,BufRead *.hbs set filetype=handlebars syntax=html augroup END " only do this if autocommands enabled if has("autocmd") " enable file type detection and load indent files filetype plugin indent on augroup vimStartup au! "at startup, jump to last cursor position if valid autocmd BufReadPost * \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit' \ | exe "normal! g`\"" \ | endif augroup END endif if empty(glob('~/.vim/autoload/plug.vim')) silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim autocmd VimEnter * PlugInstall --sync | source $MYVIMRC endif call plug#begin('~/.vim/plugged') Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'} Plug 'rust-lang/rust.vim' call plug#end() " rust.vim let g:rustfmt_autosave = 1 " COC.VIM "let g:coc_global_extensions = ['coc-rust-analyzer', 'coc-prettier'] inoremap \ pumvisible() ? "\" : \ check_back_space() ? "\" : \ coc#refresh() inoremap pumvisible() ? "\" : "\" function! s:check_back_space() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction highlight CocFloating ctermbg=black " Auto-reloading scripts autocmd BufWritePost .aliases !source ~/.aliases