退格键删除后面的字符,而不是前面的字符
Backspace key deletes following character, not preceding character
首先,抱歉我的英语不好..
我已经在 linux mint 上安装了 emacs,并且设置了自己的配置。
一切正常,只是向后键删除了右边的字符,(但它应该删除左边的)。
我怎样才能改变这个关键comportement?
我已经尝试用它来编码,但是很难改变我编码的方式。
我在互联网上看过,但没有找到这个特定问题的答案。
我的后退键就像删除键(我正在 mac air 上工作,所以我没有 del 键,这可能会导致问题?)
谢谢。
这是您的答案:C-h r
(打开 Emacs 手册),然后是 g DEL Does Not Delete
。手册的那个节点恰好说明了这个众所周知的问题。解决方案?将其放入您的初始文件中:
(normal-erase-is-backspace-mode 0)
我是如何找到那个 Emacs 手册节点的?
我用了i
,搜索当前手册的索引。我使用 Icicles,这让我可以使用子字符串匹配来完成(您也可以使用 vanilla Emacs 来完成,但您需要对其进行配置)。
所以我只是做了 i backspace S-TAB
(Icicles 中的S-TAB
执行适当的样式补全;TAB
执行香草 Emacs 补全)。
C-h r i backspace S-TAB
- 这就是您所需要的。
这将打开 Emacs 手册并在索引中查找 backspace
作为索引条目的一部分。所以我看到了这些完成候选(节点名称):
<BACKSPACE> vs <DEL>
<DEL> vs <BACKSPACE>
c-electric-backspace
C-S-backspace
normal-erase-is-backspace
normal-erase-is-backspace-mode
除了 c-electric-backspace
和 C-S-backspace
之外的每个条目实际上都指向同一个节点,DEL Does Not Delete
。 (可以重复使用C-down
依次访问每个候选节点,看看它们是什么。)
即使在普通的 Emacs 中,您也有一种方法可以适当地搜索手册:a
在信息(即在手册中)是命令 info-apropos
.试试看:a backspace RET
.
但是,它会在您安装的 所有 手册中搜索子字符串匹配项。搜索所有已安装的手册需要 相当长的时间。
它(在我的机器上)生成一个信息缓冲区,其中列出了这些搜索结果:
Apropos Index
*************
Index entries that match `backspace':
*Menu:
* BACKSPACE (Info mode) [info]: (info)Help-^L.
* C-S-backspace [emacs]: (emacs)Killing by Lines.
* c-electric-backspace [emacs]: (emacs)Program Modes.
* normal-erase-is-backspace-mode [emacs]: (emacs)DEL Does Not Delete.
* normal-erase-is-backspace [emacs]: (emacs)DEL Does Not Delete.
* <BACKSPACE> vs <DEL> [emacs]: (emacs)DEL Does Not Delete.
* <DEL> vs <BACKSPACE> [emacs]: (emacs)DEL Does Not Delete.
* Backspace key invokes help [efaq]: (efaq)Backspace invokes help.
* Help invoked by Backspace [efaq]: (efaq)Backspace invokes help.
* backspace [elisp]: (elisp)Basic Char Syntax.
* c-electric-backspace [ccmode]: (ccmode)Hungry WS Deletion.
* electric-backspace (c-) [ccmode]: (ccmode)Hungry WS Deletion.
* normal-erase-is-backspace-mode [ccmode]: (ccmode)Hungry WS Deletion.
* backspace-function (c-) [ccmode]: (ccmode)Hungry WS Deletion.
* c-backspace-function [ccmode]: (ccmode)Hungry WS Deletion.
* <backspace> [ccmode]: (ccmode)Hungry WS Deletion.
* C-c <backspace> [ccmode]: (ccmode)Hungry WS Deletion.
* C-c C-<backspace> [ccmode]: (ccmode)Hungry WS Deletion.
只有 (emacs)
的那些在 Emacs 手册中。顺便说一句,您会注意到 Emacs 常见问题解答和 CC 模式手册也记录了您所看到的相同问题 - 这是一个长期存在的陷阱。
可以使用命令 M-x normal-erase-is-backspace-mode
作为直接补救措施。信息取自这里:link;这个文档在之前的回答中有提到。
首先,抱歉我的英语不好..
我已经在 linux mint 上安装了 emacs,并且设置了自己的配置。 一切正常,只是向后键删除了右边的字符,(但它应该删除左边的)。 我怎样才能改变这个关键comportement? 我已经尝试用它来编码,但是很难改变我编码的方式。 我在互联网上看过,但没有找到这个特定问题的答案。
我的后退键就像删除键(我正在 mac air 上工作,所以我没有 del 键,这可能会导致问题?)
谢谢。
这是您的答案:C-h r
(打开 Emacs 手册),然后是 g DEL Does Not Delete
。手册的那个节点恰好说明了这个众所周知的问题。解决方案?将其放入您的初始文件中:
(normal-erase-is-backspace-mode 0)
我是如何找到那个 Emacs 手册节点的?
我用了i
,搜索当前手册的索引。我使用 Icicles,这让我可以使用子字符串匹配来完成(您也可以使用 vanilla Emacs 来完成,但您需要对其进行配置)。
所以我只是做了 i backspace S-TAB
(Icicles 中的S-TAB
执行适当的样式补全;TAB
执行香草 Emacs 补全)。
C-h r i backspace S-TAB
- 这就是您所需要的。
这将打开 Emacs 手册并在索引中查找 backspace
作为索引条目的一部分。所以我看到了这些完成候选(节点名称):
<BACKSPACE> vs <DEL>
<DEL> vs <BACKSPACE>
c-electric-backspace
C-S-backspace
normal-erase-is-backspace
normal-erase-is-backspace-mode
除了 c-electric-backspace
和 C-S-backspace
之外的每个条目实际上都指向同一个节点,DEL Does Not Delete
。 (可以重复使用C-down
依次访问每个候选节点,看看它们是什么。)
即使在普通的 Emacs 中,您也有一种方法可以适当地搜索手册:a
在信息(即在手册中)是命令 info-apropos
.试试看:a backspace RET
.
但是,它会在您安装的 所有 手册中搜索子字符串匹配项。搜索所有已安装的手册需要 相当长的时间。
它(在我的机器上)生成一个信息缓冲区,其中列出了这些搜索结果:
Apropos Index
*************
Index entries that match `backspace':
*Menu:
* BACKSPACE (Info mode) [info]: (info)Help-^L.
* C-S-backspace [emacs]: (emacs)Killing by Lines.
* c-electric-backspace [emacs]: (emacs)Program Modes.
* normal-erase-is-backspace-mode [emacs]: (emacs)DEL Does Not Delete.
* normal-erase-is-backspace [emacs]: (emacs)DEL Does Not Delete.
* <BACKSPACE> vs <DEL> [emacs]: (emacs)DEL Does Not Delete.
* <DEL> vs <BACKSPACE> [emacs]: (emacs)DEL Does Not Delete.
* Backspace key invokes help [efaq]: (efaq)Backspace invokes help.
* Help invoked by Backspace [efaq]: (efaq)Backspace invokes help.
* backspace [elisp]: (elisp)Basic Char Syntax.
* c-electric-backspace [ccmode]: (ccmode)Hungry WS Deletion.
* electric-backspace (c-) [ccmode]: (ccmode)Hungry WS Deletion.
* normal-erase-is-backspace-mode [ccmode]: (ccmode)Hungry WS Deletion.
* backspace-function (c-) [ccmode]: (ccmode)Hungry WS Deletion.
* c-backspace-function [ccmode]: (ccmode)Hungry WS Deletion.
* <backspace> [ccmode]: (ccmode)Hungry WS Deletion.
* C-c <backspace> [ccmode]: (ccmode)Hungry WS Deletion.
* C-c C-<backspace> [ccmode]: (ccmode)Hungry WS Deletion.
只有 (emacs)
的那些在 Emacs 手册中。顺便说一句,您会注意到 Emacs 常见问题解答和 CC 模式手册也记录了您所看到的相同问题 - 这是一个长期存在的陷阱。
可以使用命令 M-x normal-erase-is-backspace-mode
作为直接补救措施。信息取自这里:link;这个文档在之前的回答中有提到。