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

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

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


当前回答

:b[缓冲区名称的任何部分]来切换缓冲区。因此,如果你有两个缓冲区," someotherfile1 .txt"和"someotherfile2.txt",你可以切换到第二个,只需输入":b 2.t<enter>"。它还支持制表符补全,尽管这不是必需的。

说到制表符补全,设置:set wildmode=full wildmenu也非常有用。它为命令模式提供了完全的选项卡补全功能,在使用它时还提供了非常有用的ncurses风格菜单,其中包含所有可能的匹配。

其他回答

当光标位于引号、圆括号、括号或大括号上时,按%查找匹配项。

:x #(Save and Quit a File)

与:wq或ZZ相同

我刚刚在浏览Vim帮助时发现了这个:

:help index

这将把您带到一个单独的(可搜索的!)页面,其中包含所有模式的所有命令。

所以,如果你知道你要记住/学习的命令是从某个按键开始或涉及到某个按键,你可以搜索并浏览所有的可能性。或者你可以浏览你感兴趣的模式,看看/学习编辑的可能性。

我都数不清有多少次我只是按Ctrl + R或者其他键,然后得到了第一个东西,当然这不是你想要的。在我看来,这比:helpgrep好多了。

然后进入。vimrc:

nnoremap <silent> <F1> :help normal-index<CR>
inoremap <silent> <F1> <C-O>:help insert-index<CR>

:help仍然会让你进入默认的F1页面。

: % s /搜索/替换,

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

^X-F使用当前目录中的文件名完成。不再从终端复制/粘贴或痛苦的双重检查。

^X-P使用当前文件中的单词完成

:set scrollbind强制一个缓冲区与另一个缓冲区一起滚动。例如,把你的窗户分成两个垂直的窗格。在每个文件中加载一个文件(可能是同一文件的不同版本)。Do:设置每个scrollbind。现在,当你滚动其中一个窗格时,两个窗格将一起滚动。比较文件的理想选择。