function! buf_utils#GoToBuffer(count, direction) abort if a:count == 0 if a:direction ==# 'forward' bnext elseif a:direction ==# 'backward' bprevious else echoerr 'Bad argument ' a:direction endif return endif "Check validity of buffer number if index(s:GetBufNums(), a:count) == -1 call v:lua.vim.notify('Invalid bufnr: ' . a:count, 4, {'tile': 'nvim-config'}) return endif " Do not use {count} for gB (it is less useful) if a:direction ==# 'forward' silent execute('buffer', a:count) endif endfunction function! s:GetBufNums() abort return map(copy(getbufinfo({'buflisted':1})), 'v:val.bufnr') endfunction