我一直在Vim中学习新的命令,但我相信每个人都偶尔会学习一些新东西。我最近才知道:

Zz, zt, zb -位置光标在中间,顶部或底部的屏幕

还有什么其他有用或优雅的命令是你希望很久以前就学会的?


当前回答

在我们的软件商店中,变量声明需要排序。在我们使用的语言中,多个变量可以出现在同一行上。

new var1,var2,var3,etc

这是一个真正的痛苦,通过和视觉上尝试排序每个变量。在Vim中,块突出显示和排序命令是我的朋友:

将光标移动到要排序的第一个变量。 发出v命令进入可视模式。 将光标移动到最后一个要排序的变量的末尾(在我的例子中,我输入$到行末尾)。 执行!sort命令告诉Vim对突出显示的文本进行排序。

只有在底层系统上存在'sort'命令时,这才会起作用。

其他回答

使用选项卡打开多个文件

:tabe filepath

在打开的文件之间导航

gt and gT or :tabn and :tabp

保存打开的会话,以便稍后可以返回打开的文件列表

:mksession session_file_name.vim

打开已创建的会话

vim -S session_file_name.vim

立即关闭所有文件

:qa

这是我最近学到的另一个命令

autocmd

它允许你在一个事件上运行命令,所以你可以在保存文件时使用如下命令:

:autocmd BufWritePost *.cpp :make

Qx将开始记录击键。你几乎可以做任何编辑任务,Vim都记得。当你完成时再次点击q,然后按@x来重放你的击键。这对于过于复杂而无法编写映射的重复编辑非常有用。可以使用x以外的字符进行多次记录。

Q <字母> -记录一个宏。

and

@<相同字母> -回放。

这些是到目前为止在Vim中最有用的命令,因为你可以让计算机为你做很多工作,你甚至不需要写一个程序或任何东西。

选项卡式界面

除了分开的窗口,您还可以有选项卡窗口。在转义模式下,输入tabnew。您可以像这样打开多个选项卡。要在选项卡之间导航,输入tabn。这将移动到下一个选项卡。要移动到选项卡窗口,键入tabn2以移动第二个选项卡,依此类推。

要关闭制表符,输入tabc、tabclose或直接关闭。

如果你在终端模拟器(基本上是GUI中的终端)中,那么你可以尝试执行set mouse=a。完成后,您可以用鼠标在编辑器内单击。这也将帮助您通过单击在选项卡之间导航,并通过单击右侧的关闭按钮关闭。

对齐您的代码-完整的文件

只需在转义模式下输入G=gg。

折叠代码

假设您有一个完成的函数。您希望最小化(或折叠)这部分代码,以便可以释放一些空间并减少混乱。只需选择代码。然后输入折叠。

这将折叠代码。如果您想展开代码,只需转到那里,并键入zo。要再次折叠,输入zc。

^y将复制光标上方的字符。