【发布时间】:2013-07-24 08:10:16
【问题描述】:
我想知道在 vim 中倒置两条相邻行的最短方法,例如:
嗨
你好吗?
在
你好吗?
你好
是否有一些特殊的快捷方式或者我应该考虑为此编写一个宏?
【问题讨论】:
-
来自 vim wiki:vim.wikia.com/wiki/Moving_lines_up_or_down 如果您未损坏安装,您可以使用
[e或]e,github.com/tpope/vim-unimpaired
我想知道在 vim 中倒置两条相邻行的最短方法,例如:
嗨
你好吗?
在
你好吗?
你好
是否有一些特殊的快捷方式或者我应该考虑为此编写一个宏?
【问题讨论】:
[e 或]e,github.com/tpope/vim-unimpaired
当光标位于第一行时使用ddp。
dd 删除当前行。p 将删除的行粘贴到当前行下。
【讨论】:
ddP 将线条恢复原状。我们谈了多少次?如果有模式,你也许可以用全局命令做一些事情。
您需要的是一个映射:该映射的作用,即使它是 20 个链接的命令,也并不重要。
nnoremap <F6> :m-2<CR>==
和
nnoremap <F6> ddp
两者都以略微不同的方式完全按照您的意愿行事。一个命令复杂且相对智能,而另一个命令简单且相对笨拙,但它们在方式上是相同的,它们都只需一次按键即可完成。
当然你可以使用 F6 以外的其他功能。
【讨论】: