From 1d44157241bd1b310c143faa0f269e90757731cc Mon Sep 17 00:00:00 2001 From: Simon Ruderich Date: Wed, 4 Jul 2012 20:48:51 +0200 Subject: [PATCH] vimrc: Show a message when viewing the first buffer again with gb. --- vimrc | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/vimrc b/vimrc index d4f3939..41dd812 100644 --- a/vimrc +++ b/vimrc @@ -442,6 +442,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 -- 2.45.2