hek*_*ran 11 emacs carbon-emacs
我无法将文本移入Emacs中运行的终端.
这是我的程序:
我从一个缓冲区中杀死了字符串"date",并将其拉入另一个缓冲区的终端并点击返回.
终端表现得好像我没有输入任何东西.它只是返回提示.
我使用的是OS X 10.5.8和Emacs 23.1.我在Aquamacs,Carbon Emacs和http://emacsformacosx.com/上发布了这个程序.即使在我的.emacs文件为空的默认配置中,它们都显示出这种奇怪的行为.什么可能导致这个?
Sea*_*ean 15
通过"在终端"我假设你的意思是你正在运行Emacs的内置终端模拟器.通常,终端仿真器将大多数密钥传输到shell进程的类型.键入C-c C-j终端缓冲区,使其进入普通Emacs密钥绑定可用的状态.您将看到模式行从更改(Term: char run)
为(Term: line run)
.
附录:
不离开字符模式的Yanking文本有点棘手; 但是,相关功能term-paste
(不是yank
,它只是将文本插入终端缓冲区而不将其发送到下级进程). term-paste
将立即将最近的杀戮发送到下级进程,但不提供你可能习惯的花哨的猛进功能(比如M-y循环先前的杀戮).你可以term-paste
作为扩展命令运行:C-c M-x term-paste 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)
Run Code Online (Sandbox Code Playgroud)
......但它对我不起作用.不知道为什么.