如何在Emacs中使用[delete]键删除区域

5

我正在使用Mac OS X Lion上的Emacs 23.3。如何使用简单的键盘输入删除所选文本区域,例如deleteC-d?在Windows上,这可以直接实现而不需要设置任何特定内容。如何在Mac OS X Lion上实现这一功能?

3个回答

12

你需要启用delete-selection-mode,然后它就会起作用;-)


6
尝试使用M-xcua-mode命令,这将改变Emacs的很多行为以适应其他GUI应用程序的行为。更多信息请参见M-S-:(info "(emacs) CUA Bindings")
您可以使用M-xcustomize-optionRETcua-mode命令来持久地启用它。

5
如果您想要“删除标记和光标之间的文本”,在Emacs中的正常按键绑定是C-w(按住Ctrl并按w键)。
要设置标记,请使用C-SPC(按住Ctrl并按空格键)。
选择一个文本区域,然后将其删除对于普通的Emacs用户来说并不是很常见。更频繁地使用以下方法之一:
  • 使用C-k一次性删除整行(或者删除至当前行的末尾)
  • 使用M-z(先按Esc然后再按z键)进行“快速删除到字符”,即删除所有直到下一个字符出现为止的文本
  • 使用M-DEL(先按Esc键然后再按DEL键)一次性向后删除一个单词
等等。

谢谢您的回答。但我想自动绑定[delete]键执行"delete-char"或"kill-region"操作。 - luozengbin
1
我找到了实现这个函数的方法。<pre> (defun my-backward-delete-fun() "向后删除一个字符或自动删除所选区域" (interactive) (if (and transient-mark-mode mark-active) (call-interactively 'kill-region) (call-interactively 'backward-delete-char-untabify) ) ) (global-set-key [backspace] 'my-backward-delete-fun) </pre> - luozengbin
1
回答自己的问题,这样你就可以帮助下一个遇到同样问题的人了! - Joel Spolsky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接