人们谈论常见技巧的问题很多,特别是“Vim+ctags提示和技巧”。
然而,我并没有提到Vim新手会觉得很酷的常用快捷方式。我所说的是一位经验丰富的Unix用户(无论是开发人员、管理员,还是两者都有),他们认为自己知道99%的人从未听说过或梦想过的东西。这不仅让他们的工作更容易,而且很酷,很粗糙。毕竟,Vim位于世界上最黑暗的角落丰富的操作系统中,因此它应该具有只有少数特权人士知道并想与我们分享的复杂性。
人们谈论常见技巧的问题很多,特别是“Vim+ctags提示和技巧”。
然而,我并没有提到Vim新手会觉得很酷的常用快捷方式。我所说的是一位经验丰富的Unix用户(无论是开发人员、管理员,还是两者都有),他们认为自己知道99%的人从未听说过或梦想过的东西。这不仅让他们的工作更容易,而且很酷,很粗糙。毕竟,Vim位于世界上最黑暗的角落丰富的操作系统中,因此它应该具有只有少数特权人士知道并想与我们分享的复杂性。
当前回答
这是一个用不同编码重新打开当前文件的好技巧:
:e ++enc=cp1250 %:p
当您必须使用传统编码时,这很有用。支持的编码列在编码值下的表中(请参阅帮助编码值)。类似的事情也适用于++ff,这样您就可以使用Windows/Unix重新打开文件了。如果您第一次出错,则行结束(请参阅帮助ff)。
其他回答
gg=G
更正了整个文件的缩进。我错过了Eclipse中值得信赖的<C-a><C-I>,但我发现vim处理得很好。
不太晦涩,但有几个“delete in”命令非常有用,例如。。
指示删除当前单词di(要在当前父对象中删除di“删除引号之间的文本
其他信息可以在:帮助文本对象上找到
:%TOhtml
创建当前文件的html呈现。
在插入模式下,ctrl+x,ctrl+p将完成(如果您喜欢的话,可以使用可能的完成菜单)您键入的当前长标识符。
if (SomeCall(LONG_ID_ <-- type c-x c-p here
[LONG_ID_I_CANT_POSSIBLY_REMEMBER]
LONG_ID_BUT_I_NEW_IT_WASNT_THIS_ONE
LONG_ID_GOSH_FORGOT_THIS
LONG_ID_ETC
∶
:! [command]在Vim中执行外部命令。
但是在冒号后面加一个点:。![command],它会将命令的输出转储到当前窗口中。那就是:!
例如:
:.! ls
我经常使用此功能,例如将当前日期添加到我正在键入的文档中:
:.! date