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

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


当前回答

:%!xxd

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

:%!xxd -r

还原

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

其他回答

我使用vim进行几乎所有的文本编辑,所以我经常使用复制和粘贴。问题是默认情况下vim经常会通过粘贴扭曲导入的文本。阻止这种情况的方法是使用

:set paste

在粘贴数据之前。这将使它不致混乱。

注意,您必须发出:set nopaste以恢复自动缩进。粘贴预格式化文本的替代方法是剪贴板寄存器(*和+)和:r!cat(您必须用^D结束粘贴的片段)。

打开高对比度配色方案有时也很有用。这可以通过

:color blue

我注意到它不适用于我使用的所有版本的vim,但它适用于大多数版本。

:%!xxd

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

:%!xxd -r

还原

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

==========================================================
In normal mode
==========================================================
gf ................ open file under cursor in same window --> see :h path
Ctrl-w f .......... open file under cursor in new window
Ctrl-w q .......... close current window
Ctrl-w 6 .......... open alternate file --> see :h #
gi ................ init insert mode in last insertion position
'0 ................ place the cursor where it was when the file was last edited

我很少在大多数Vim教程中找到一个,但它非常有用(至少对我来说),那就是

g;和g,

在变更列表中移动(向前、向后)。

让我来演示一下我是如何使用它的。有时我需要复制并粘贴一段代码或字符串,比如CSS文件中的十六进制颜色代码,所以我搜索、跳转(不在乎匹配的位置)、复制它,然后跳回(g;)编辑代码的位置以最终粘贴它。不需要创建标记。更简单。

只是我的20美分。

:sp%:h-目录列表/文件选择器,使用当前文件的目录

(属于rampion的cd提示下的评论,但我还没有评论权限)