I would rather have a completely different mapping, because:
- , , .
<left> <right>, , l h;
:
nnoremap <expr> <right> (len(filter(range(0, bufnr('$')), 'buflisted(v:val)')) > 1 ? ":bn\<cr>" : "\<right>")
nnoremap <expr> <left> (len(filter(range(0, bufnr('$')), 'buflisted(v:val)')) > 1 ? ":bp\<cr>" : "\<left>")
:
:h :map-<expr>
:h len()
:h filter()
:h range()
:h bufnr()
:h buflisted()