人们谈论常见技巧的问题很多,特别是“Vim+ctags提示和技巧”。

然而,我并没有提到Vim新手会觉得很酷的常用快捷方式。我所说的是一位经验丰富的Unix用户(无论是开发人员、管理员,还是两者都有),他们认为自己知道99%的人从未听说过或梦想过的东西。这不仅让他们的工作更容易,而且很酷,很粗糙。毕竟,Vim位于世界上最黑暗的角落丰富的操作系统中,因此它应该具有只有少数特权人士知道并想与我们分享的复杂性。


当前回答

为了使vim更像一个IDE编辑器:

为左边空白处的行号设置nu。set cul-高亮显示包含光标的行。

其他回答

^O和^I

转到较旧/较新的位置。当您在文件中移动时(通过搜索、移动命令等),vim会记住这些“跳跃”,这样您就可以向后(^O-O表示旧的)和向前(^I-就在键盘上的I旁边)重复这些跳跃。我发现它在编写代码和执行大量搜索时非常有用。

gi

转到上次停止插入模式的位置。我发现自己经常编辑然后搜索一些东西。要返回编辑位置,请按gi。

gf

将光标放在文件名上(例如包含头文件),按gf,文件打开

gF

类似于gf,但识别格式“[文件名]:[行号]”。按gF将打开[文件名]并将光标设置为[行号]。

^P和^N

编辑时自动完成文本(^P-上一匹配项和^N下一匹配项)

^X^L

当编辑完成到同一行时(对编程有用)。您编写代码,然后回想文件中的某个位置有相同的代码。只需按^X^L,即可完成整行

^X^F

完整的文件名。你写了“/etc/pass”嗯,你忘了文件名。只需按^X^F,文件名就完成了

^Z或:sh

将临时文件移动到外壳。如果您需要快速抨击:

按^Z(将vi放在背景中)返回原始shell,按fg返回vim back按:sh转到子shell,按^D/exit返回vi

当我在项目中工作时,我经常使用许多窗口,有时我需要调整它们的大小。以下是我使用的:

map + <C-W>+
map - <C-W>-

这些映射允许增加和减少当前窗口的大小。这很简单,但很快。

使用鼠标右键切换gVim中的插入模式,设置如下在~/.gvimrc中:

"
"------------------------------------------------------------------
" toggle insert mode <--> 'normal mode with the <RightMouse>-key
"------------------------------------------------------------------
nnoremap  <RightMouse> <Insert>
inoremap  <RightMouse> <ESC>
"
:%!xxd

将vim制作成十六进制编辑器。

:%!xxd -r

还原

警告:如果不使用二进制(-b)进行编辑,可能会损坏文件。–Josh Lee在评论中写道。

不太晦涩,但有几个“delete in”命令非常有用,例如。。

指示删除当前单词di(要在当前父对象中删除di“删除引号之间的文本

其他信息可以在:帮助文本对象上找到