Next: Terminal emulator, Previous: Directory Tracking, Up: Shell
If the variable comint-scroll-to-bottom-on-input
is
non-nil
, insertion and yank commands scroll the selected window
to the bottom before inserting.
If comint-scroll-show-maximum-output
is non-nil
, then
arrival of output when point is at the end tries to place the last line of
text at the bottom line of the window, so as to show as much useful
text as possible. (This mimics the scrolling behavior of many
terminals.) The default is nil
.
By setting comint-move-point-for-output
, you can opt for
having point jump to the end of the buffer whenever output arrives—no
matter where in the buffer point was before. If the value is
this
, point jumps in the selected window. If the value is
all
, point jumps in each window that shows the Comint buffer. If
the value is other
, point jumps in all nonselected windows that
show the current buffer. The default value is nil
, which means
point does not jump to the end.
If you set comint-prompt-read-only
, the prompts in the Comint
buffer are read-only.
The variable comint-input-ignoredups
controls whether successive
identical inputs are stored in the input history. A non-nil
value means to omit an input that is the same as the previous input.
The default is nil
, which means to store each input even if it is
equal to the previous input.
Three variables customize file name completion. The variable
comint-completion-addsuffix
controls whether completion inserts a
space or a slash to indicate a fully completed file or directory name
(non-nil
means do insert a space or slash).
comint-completion-recexact
, if non-nil
, directs <TAB>
to choose the shortest possible completion if the usual Emacs completion
algorithm cannot add even a single character.
comint-completion-autolist
, if non-nil
, says to list all
the possible completions whenever completion is not exact.
Command completion normally considers only executable files.
If you set shell-completion-execonly
to nil
,
it considers nonexecutable files as well.
You can configure the behavior of ‘pushd’. Variables control
whether ‘pushd’ behaves like ‘cd’ if no argument is given
(shell-pushd-tohome
), pop rather than rotate with a numeric
argument (shell-pushd-dextract
), and only add directories to the
directory stack if they are not already on it
(shell-pushd-dunique
). The values you choose should match the
underlying shell, of course.
If you want Shell mode to handle color output from shell commands, you can enable ANSI Color mode. Here is how to do this:
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)