X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=vimrc;h=60a1b1357f35cc3bf3dd647e797587409af37939;hb=7ba8fd37426025138d7d19cfdbdf081d13c3b0c3;hp=d4f3939d40c4de40d8f993c4f44bb6e031ac3417;hpb=17a0e787a304a67188cd10855ae5b2089a7387ec;p=config%2Fdotfiles.git diff --git a/vimrc b/vimrc index d4f3939..60a1b13 100644 --- a/vimrc +++ b/vimrc @@ -49,8 +49,11 @@ set encoding=utf-8 set runtimepath-=~/.vim set runtimepath^=~/.vim,~/.vim/runtime -" Don't store swap files in the same directory as the edited file. -set directory-=. +" Don't store swap files in the same directory as the edited file. But only if +" we have a "safe" writable directory available. +if filewritable('~/.tmp') == 2 || filewritable('~/tmp') == 2 + set directory-=. +endif " But store them in ~/.tmp or ~/tmp (already set by default) if available. set directory^=~/.tmp @@ -117,6 +120,9 @@ endif " existing files. set fileencodings=utf-8,latin1 +" Always use unix line-endings for new files. +set fileformats=unix,dos + " Wrap text after 78 characters. set textwidth=78 @@ -191,7 +197,7 @@ set hidden set background=dark " Use my color scheme if 256 colors are available. -if &t_Co == 256 +if &t_Co == 256 || has('gui_running') colorscheme simon endif @@ -442,6 +448,33 @@ nmap - " (2010-05-16 18:38 CEST) for this idea. nnoremap gb :bnext nnoremap gB :bprevious +if has('eval') + " But when starting again at the first buffer, print a warning which + " reminds me that I've already seen that buffer. + function! s:NextBuffer() + " Are we currently on the last buffer and moving to the first? + let l:last_buffer = 0 + if bufnr('%') == bufnr('$') && bufnr('$') > 1 + let l:last_buffer = 1 + endif + + " Go to the next buffer. + if !l:last_buffer + bnext + + " Go to the first buffer, silent is necessary or the following message + " won't be displayed because it's overwritten by the status message + " displayed when entering a buffer. + else + silent bnext + + echohl WarningMsg + echo 'Starting again at first buffer.' + echohl None + endif + endfunction + nnoremap gb :call NextBuffer() +endif " Fast access to buffers. nnoremap 1 :1buffer