任何人都知道 vim 中轻松交换两行代码的任何技巧吗?我知道交换相邻的行是微不足道的,但是假设我想将第 23 行与第 52 行交换。这可以实现吗?
问问题
2480 次
4 回答
18
是的!
:23m52|51m22
然后按Enter
编写一个函数来完成它也很容易。
于 2013-03-08T14:37:50.180 回答
7
我的LineJuggler 插件具有正常和可视模式映射]E
,并且[E
(和其他,类似于流行的未损坏插件)将当前行/选择与[count]
下面/上面的行交换。
我认为:[range]Swap {range}
命令也会有所帮助;我正在努力。
编辑:这里是:LineJugglerCommands 插件。
于 2013-03-08T16:00:45.297 回答
2
如果您在粘贴时有视觉选择,它会在粘贴后将选择放入默认缓冲区。所以你会做23Gdd51GVp23GP
于 2013-03-08T14:38:38.560 回答
2
用户move
命令移动行。例如,交换第 23 行和第 52 行:
:23m52 | 52m23
键入:help move
以获取帮助用法move
,它可能会移动一系列行:-)
于 2013-03-08T14:42:04.103 回答