我在 Emacs 上使用 ansi-term 并且需要在那里粘贴一些单词。“粘贴”仅适用于鼠标中键。我知道使用C-x C-j
and ,我们可以在andC-c C-k
之间切换,但是不方便。我更喜欢使用或做这项工作。在线搜索,但解决方案不适用于我的 emacs23。char run
line run
C-y
C-c y
问问题
678 次
1 回答
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 将与 kills 和 yanks 无关。
要使用 Emacs 的 kill ring,请使用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)))
于 2013-02-22T17:01:25.587 回答