我一直在谷歌上搜索并查看Emacs内置帮助,但是我还没有确定如何在Emacs ansi-term中向上(或向下)滚动。
我正在使用Emacs 23.3.1,在OS X上,在iTerm2中。谢谢!
编辑:我注意到大多数人给我的建议在ansi-term中不起作用,但在eshell中有效。 我已经转到eshell。
我一直在谷歌上搜索并查看Emacs内置帮助,但是我还没有确定如何在Emacs ansi-term中向上(或向下)滚动。
我正在使用Emacs 23.3.1,在OS X上,在iTerm2中。谢谢!
编辑:我注意到大多数人给我的建议在ansi-term中不起作用,但在eshell中有效。 我已经转到eshell。
一般情况下,如果您不需要全屏终端仿真,shell
或者eshell
会是更好的选择。
然而,如果您决定使用 ansi-term
,按下 C-c C-j 进入行模式。这样,您就可以使用常规光标移动键进行移动。按下 C-c C-k 返回字符模式以与终端交互。
或者,您可以使用 C-c C-v 一次向后滚动一个屏幕,并输入文本直到回滚到终端输入点。
查看term-mode
的Emacs文档(其中大部分同样适用于ansi-term
)获取更多信息。
按下Shift+Page Up/Page Down键(在Emacs中,称为S-prior/S-next)可以使用默认绑定。
尽管在此模式下正常的C-h m/C-h b无法查看模式信息和绑定,但您仍然可以使用C-c M-x describe-mode/describe-bindings,或根据您的设置,使用F1键或帮助键而不是C-h键。
首先需要安装evil-mode,然后按下C-z
切换到vim键位绑定。
C-f
、C-b
向上或向下滚动20%
跳转到缓冲区前20%的位置/
、?
、#
、*
在缓冲区中搜索文本。 对于 ansi-term,我在我的 .emacs
文件中有以下设置:
(add-hook 'term-mode-hook
(function
(lambda ()
(define-key term-raw-map [?\C-c prior] 'scroll-down)
(define-key term-raw-map [?\C-c next] 'scroll-up))))
然后我可以使用C-c pgup
和C-c pgdn
来滚动。
我遇到了同样的问题,但是是在使用多个终端(zsh)时。在阅读了@muffinista的回复后(C-v
对我无效),我发现使用Alt-v
可以向上翻一页,之后您可以使用正常的C-p
和C-n
来向上和向下滚动。
这对我有用,但它很大程度上取决于您使用的终端和可能拥有的键绑定。
向上和向下分别是Ctrl-P和Ctrl-V。这里有一个完整的长列表在这里
(require 'ansi-color) (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
- ataylor