X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=vimrc;h=5141f596c77e83b5e5cfcf74868df93aac3bdb98;hb=625439bcdef9c4bb9ee738e853b61eb4f8441372;hp=c5941692bd497a23e9e04338ce3272c1c8ba0148;hpb=1fbfa10398fe6d78c97b1ab12d7f8ac9ff9ff50f;p=config%2Fdotfiles.git diff --git a/vimrc b/vimrc index c594169..5141f59 100644 --- a/vimrc +++ b/vimrc @@ -105,9 +105,6 @@ if exists('+cryptmethod') set cryptmethod=blowfish endif -" Create new split windows on the right (and not left). -set splitright - " Clear all vimrc-related autocmds. Has to be done here as the vimrc augroup " is used multiple times. Necessary to support reloading the vimrc. if has('autocmd') @@ -236,6 +233,11 @@ endif " (add ! to override)" warning when switching buffers. set hidden +" When splitting vertically put the new window right of the current one. +if has('vertsplit') + set splitright +endif + " DISPLAY SETTINGS @@ -303,7 +305,7 @@ if has('statusline') " If there's more than one buffer return "/" (e.g. "/05") where " is the highest buffer number, otherwise return nothing. Used in " 'statusline' to get an overview of available buffer numbers. - function! StatuslineBufferCount() + function! s:StatuslineBufferCount() let l:bufnr = bufnr('$') if l:bufnr > 1 let l:result = '/' @@ -326,7 +328,7 @@ if has('statusline') " Like %f but use relative filename if it's shorter than the absolute path " (e.g. '../../file' vs. '~/long/path/to/file'). fnamemodify()'s ':.' is " not enough because it doesn't create '../'s. - function! StatuslineRelativeFilename() + function! s:StatuslineRelativeFilename() " Display only filename for help files. if &buftype == 'help' return expand('%:t') @@ -386,7 +388,7 @@ if has('statusline') endfunction " Return current syntax group in brackets or nothing if there's none. - function! StatuslineSyntaxGroup() + function! s:StatuslineSyntaxGroup() let l:group = synIDattr(synID(line('.'), col('.'), 1), 'name') if l:group != '' return '[' . l:group . '] ' @@ -395,22 +397,33 @@ if has('statusline') endif endfunction + " Short function names to make 'statusline' more readable. + function! SBC() + return StatuslineBufferCount() + endfunction + function! SRF() + return StatuslineRelativeFilename() + endfunction + function! SSG() + return StatuslineSyntaxGroup() + endfunction + set statusline= " on the left - set statusline+=%02n " buffer number - set statusline+=%{StatuslineBufferCount()} " highest buffer number + set statusline+=%02n " buffer number + set statusline+=%{SBC()} " highest buffer number set statusline+=: if has('modify_fname') && v:version >= 700 " some functions need 7.0 - set statusline+=%{StatuslineRelativeFilename()} " path to current file - set statusline+=\ " space after path + set statusline+=%{SRF()} " path to current file + set statusline+=\ " space after path else - set statusline+=%f\ " path to current file in buffer + set statusline+=%f\ " path to current file in buffer endif - set statusline+=%h " [help] if buffer is help file - set statusline+=%w " [Preview] if buffer is preview buffer - set statusline+=%m " [+] if buffer was modified, - " [-] if 'modifiable' is off - set statusline+=%r " [RO] if buffer is read only + set statusline+=%h " [help] if buffer is help file + set statusline+=%w " [Preview] if buffer is preview buffer + set statusline+=%m " [+] if buffer was modified, + " [-] if 'modifiable' is off + set statusline+=%r " [RO] if buffer is read only " on the right set statusline+=%= " right align @@ -890,10 +903,10 @@ if has('autocmd') autocmd InsertLeave * set nopaste endif -" Write file when running :mak[e] before 'makeprg' is called. QuickFixCmdPre -" doesn't exist in older Vims. +" Write all files when running :mak[e] before 'makeprg' is called. +" QuickFixCmdPre doesn't exist in older Vims. if exists('##QuickFixCmdPre') - autocmd QuickFixCmdPre * write + autocmd QuickFixCmdPre * wall endif " Don't ignore case while in insert mode, but ignore case in all other modes. @@ -916,9 +929,7 @@ if has('autocmd') return endif - echohl WarningMsg - echo 'Do not edit this file! (Maybe a template file.)' - echohl None + echoerr 'Do not edit this file! (Maybe a template file.)' endfunction autocmd BufRead * call SearchForDoNotEditHeader()