上一篇文章小编带大家选择了操作系统,自然离不开要编辑文件,vim 是唯一的选择,也是最好的选择。
vim 的学习曲线相当的大,所以,如果你一开始看到的是一大堆 vim 的命令分类,你一定会对这个编辑器失去兴趣的。我觉得这是给新手最好的 vim 的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。
你想以最快的速度学习人类史上最好的文本编辑器 vim 吗?你先得懂得如何在 vim 幸存下来,然后一点一点地学习各种戏法。
Vim the Six Billion Dollar editor
学习 vim 并且其会成为你最后一个使用的文本编辑器。没有比这个更好的文本编辑器了,非常地难学,但是却不可思议地好用。
建议下面这四个步骤:
在开始学习以前,我需要给你一些警告:
-
学习vim在开始时是痛苦的。
-
需要时间
-
需要不断地练习,就像你学习一个乐器一样。
-
不要期望你能在3天内把 vim 练得比别的编辑器更有效率。
-
事实上,你需要2周时间的苦练,而不是3天。
一、初级 存活
-
安装 vim
-
启动 vim
-
什么也别干!请先阅读
当你安装好一个编辑器后,你一定会想在其中输入点什么东西,然后看看这个编辑器是什么样子。但vim不是这样的,请按照下面的命令操作:
-
启动Vim后,vim 在 Normal 模式下。
-
让我们进入 Insert 模式,请按下键 i 。(网络安全研究员注:你会看到 vim 左下角有一个 – insert – 字样,表示,你可以以插入的方式输入了)
-
此时,你可以输入文本了,就像你用“记事本”一样。
-
如果你想返回 Normal 模式,请按 ESC 键。
现在,你知道如何在 Insert 和 Normal 模式下切换了。下面是一些命令,可以让你在 Normal 模式下幸存下来:
推荐:
-
hjkl (强例推荐使用其移动光标,但不必需) →你也可以使用光标键 (←↓↑→). 注: j 就像下箭头。
-
:help <command> → 显示相关命令的帮助。你也可以就输入 :help 而不跟命令。(退出帮助需要输入:q)
你能在vim幸存下来只需要上述的那5个命令,你就可以编辑文本了,你一定要把这些命令练成一种下意识的状态。于是你就可以开始进阶到第二级了。
当是,在你进入第二级时,需要再说一下 Normal 模式。在一般的编辑器下,当你需要copy一段文字的时候,你需要使用 Ctrl 键,比如:Ctrl-C。也就是说,Ctrl 键就好像功能键一样,当你按下了功能键Ctrl后,C就不在是C了,而且就是一个命令或是一个快键键了,在vim的Normal模式下,所有的键就是功能键了。这个你需要知道。
标记:
-
下面的文字中,如果是 Ctrl-λ我会写成 <C-λ>.
-
以 : 开始的命令你需要输入 <enter>回车,例如 — 如果我写成 :q 也就是说你要输入 :q<enter>.
二、中级 感觉良好
上面的那些命令只能让你存活下来,现在是时候学习一些更多的命令了,下面是我的建议:(网络安全研究员注:所有的命令都需要在Normal模式下使用,如果你不知道现在在什么样的模式,你就狂按几次ESC键)
1.各种插入模式
2.简单的移动光标
3.拷贝/粘贴(网络安全研究员注:p/P都可以,p是表示在当前位置之后,P表示在当前位置之前)
4.Undo/Redo
5.打开/保存/退出/改变文件(Buffer)
花点时间熟悉一下上面的命令,一旦你掌握他们了,你就几乎可以干其它编辑器都能干的事了。但是到现在为止,你还是觉得使用 vim 还是有点笨拙,不过没关系,你可以进阶到下一级了。
三、高级 更好-更强-更快
先恭喜你!你干的很不错。我们可以开始一些更为有趣的事了。在高级,我们只谈那些和vi可以兼容的命令。
更好
下面,让我们看一下vim是怎么重复自己的:
-
. → (小数点) 可以重复上一次的命令
-
N<command> → 重复某个命令N次
下面是一个示例,找开一个文件你可以试试下面的命令:
更强
你要让你的光标移动更有效率,你一定要了解下面的这些命令,千万别跳过。
> 如果你认为单词是由默认方式,那么就用小写的e和w。默认上来说,一个单词由字母,数字和下划线组成(网络安全研究员注:程序变量) > 如果你认为单词是由blank字符分隔符,那么你需要使用大写的E和W。(网络安全研究员注:程序语句)
编辑
添加图片注释,不超过 140 字(可选)
下面,让我来说说最强的光标移动:
相信我,上面这三个命令对程序员来说是相当强大的。
更快
你一定要记住光标的移动,因为很多命令都可以和这些移动光标的命令连动。很多命令都可以如下来干:
<start position><command><end position>
你可可以输入 ye,从当前位置拷贝到本单词的最后一个字符。
你也可以输入 y2/foo 来拷贝2个 “foo” 之间的字符串。
还有很多时间并不一定你就一定要按 y 才会拷贝,下面的命令也会被拷贝:
(网络安全研究员注:可视化选择是一个很有意思的命令,你可以先按 v,然后移动光标,你就会看到文本被选择,然后,你可能 d,也可 y,也可以变大写等)
四、超级 vim的超能力
你只需要掌握前面的命令,你就可以很舒服的使用 vim 了。但是,现在,我们向你介绍的是 vim 杀手级的功能。下面这些功能是我只用 vim 的原因。
在当前行上移动光标: 0 ^ $ f F t T , ;
编辑
添加图片注释,不超过 140 字(可选)
还有一个很有用的命令是 dt"→ 删除所有的内容,直到遇到双引号—— "。
区域选择 <action>a<object> 或 <action>i<object>
在visual 模式下,这些命令很强大,其命令格式为
<action>a<object> 和 <action>i<object>
假设你有一个字符串 (map (+) ("foo")).而光标键在第一个 o 的位置。
编辑
添加图片注释,不超过 140 字(可选)
块操作: <C-v>
块操作,典型的操作: 0 <C-v> <C-d> I-- [ESC]
编辑
添加图片注释,不超过 140 字(可选)
在Windows下的vim,你需要使用 <C-q> 而不是 <C-v> ,<C-v> 是拷贝剪贴板。
自动提示: <C-n> 和 <C-p>
在 Insert 模式下,你可以输入一个词的开头,然后按 <C-p>或是<C-n>,自动补齐功能就出现了……
编辑
添加图片注释,不超过 140 字(可选)
宏录制: qa 操作序列 q, @a, @@
示例
在一个只有一行且这一行只有“1”的文本中,键入如下命令:
编辑
添加图片注释,不超过 140 字(可选)
可视化选择: v,V,<C-v>
前面,我们看到了 <C-v>的示例 (在Windows下应该是<C-q>),我们可以使用 v 和 V。一但被选好了,你可以做下面的事:
编辑
添加图片注释,不超过 140 字(可选)
在所有被选择的行后加上点东西:
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
分屏: :split 和 vsplit.
下面是主要的命令,你可以使用VIM的帮助 :help split.
编辑
添加图片注释,不超过 140 字(可选)