" Initialize plugin system " Installs automagically 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', {'branch': 'release'} Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } Plug 'junegunn/fzf.vim' Plug 'jpalardy/vim-slime', {'branch': 'main'} "Plug 'vim-airline/vim-airline' "Plug 'preservim/nerdtree' call plug#end() source ~/.vim/.cocrc " nerdtree " " nnoremap t :NERDTree " fzf nnoremap :Files nnoremap f :Ag nnoremap b :Buffers nnoremap h :History " vim-slime let g:slime_target = "tmux" let g:slime_default_config = {"socket_name": "default", "target_pane": "1"} " " Begin general vim config " Adapted from https://github.com/JeffreyWay/vimfiles/blob/master/vimrc " " Auto complete current file path to edit, tabe or split map ,e :e =expand("%:p:h") . "/" map ,t :tabe =expand("%:p:h") . "/" map ,s :split =expand("%:p:h") . "/" set nocompatible " Disable vi-compatibility set showmode " always show what mode we're currently editing in set nowrap " don't wrap lines set tabstop=4 " a tab is four spaces set smarttab set tags=tags set softtabstop=2 " when hitting , pretend like a tab is removed, even if spaces set expandtab " expand tabs by default (overloadable per file type later) set shiftwidth=4 " number of spaces to use for autoindenting set shiftround " use multiple of shiftwidth when indenting with '<' and '>' set backspace=indent,eol,start " allow backspacing over everything in insert mode "set number " always show line numbers set ignorecase " ignore case when searching set smartcase " ignore case if search pattern is all lowercase, set timeout timeoutlen=200 ttimeoutlen=100 set visualbell " don't beep set noerrorbells " don't beep "set autowrite "Save on buffer switch set foldmethod=indent