我在Emacs上使用ansi-term,需要在那里粘贴一些单词。 “粘贴”仅适用于鼠标中键。我知道,对于C-x C-j
和C-c C-k
,我们可以在char run
和line run
之间切换,但这样做很不方便。我更喜欢使用C-y
或C-c y
来完成这项工作。在线搜索,但解决方案不适用于我的emacs23。
答案 0 :(得分:2)
这里有两个选项:使用劣质流程或Emacs。
要使用劣质流程(可能是使用readline的流程),只需发送原始C-y
个字符。
(define-key term-raw-map (kbd "C-k") 'term-send-raw)
(define-key term-raw-map (kbd "C-y") 'term-send-raw)
然后C-k
和C-y
直接发送到终端,在那里它们的功能就像在任何其他终端中一样(例如分别杀到行尾和抽搐)。由于下级过程正在接收和解释按键,因此Emacs将与杀戮和猛击无关。
要使用Emacs的杀戮戒指,请使用term-paste
。
(define-key term-raw-map (kbd "C-c C-y") 'term-paste)
就个人而言,我喜欢像常规终端一样处理term-mode
缓冲区,因此我在编辑命令行时通常使用鼠标来复制/粘贴C-k
/ C-y
。
FWIW,我使用multiterm,而我
(with-eval-after-load "multi-term"
(dolist
(bind '(("C-k" . term-send-raw)
("C-y" . term-send-raw)
("C-c C-y" . term-paste)
))
(add-to-list 'term-bind-key-alist bind)))