我一直在Vim中学习新的命令,但我相信每个人都偶尔会学习一些新东西。我最近才知道:
Zz, zt, zb -位置光标在中间,顶部或底部的屏幕
还有什么其他有用或优雅的命令是你希望很久以前就学会的?
我一直在Vim中学习新的命令,但我相信每个人都偶尔会学习一些新东西。我最近才知道:
Zz, zt, zb -位置光标在中间,顶部或底部的屏幕
还有什么其他有用或优雅的命令是你希望很久以前就学会的?
当前回答
^P和^N
完成上一个(^P)或下一个(^N)文本。
^O和^I
转到前一个(^O -“O”为旧)位置或下一个(^I -“I”靠近“O”)位置。
当您执行搜索、编辑文件等时,您可以通过这些“跳转”向前和向后导航。
标志着
按ma (m-标记,a -标记的名称)。稍后要返回位置,键入' a '。
其他回答
我希望我能早点知道基本的视觉块模式。即使你不使用Vim做其他的事情,在Vim中打开一个文件仅仅是为了一些块操作也可以节省大量的时间。我很确定我在手动做这种事情上浪费了大量的时间。
我发现一些特别有用的例子,比如始终如一地重构符号常量名列表:
进入可视块模式(我在Windows上用Ctrl + Q代替Ctrl + V)
移动光标以突出显示所需的块。
然后,我无论文本和按Esc有文本插入前面的块上的每一行。
使用A而不是I将文本插入到每行的块之后。
此外,简单地用~切换视觉选择的大小写可以节省大量时间。
还有简单地删除列,当然是用d。
:shell从Vim启动shell控制台。例如,当您想在不退出Vim的情况下测试一个脚本时,它很有用。当你完成shell控制台时,只需点击^d,然后你回到Vim和你编辑的文件。
Gi切换到插入模式,将光标放置在先前的相同位置。
在我们的软件商店中,变量声明需要排序。在我们使用的语言中,多个变量可以出现在同一行上。
new var1,var2,var3,etc
这是一个真正的痛苦,通过和视觉上尝试排序每个变量。在Vim中,块突出显示和排序命令是我的朋友:
将光标移动到要排序的第一个变量。 发出v命令进入可视模式。 将光标移动到最后一个要排序的变量的末尾(在我的例子中,我输入$到行末尾)。 执行!sort命令告诉Vim对突出显示的文本进行排序。
只有在底层系统上存在'sort'命令时,这才会起作用。
使用选项卡打开多个文件
: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