X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/ec9f2140efb69f3f9e95b8b2fa3681e3ff07e38b..6cd24ad14f105d08d4519c25c652c03bbcc7a653:/etc/vim/.vimrc diff --git a/etc/vim/.vimrc b/etc/vim/.vimrc index 04521a6..b59d19e 100644 --- a/etc/vim/.vimrc +++ b/etc/vim/.vimrc @@ -48,6 +48,7 @@ endif unlet x unlet y + """ vim-only defaults if !has('nvim') " neovim defaults are already set @@ -57,15 +58,16 @@ if !has('nvim') autocmd! vimStartup " packages - packadd! matchit - packadd! editorconfig " this is now built to [n]vim in but optional - packadd! vim-commentary " nvim has built in commenting now + packadd! matchit " included with [n]vim but disabled by default + packadd! editorconfig " now included with [n]vim but disabled by default + packadd! vim-commentary " nvim has this built in now, vim still needs it " options set hlsearch autocmd BufRead * set autoindent endif + """ styling " nice default theme colorscheme murphy @@ -113,12 +115,13 @@ autocmd VimEnter,WinNew, autocmd VimEnter,WinNew * set list set listchars=tab:├─,extends:»,precedes:«,space:·,trail:∙,nbsp:■ + """ editor " always save undo file for all file buffers -autocmd BufRead * set undofile +autocmd BufReadPre * setlocal undofile " explicitly use modeline, even on systems where it's disabled by system vimrc -autocmd BufRead set modeline +autocmd BufRead * set modeline " should be default disabled but just in case set nomodelineexpr @@ -134,7 +137,7 @@ autocmd FileType html set softtabstop=2 shiftwidth=2 expandtab let g:EditorConfig_enable_for_new_buf = 1 "" syntax -autocmd FileType todo set colorcolumn=0 +autocmd Syntax php syn clear phpHereDoc phpNowDoc "" mappings " use more accessible escapes, as C-n and C-o are shadowed by some terminals @@ -170,3 +173,35 @@ nnoremap l if !has('nvim') && maparg('', 'n') ==# '' nnoremap :nohlsearch=has('diff')?'diffupdate':'' endif + + +""" package config +"" suda +" https://github.com/lambdalisue/vim-suda/issues/32#issuecomment-829608925 +if ! &diff + let g:suda_smart_edit = 1 +endif +" re-enable backup, swap, undo for suda buffers that we can read +" https://github.com/lambdalisue/vim-suda/issues/25 +function s:SudaSettingsSave() + let b:sev_suda_backup = &backup + let b:sev_suda_swapfile = &swapfile + let b:sev_suda_undofile = &undofile +endfunction +function s:SudaSettingsRestore() + if filereadable(expand('')[7:]) + if exists('b:sev_suda_backup') && b:sev_suda_backup + " XXX: suda.vim uses setlocal for this, even though it's global... + " https://github.com/lambdalisue/vim-suda/issues/85 + setlocal backup + endif + if exists('b:sev_suda_swapfile') && b:sev_suda_swapfile + setlocal swapfile + endif + if exists('b:sev_suda_undofile') && b:sev_suda_undofile + setlocal undofile + endif + endif +endfunction +autocmd BufReadPre suda://* call s:SudaSettingsSave() +autocmd BufReadPost suda://* call s:SudaSettingsRestore()