如果您要解决的主要用例是向上或向下移动行(与如何“使 Emacs + Evil 模式在放置整个拉动行时插入新行”的更普遍的问题相反),我建议您尝试一下move-text
.
它是一个非常小的附加包,提供了两个命令(move-text-up
和move-text-down
)分别用于上下移动线条。您可以在线上的任何地方拨打这些电话;不需要杀死或拉扯任何东西,它们也适用于区域。
例如,move-line-down
在这种情况下调用(点在 之后second
):
first line
second| line
third line
会产生
first line
third line
second| line
n
如您所料,通过调用带有数字前缀的适当命令来向上或向下移动当前行(或区域) 。
这些命令默认绑定到M-up,M-down但您应该能够通过以下方式将它们重新绑定到您喜欢的键序列
(define-key evil-normal-state-map "mu" 'move-line-up)
(define-key evil-normal-state-map "md" 'move-line-down)
move-text
可以package-install
从 MELPA 获得。