I use vi-bindings and for me
switch-buffer-last is bound to
source/base-mode.lisp for the source of this command. You could map it to another binding but I am not sure how to make it work with
C-x b Return as you would want without changing the way buffers are sorted.
More than just
switch-buffer-last, I think a good alternative would be to have bindings to switch buffers sorted by recency. They could be ranked depending on how many
switch-buffer actions back they were last shown, and
switch-buffer-recency-backward would switch buffers in that order. Of course the
switch-buffer-recency-* commands should not alter the ranking, else it would be a mess because the rank would change every time we use the commands.
I remember discussing that on IRC with @jmercouris who told me
C-] do exactly that, but I failed to reproduce the expected behavior with that lately, so maybe this has changed (those bindings just switch buffers in the same order as
] for me). My expectations would be that
] cycle through buffers in the order they were first created, and
C-] in the order they were last shown with a command different from