在 Vim 中,我经常通过删除行来移动行(使用 dd 或可视行模式),将光标移动到新位置,然后 p 将它们放入:

first
second
third

如果我的光标在第二行,我可以使用 ddp 将其向下移动:
first
third
second

但是在 Emacs + Evil 模式下,将行放回原位无法按预期工作:例如,如果我点击 p 时我的光标位于第三个 i 上,我最终会得到:
first
thisecondrd

如何让 Emacs + Evil 模式在放置整行时插入新行?

最佳答案

如果我想要这种行为,我会在猛拉之前使用 C-a 转到行的开头(可能是 evil-mode 中的 ^)。如果你经常这样做,你可能会想出你自己的东西来进行 yank,尽管你必须在杀死部分弄清楚你是否正在这样做。 (或者你可以检查被猛拉的东西是否有换行符,我猜?)

顺便说一下,有一个 transpose-lines 命令(常规 Emacs 绑定(bind)中的 C-x C-t - 有人建议将其绑定(bind)到 xtl - https://github.com/syl20bnr/spacemacs/blob/master/my-keybindings.el )。

10-08 15:12