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

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

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


当前回答

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

其他回答

我最近学到的令人惊叹的技巧是一种进行复杂搜索和替换的方法。在过去,我经常有一个非常复杂的regexp来进行替换,但它不起作用。有一个更好的方法:

:set incsearch             " I have this in .vimrc
/my complicated regexp     " Highlighted as you enter characters
:%s//replace with this/    " You don't have to type it again

这里的“技巧”(找不到更好的词)是使用搜索来创建regexp(在输入字符时'incsearch'突出显示它),然后在替换中使用空模式:空模式默认为最后一个搜索模式。

例子:

/blue\(\d\+\)
:%s//red\1/

等价于:

:%s/blue\(\d\+\)/red\1/

See:

:help 'incsearch'
:help :substitute

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

: % !排序

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

细节:

:范围!命令

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

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

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

星号键*将搜索光标下的单词。

[+Tab将带您到光标下的C函数的定义。(不过,这种方法并不总是有效。)

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

ZZ(工作方式:wq)

关于光标的位置:我发现光标总是停留在屏幕中间是很酷的

set scrolloff=9999