【发布时间】:2014-04-27 23:42:28
【问题描述】:
是否有任何命令可以在 Emacs 中选择整个文件内容?
例如,Control+a 在 Notepad、Notepad++ 等中选择文件的全部内容。
我可以使用鼠标选择整个内容,但是对于大文件来说很不方便。我找到了基本的 Emacs 命令 here 和 here,但找不到我要找的东西。
【问题讨论】:
标签: emacs keyboard-shortcuts selection
是否有任何命令可以在 Emacs 中选择整个文件内容?
例如,Control+a 在 Notepad、Notepad++ 等中选择文件的全部内容。
我可以使用鼠标选择整个内容,但是对于大文件来说很不方便。我找到了基本的 Emacs 命令 here 和 here,但找不到我要找的东西。
【问题讨论】:
标签: emacs keyboard-shortcuts selection
C-x h 将选择整个缓冲区。
您可以使用内置的帮助系统在 Emacs 中搜索帮助。
C-h f 将寻求特定功能的帮助。在这种情况下,您可以搜索 whole-buffer 以找到 mark-whole-buffer。
其他感兴趣的帮助命令是:
请注意,C-x h 只会突出显示所有文本。要实际复制选定的文本,您必须使用 C-w 进行剪切 (kill-region) 或使用 M-w 进行复制 (kill-ring-save)。
【讨论】:
C-x h 应该仍然可以工作,无论该模式如何;您只是不会看到标记的区域。所以C-x h M-w 应该总是复制缓冲区的内容。此外,transient-mark-mode 默认启用,因此您可能想弄清楚为什么在您的配置中禁用它。
我使用 CUA,所以我不喜欢 mark-whole-buffer,因为它不使用临时区域。
经过一番折腾,我终于使用保存到函数的键盘宏实现了这一点:
kmacro-name-last-macro 为宏命名insert-kbd-macro 编写脚本C-a
【讨论】:
复制和选择是相关但不同的操作。文件和缓冲区也是相关的,但不同。
要复制 缓冲区,请考虑使用jac.el。它处理“复制”和处理模式。
【讨论】: