小编典典

如何在 Emacs 中复制整行?

all

我在 VIM 上看到了同样的问题,我自己也想知道如何为 Emacs 做这件事。在 ReSharper 中,我使用 CTRL-D
来执行此操作。在 Emacs 中执行此操作的最少命令数是多少?


阅读 113

收藏
2022-09-02

共1个答案

小编典典

我用

C-a C-SPACE C-n M-w C-y

分解为

  • C-a: 将光标移动到行首
  • C-SPACE:开始选择(“设置标记”)
  • C-n: 移动光标到下一行
  • M-w: 复制区域
  • C-y:粘贴(“猛拉”)

之前所提

C-a C-k C-k C-y C-y

等同于同一件事 (TMTOWTDI)

  • C-a: 将光标移动到行首
  • C-k:剪切(“杀死”)该行
  • C-k: 剪切换行符
  • C-y: paste (“yank”) (我们回到第一格)
  • C-y: 再次粘贴(现在我们有两个副本)

与您的编辑器相比,这些都非常冗长C-d,但在 Emacs 中始终存在自定义。C-d默认情况下是绑定delete-char的,那么C-c C-d呢?只需将以下内容添加到您的.emacs

(global-set-key "\C-c\C-d" "\C-a\C- \C-n\M-w\C-y")

(@Nathan 的 elisp 版本可能更可取,因为如果更改任何键绑定,它不会中断。)

当心:某些 Emacs 模式可能会回收C-c C-d做其他事情。

2022-09-02