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

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

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


当前回答

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

: % !排序

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

细节:

:范围!命令

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

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

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

其他回答

:x #(Save and Quit a File)

与:wq或ZZ相同

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

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

cw

更改单词-删除光标下的单词,并将您置于插入模式下键入一个新的单词。当然,这也适用于其他移动键,所以你可以做c$之类的事情来改变到行尾。

F +字符

查找当前行上字符的下一个出现位置。因此,您可以使用vft来选择当前行上下一个“t”之前的所有文本。这是另一个移动键,所以它也适用于其他命令。

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

: % !排序

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

细节:

:范围!命令

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

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

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

我经常创建用于编辑任务的函数,并将它们存储在.vimrc文件中,这样我就可以再次找到它们。

例如,读取已转换为单行的.NET调用栈:

function! FixCallStacks()
:%s;\[NLN\];\r;g
:%s;\[TAB\];\t;g
endfunction