我一直在Vim中学习新的命令,但我相信每个人都偶尔会学习一些新东西。我最近才知道:
Zz, zt, zb -位置光标在中间,顶部或底部的屏幕
还有什么其他有用或优雅的命令是你希望很久以前就学会的?
我一直在Vim中学习新的命令,但我相信每个人都偶尔会学习一些新东西。我最近才知道:
Zz, zt, zb -位置光标在中间,顶部或底部的屏幕
还有什么其他有用或优雅的命令是你希望很久以前就学会的?
当前回答
我的Vim脑库中最近添加的一些内容:
^wi:通过分割窗口跳转到光标下的标签。 cib/ cib:分别更改当前括号()或大括号{}集合内的文本。 :set listchars=tab:>-,trail:_ list:显示不同于其他空格的制表符/尾随空格。它对Python编码有很大帮助。
其他回答
我真的希望我知道你可以使用Ctrl+C而不是Esc来切换插入模式。这对我来说是一个真正的生产力提升。
我知道这并不完全是Vim。但是我发现cscope集成真的很好,它在侵入Linux内核时帮助了我很多。
按Ctrl + \, g到达函数的定义 Ctrl + \, s查找函数、宏或变量的所有用法。
您可以使用一整套命令来更改括号/圆括号/引号/标记内的文本。这对于避免寻找群组的起点和终点非常有用。试试ci(, ci{, ci<, ci", ci', ct这取决于你想要改变的对象类型。而ca(, ca{,…变体也会删除括号/引号。
容易记住:change inside a bracasted statement /更改一个括号内语句。
使用选项卡打开多个文件
:tabe filepath
在打开的文件之间导航
gt and gT or :tabn and :tabp
保存打开的会话,以便稍后可以返回打开的文件列表
:mksession session_file_name.vim
打开已创建的会话
vim -S session_file_name.vim
立即关闭所有文件
:qa
这是我最近学到的另一个命令
autocmd
它允许你在一个事件上运行命令,所以你可以在保存文件时使用如下命令:
:autocmd BufWritePost *.cpp :make
对于强制Vim配置,请查看https://github.com/jmcantrell/dotfiles-vim