人们谈论常见技巧的问题很多,特别是“Vim+ctags提示和技巧”。

然而,我并没有提到Vim新手会觉得很酷的常用快捷方式。我所说的是一位经验丰富的Unix用户(无论是开发人员、管理员,还是两者都有),他们认为自己知道99%的人从未听说过或梦想过的东西。这不仅让他们的工作更容易,而且很酷,很粗糙。毕竟,Vim位于世界上最黑暗的角落丰富的操作系统中,因此它应该具有只有少数特权人士知道并想与我们分享的复杂性。


当前回答

%当您希望在项目的两个不同副本之间比较文件而不磨损粉色(从项目1的根)时,也是很好的:

:vert diffs /project2/root/%

其他回答

:%TOhtml

创建当前文件的html呈现。

也许99%的Vim用户都不知道,但这是我每天使用的东西,任何Linux+Vim超级用户都必须知道。

基本命令,但非常有用。

:w !sudo tee %

我经常在编辑一个我没有写权限的文件之前忘记sudo。当我保存该文件时遇到权限错误时,我只需发出vim命令即可保存该文件,而无需将其保存到临时文件,然后再将其复制回来。

显然,您必须在安装了sudo的系统上,并且具有sudo权限。

我最近发现了一件我觉得很酷的事:

:earlier 15m

将文档还原为15分钟前的状态。可以为您想要回滚的时间量提供各种参数,并且取决于撤消级别。可以用相反的命令反转:稍后

这是一个用不同编码重新打开当前文件的好技巧:

:e ++enc=cp1250 %:p

当您必须使用传统编码时,这很有用。支持的编码列在编码值下的表中(请参阅帮助编码值)。类似的事情也适用于++ff,这样您就可以使用Windows/Unix重新打开文件了。如果您第一次出错,则行结束(请参阅帮助ff)。

在插入模式下,Ctrl-n将根据打开缓冲区中的所有单词自动完成您键入的任何单词。如果有多个匹配项,它将为您提供一个可能的单词列表,您可以使用ctrl-n和ctrl-p进行循环。