我无法将文本移入Emacs中运行的终端。
这是我的程序:
我从一个缓冲区中杀死了字符串“date”,然后将其拉入另一个缓冲区的终端并点击返回。
终端表现得好像我什么也没输入。它只是返回提示。
我使用的是OS X 10.5.8和Emacs 23.1。我在Aquamacs,Carbon Emacs上试过这个程序,并从中释放 http://emacsformacosx.com/。即使在我的.emacs文件为空的默认配置中,它们都显示出这种奇怪的行为。有什么可能导致这个?
我无法将文本移入Emacs中运行的终端。
这是我的程序:
我从一个缓冲区中杀死了字符串“date”,然后将其拉入另一个缓冲区的终端并点击返回。
终端表现得好像我什么也没输入。它只是返回提示。
我使用的是OS X 10.5.8和Emacs 23.1。我在Aquamacs,Carbon Emacs上试过这个程序,并从中释放 http://emacsformacosx.com/。即使在我的.emacs文件为空的默认配置中,它们都显示出这种奇怪的行为。有什么可能导致这个?
通过“在一个终端”,我认为你的意思是你正在运行Emacs的内置终端模拟器。通常,终端仿真器将大多数密钥传输到shell进程的类型。类型 C-c C-j 在终端缓冲区中将其置于普通Emacs密钥绑定可用的状态。你会看到模式行改变了 (Term: char run)
至 (Term: line run)
。
附录:
在没有离开char模式的情况下,Yanking文本有点棘手;然而,相关的功能是 term-paste
(不 yank
,它只是将文本插入终端缓冲区而不将其发送到下级进程)。 term-paste
会立即将最近的杀戮发送到劣质过程,但不会提供您可能习惯的花式猛拉功能(如 M-ÿ 循环通过先前的杀戮)。你可以跑 term-paste
作为扩展命令: C-c M-x术语粘贴RET。
可能最简单的解决方案就是暂时进入线路模式(C-c C-j)当你有东西粘贴,然后立即回到char模式(C-c C-k)。或者更容易,只是一直保持在线模式。当我的终端登录到Oracle SQL * Plus会话时,我经常这样做。我很少注意到差异,但我得到了各种方便的Emacs功能,比如可以输入 M-P- 循环一个以前输入的长SQL语句。
我会假设你总是可以像这样在线模式开始:
(add-hook 'term-mode-hook 'term-line-mode)
......但它对我不起作用。不知道为什么。
通过“在一个终端”,我认为你的意思是你正在运行Emacs的内置终端模拟器。通常,终端仿真器将大多数密钥传输到shell进程的类型。类型 C-c C-j 在终端缓冲区中将其置于普通Emacs密钥绑定可用的状态。你会看到模式行改变了 (Term: char run)
至 (Term: line run)
。
附录:
在没有离开char模式的情况下,Yanking文本有点棘手;然而,相关的功能是 term-paste
(不 yank
,它只是将文本插入终端缓冲区而不将其发送到下级进程)。 term-paste
会立即将最近的杀戮发送到劣质过程,但不会提供您可能习惯的花式猛拉功能(如 M-ÿ 循环通过先前的杀戮)。你可以跑 term-paste
作为扩展命令: C-c M-x术语粘贴RET。
可能最简单的解决方案就是暂时进入线路模式(C-c C-j)当你有东西粘贴,然后立即回到char模式(C-c C-k)。或者更容易,只是一直保持在线模式。当我的终端登录到Oracle SQL * Plus会话时,我经常这样做。我很少注意到差异,但我得到了各种方便的Emacs功能,比如可以输入 M-P- 循环一个以前输入的长SQL语句。
我会假设你总是可以像这样在线模式开始:
(add-hook 'term-mode-hook 'term-line-mode)
......但它对我不起作用。不知道为什么。
在终端运行的缓冲区中,将终端设置为线路模式 C-c C-j
。要粘贴到您的文本中,请按 S-Insert
(那是Shift-Insert)。如果您之后需要终端返回char模式,那就是 C-c C-k
。
当所有其他方法都失败时,我只需突出显示文本并单击编辑 - >复制,然后右键单击其他emacs缓冲区并单击粘贴。