2012-01-04 37 views
8

当使用多项术语在emacs中运行终端时,我希望能够将命令粘贴到多术语窗口中,然后运行它。目前,当我这样做时,粘贴的项目确实出现在多项输入窗口中,但是,如果我按下回车键,命令将被忽略。它也没有出现在终端的历史中。例如,我在粘贴在Emacs中,如何粘贴到多项术语

回声“你好”

它看起来像它的工作 - 我看到下面的提示文字。但是当我输入它不会执行。我使用的是多期:http://www.emacswiki.org/emacs/MultiTerm

回答

11

默认功能yank因为猛拉不是«真正»插不multi-term以上 工作精确地term-mode。 要粘贴,您必须使用功能term-paste,该功能默认绑定到 S插入。当然,可以绑定赛扬 使用它在term-mode

(add-hook 'term-mode-hook (lambda() 
          (define-key term-raw-map (kbd "C-y") 'term-paste))) 
+0

我说这对我的.emacs,但没有喜悦。 – ebeland 2012-01-14 14:45:36

+0

@ebeland:我用'-q'试过了它,它可以工作,因此配置中必然会出现问题。试试看:'emacs -q'然后切换到'* scratch *'缓冲区并粘贴(或写入)前面的代码片段并对其进行评估(使用'Cx Ce'或'Mx eval-buffer RET'),然后加载' multi-term.el'并用'Mx multi-term'开始一个新术语。 – Daimrod 2012-01-14 15:23:09

+0

当我进来时,我会在星期一给它一个镜头。感谢您的帮助! – ebeland 2012-01-14 15:29:14

5

在术语模式(其多术语使用)有两个输入模式:

  • 线模式
  • 字符模式

您可以切换到行模式抄送C-Ĵ然后 猛拉文本,切换回炭模式C-CC-K 和运行命令。我认为char-mode可以像你期望的终端输入一样工作的输入模式 。例如,如果您在命令行上键入 ,并用C-x,然后 C-y将其剪下,则会粘贴您从命令行剪下的内容。我认为行模式的 作为您希望从emacs中的文本 缓冲区中获得的输入模式。

有关两种输入方式的细节检查 this page