" " Simple vim config for servers " " curl https://vimrc.esdf.dev/ > ~/.vimrc " " -or- " " wget -O ~/.vimrc https://vimrc.esdf.dev/ " if has('vim_starting') scriptencoding utf-8 set encoding=utf-8 endif syntax on filetype plugin indent on set background=dark colorscheme peachpuff highlight ColorColumn ctermbg=235 guibg=#242629 set timeoutlen=500 set updatetime=100 set colorcolumn=80 set completeopt=menuone try set completeopt+=noinsert catch endtry set concealcursor=nc set hidden set hlsearch set incsearch set laststatus=2 set lazyredraw set modeline set modelines=5 set mouse=a set mousemodel=extend set nofoldenable set noshowmode set nowrap set showcmd set splitbelow set splitright set wildmenu set shortmess+=c if !has('nvim') set t_Co=256 set ttyfast if &term =~ '^screen' set ttymouse=xterm2 endif endif " Spacing and Tabs {{{1 set autoindent set backspace=2 set expandtab set shiftwidth=2 set softtabstop=2 set tabstop=2 " Backup and Undo set backup let s:backup_dir = expand('~/.cache/vim_tmp') if !isdirectory(s:backup_dir) call mkdir(s:backup_dir, 'p', 0700) endif let s:backup_dir .= '//' " Store backups in a full path exec 'set backupdir=' . s:backup_dir . ' directory=' . s:backup_dir set backupskip=/tmp/*,/private/tmp/* set writebackup set history=10000 set viminfo='100,<50 set undofile let s:undo_dir = expand('~/.cache/vim_undo') if !isdirectory(s:undo_dir) call mkdir(s:undo_dir, 'p', 0700) endif exec 'set undodir=' . s:undo_dir augroup vimrc_annoying autocmd! autocmd VimEnter * set visualbell t_vb= autocmd GUIEnter * set visualbell t_vb= augroup END " jk is escape, THEN move to the right to preserve the cursor position, unless " at the first column. will continue to work the default way. inoremap jk col('.') == 1 ? '' : 'l' imap JK jk imap Jk jk imap jK jk " Highlight last inserted text nnoremap gV `[v`] let mapleader="," nnoremap ,, , " Some commands should just do what I want, even in visual mode. cnoremap w getcmdtype() == ':' && mode() =~? 'v' && getcmdline() ==# "'<,'>" ? "\w" : 'w' cnoremap q getcmdtype() == ':' && getcmdline() ==# "'<,'>" ? "\q" : 'q' " Toggle search highlight nnoremap :let v:hlsearch=!v:hlsearch let g:netrw_banner = 0 nnoremap - &filetype ==# 'netrw' ? '-' : ":Explore\" let &titlestring = 'vim:%t' set titleold= set title nnoremap h nnoremap j nnoremap k nnoremap l let &t_ts = "\]0" let &t_fs = "\x7"