Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当£时,Emacs在腻子上牢牢锁定;输入_Emacs - Fatal编程技术网

当£时,Emacs在腻子上牢牢锁定;输入

当£时,Emacs在腻子上牢牢锁定;输入,emacs,Emacs,我使用emacs(21.4.1)通过PuTTY(0.60)连接到一个带有英国键盘的CentOS5.3盒子。每当我进入(符号时,emacs都会硬锁,使整个putty窗口无响应,并失去所有更改 编辑: 根据pajato0的建议,我得到以下信息: à (translated from £) runs the command self-insert-command which is an interactive built-in function in `C source code'. w

我使用emacs(21.4.1)通过PuTTY(0.60)连接到一个带有英国键盘的CentOS5.3盒子。每当我进入符号时,emacs都会硬锁,使整个putty窗口无响应,并失去所有更改

编辑:

根据pajato0的建议,我得到以下信息:

à (translated from £) runs the command self-insert-command
    which is an interactive built-in function in `C source code'.
  which is an interactive built-in function in `C source code'.
It is bound to many ordinary text characters.

看来我需要重新绑定钥匙了。如何做到这一点?

您可以尝试另一个ssh客户端,看看它是否是putty特定的。我倾向于跑步

startxwin.sh           # from a MinGW rxvt terminal
之后会弹出一个xterm,我在其中

ssh -X some.unix.box   # from the new xterm

之后,我启动了一个选项卡式终端仿真器,在这个仿真器中,我“永远”保持几个会话。而且我的美国键盘没有磅符号,因此我无法测试您的问题…

我将查看putty正在执行的字符集翻译(设置中的窗口->翻译)。可能是为英镑符号发送的字符代码(没有英国键盘…)以某种方式锁定了终端,或者是为响应按键而返回的字符导致了一些类似的行为(例如,等待代码点的完成)


您可能希望将所有内容都设置为UTF-8(linux端的字符集/区域设置,以及Putty翻译),以尽量减少混淆的机会…

要确定Emacs在您的场景中扮演什么角色(如果有的话),我建议您尝试C-h k#where#是您的磅键。如果它挂起,那么Emacs根本就得不到密钥,很可能是Putty/Windows问题。如果Emacs告诉您函数绑定,那么您有希望通过更改键绑定来修复它。我最好的猜测是,Putty正在捕获钥匙并将其发送到Windows,而Windows正在扔球

在回答您的问题“如何重新绑定密钥”:使用
定义密钥
功能,例如

(define-key global-map [S-Home] 'beginning-of-buffer)
困难的部分是找出如何表示密钥,然后选择合适的函数。例如,您可以执行以下操作:

(defun make-euro ()
  "Euro")

(define-key global-map # 'make-euro)

但我也建议您提交一个bug,因为如果试图自行插入您的#键导致Emacs挂起,那么显然应该修复Emacs破损。

Ã运行命令self insert命令,这是
C源代码”中的一个交互式内置函数。在
C源代码中,哪一个是交互式内置函数?那么,C-hk是否有效?Centos端的区域设置是什么?(echo$LANG$LC_ALL)。
en_US.UTF-8
——尽管问题似乎已经“自行解决”。我在putty中将
Window>Translation>Charset
更改为
UTF-8
,重新连接,此后再也没有看到该问题。所以,emacs没有锁定,putty是!看起来很像下面的答案之一:-)出于某种原因,我对“@”符号也有类似的问题,我不知道为什么,但当我通过linux终端ssh时(我以前使用putty),我能够毫无问题地输入“@”符号。这不是一个解决方案,但在我匆忙时帮了我一把:/