""" VIM SETTINGS """ " From https://www.hillelwayne.com/post/intermediate-vim/ set encoding=utf-8 set title set number set ruler set wrap set scrolloff=10 set ignorecase set smartcase if has('nvim') set inccommand=nosplit " Shows you in realtime what changes your ex command should make. endif set incsearch set hlsearch set tabstop=4 set shiftwidth=4 set expandtab set visualbell set noerrorbells set backspace=indent,eol,start set hidden set updatetime=250 set lazyredraw " Do not redraw screen in the middle of a macro. Makes them complete faster. set cursorcolumn set splitbelow " Turn off relativenumber only for insert mode. if has('nvim') augroup every autocmd! au InsertEnter * set norelativenumber au InsertLeave * set relativenumber augroup END endif syntax enable " From http://stackoverflow.com/a/5004785/2766106 set list set listchars=tab:╾╌,trail:·,extends:↦,precedes:↤,nbsp:_ set showbreak=↪ filetype on filetype plugin on filetype indent on set wildmode=longest,list set showcmd " Put plugins and dictionaries in this dir (also on Windows) let vimDir = '$HOME/.cache/vim' let &runtimepath.=','.vimDir " theme source $HOME/.cache/vim/colorscheme.vim " Keep undo history across sessions by storing it in a file if has('persistent_undo') let myUndoDir = expand(vimDir . '/undodir') " Create dirs call system('mkdir ' . vimDir) call system('mkdir ' . myUndoDir) let &undodir = myUndoDir set undofile endif " Allow saving of files as sudo when I forgot to start vim using sudo. " From https://stackoverflow.com/a/7078429 cmap w!! w !sudo tee > /dev/null % imap jk vmap nmap o nmap :bp nmap :bn if has('nvim') " nmap 20k " nmap 20j noremap :call smooth_scroll#up(20, 5, 1) noremap :call smooth_scroll#down(20, 5, 1) else nmap kkkkkkkkkkkkkkkkkkkkk nmap jjjjjjjjjjjjjjjjjjjjj endif