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

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

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


当前回答

您可以使用一整套命令来更改括号/圆括号/引号/标记内的文本。这对于避免寻找群组的起点和终点非常有用。试试ci(, ci{, ci<, ci", ci', ct这取决于你想要改变的对象类型。而ca(, ca{,…变体也会删除括号/引号。

容易记住:change inside a bracasted statement /更改一个括号内语句。

其他回答

:x #(Save and Quit a File)

与:wq或ZZ相同

我的Vim脑库中最近添加的一些内容:

^wi:通过分割窗口跳转到光标下的标签。 cib/ cib:分别更改当前括号()或大括号{}集合内的文本。 :set listchars=tab:>-,trail:_ list:显示不同于其他空格的制表符/尾随空格。它对Python编码有很大帮助。

: % s /搜索/替换,

您可以使用除/(斜杠)以外的其他字符分隔模式以进行替换。这样就不必转义文件路径的斜杠。

进一步使用xcramps的建议,我无法告诉你我用了多少次:

: % !排序

对文件中的项列表进行排序。

细节:

:范围!命令

将在指定的行范围上执行shell命令。一个范围通常被指定为开始,结束

例子: 1,3指定前3行 'a,'b选择书签a和b之间的文本 ,$选择整个文档(。=第一线;$ =最后一行) %是.,$的快捷方式,还可以选择整个文档。

您可以随意混合和匹配数字、书签、.和$。

我很惊讶没有人提到Vim的窗口支持。我几乎每次打开Vim都会使用Ctrl + W, S。