如何在vim中翻转视觉选择的线条?

ste*_*nmm 16 vim

我想进行视觉选择并将其翻转,以便选择的第一行位于底部.从:

<other_stuff>
The
wheels
go
round.
<more_stuff>
Run Code Online (Sandbox Code Playgroud)

视觉选择发送然后翻转:

<other_stuff>
round.
go
wheels
The
<more_stuff>
Run Code Online (Sandbox Code Playgroud)

任何想法如何简单地做到这一点.我宁愿不必安装插件来做到这一点.

Dav*_*rby 26

当您进行视觉选择时,Vim会自动分别创建书签'<以及'>块的开头和结尾,这样您就可以通过多种方式完成所需的操作.

在正常模式下: '>dd'<P

作为前命令: :'>d | '<-1 put

注意,退出可视模式后书签仍然存在,因此您无需保持可视模式即可使用这些书签.

编辑:

哎呀,我误解了这个问题,并认为你只想在开始时放置最后一行,但是你想要整个块被颠倒过来.如果您使用的是unix系统,那么最简单的解决方案:

:'<,'>!tac
Run Code Online (Sandbox Code Playgroud)

这通过unix'反向猫'程序管道线.

  • 或OS X上的`tail -r`. (9认同)
  • 伟大的!在某些情况下,“!”可以节省大量时间! (2认同)

GWW*_*GWW 5

根据:help 12.4您可以用 标记第一行mt,移动到您想要反转的最后一行,然后使用命令:'t+1,.g/^/m 't