在ansma-term上粘贴一个单词在Emacs上

时间:2013-02-21 23:11:55

标签: emacs ansi-term

我在Emacs上使用ansi-term,需要在那里粘贴一些单词。 “粘贴”仅适用于鼠标中键。我知道,对于C-x C-jC-c C-k,我们可以在char runline run之间切换,但这样做很不方便。我更喜欢使用C-yC-c y来完成这项工作。在线搜索,但解决方案不适用于我的emacs23。

1 个答案:

答案 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-kC-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)))