我在Emacs内的Term: line run
模式下运行bash终端。
我经常想要开始一个命令(不是行的开头,包括提示)。
即在下面一行,我想转到s
(不是p
)。
prompt> some command text here
我是否知道这样做的关键捷径是什么?
答案 0 :(得分:2)
C-c C-a (term-bol
)旨在执行此操作。它的工作原理是移动到行的开头,然后跳过提示符,由缓冲区本地term-prompt-regexp
变量定义。
然而,该正则表达式的默认值仅为^
(因此在这种情况下无效);所以你需要自己设置它。该变量的帮助文本中有一些有用的例子。
一些替代选项是:
term-char-mode
(在这种情况下 C-a 有效)。为term-line-mode
复制 C-a 的相同绑定,以便它在两种模式下都做同样的事情:
(define-key term-mode-map (kbd "C-a") 'term-send-raw)
创建一个执行相同操作的新绑定。 e.g:
(define-key term-mode-map (kbd "s-a") (lambda () (interactive) (term-send-raw-string (string 1))))
n.b。使用(string 1)
因为C-a
是ascii值1.请参阅term-send-raw
的定义。