+@var{bufname}. You can use completion to enter the buffer
+name (@pxref{Completion}). An empty argument to @kbd{C-x b}
+specifies the buffer that was current most recently among those not
+now displayed in any window.
+
+@kindex C-x @key{LEFT}
+@kindex C-x @key{RIGHT}
+@findex next-buffer
+@findex previous-buffer
+ For conveniently switching between a few buffers, use the commands
+@kbd{C-x @key{LEFT}} and @kbd{C-x @key{RIGHT}}. @kbd{C-x @key{RIGHT}}
+(@code{previous-buffer}) selects the previous buffer (following the order
+of most recent selection in the current frame), while @kbd{C-x @key{LEFT}}
+(@code{next-buffer}) moves through buffers in the reverse direction.
+
+@kindex C-x 4 b
+@findex switch-to-buffer-other-window
+@vindex even-window-heights
+ To select a buffer in a window other than the current one, type
+@kbd{C-x 4 b @var{bufname} @key{RET}}. This runs the command
+@code{switch-to-buffer-other-window} which displays the buffer
+@var{bufname} in another window. By default, if displaying the buffer
+causes two vertically adjacent windows to be displayed, the heights of
+those windows are evened out; to countermand that and preserve the
+window configuration, set the variable @code{even-window-heights} to
+@code{nil}.
+
+@kindex C-x 5 b
+@findex switch-to-buffer-other-frame
+ Similarly, @kbd{C-x 5 b @var{buffer} @key{RET}} runs the command
+@code{switch-to-buffer-other-frame} which selects a buffer in another
+frame.
+
+@vindex display-buffer-reuse-frames
+ You can control how certain buffers are handled by these commands by
+customizing the variables @code{special-display-buffer-names},
+@code{special-display-regexps}, @code{same-window-buffer-names}, and
+@code{same-window-regexps}. See @ref{Force Same Window}, and
+@ref{Special Buffer Frames}, for more about these variables. In
+addition, if the value of @code{display-buffer-reuse-frames} is
+non-@code{nil}, and the buffer you want to switch to is already
+displayed in some frame, Emacs will just raise that frame.