vim 编辑器就像海洋一样,美好和快乐,如果你深入其中,你就会情不自禁地爱上它,并且再也不愿走出来。
vim 编辑器之所以经久不衰,就是因为它有着一股魔力,无论你使用它多少年了,你总能在某一天看到其他人对它更优雅的操作,它的上限很高,高到可以让你使用它快速地完成任何你想编辑的代码。
接下来,我将分享一些可能被你忽略但是却非常重要的东西 vim 的技巧经验。
help everything
在 linux 系统中,如果你遇到问题,第一时间不是去问其他人,也不是去搜索引擎找答案,而是使用man命令寻求帮助,它会给我们最大程度的帮助,大多数情况下都能解决我们的问题。
同样在 vim 中,我们遇到问题的时候也可以使用 help 寻求帮助,而 vim 的帮助文档很详细,足可以帮助我们解决绝大部分问题。
save as root
很多时候我们编辑一些文档以后,会发现权限不够,需要我们使用 root 权限进行编辑,这个时候如果退出,然后重新使用 sudo 编辑会非常得不偿失,那么我们可以在vim中直接调用 sudo 命令来使用 root 用户进行保存。
:w !sudo tee %
spaces and tabs convert
有些时候,我们需要对代码中的空格和tab进行相应的转换,在vim中,这种转换很方便,通过几个命令,就可以完成对指定文本的转换,通过选区的控制,我们可以指定转换的位置。
:set noexpandtab
:retab!
:set expandtab
:set tabstop=4
:set shiftwidth=4
:retab
indent lines
在vim中我们对于缩进可以非常简单,直接在正常模式下输入=就可以完成对文本的缩进,如果对所有行进行缩进,那么一个简单的命令gg=G就可以完成。
auto smart indent
当我们想要输入新的一行的时候,很多时候我们需要使用tab或者空格进行定位,但是其实有更简洁的方法,那就是S,通过输入S,光标就会自动定位到缩进的位置,然后进入到插入模式,我们可以直接输入代码即可。
show spell mistakes
在vim中输入英文的时候,我们很有可能输入了一些错误的单词,这个时候我们可以让vim开启拼写检查功能,它就会智能地显示出我们拼写错误的单词。
:set spell
insert mode quick delete
我们知道在正常模式下,我们可以通过d和x进行快速地删除文本,那么在插入模式,就是编辑文件的时候,我们有办法快速删除单词吗?答案是有的,我们可以通过下面的快捷键进行快速删除。
ctrl+w
ctrl+h
ctrl+u
ctrl+k
open particular line
当我们使用一些软件查询到某个关键词出现在某行的时候,我们希望我们vim可以直接定位到这一行,那么我们可以使用vim + line的方式打开文件,就可以直接跳转到指定行号,当然这个其实并没有太多的意义,因为进入文件之后,在通过行号定位也不算麻烦,可能唯一的好处应该就是对于一个大文件的话,可以省略渲染,直接找到位置。