vim是一个具有很多命令的功能非常强大的编辑器。限于篇幅,在本教程当中
就不详细介绍了。本教程的设计目标是讲述一些必要的基本命令,而掌握好这
些命令,您就能够很容易将vim当作一个通用的万能编辑器来使用了。
完成本教程的内容大约需要25-30分钟,取决于您训练的时间。
每一节的命令操作将会更改本文。推荐您复制本文的一个副本,然后在副本上
进行训练(如果您是通过"vimtutor"来启动教程的,那么本文就已经是副本了)。
切记一点∶本教程的设计思路是在使用中进行学习的。也就是说,您需要通过
执行命令来学习它们本身的正确用法。如果您只是阅读而不操作,那么您可能
会很快遗忘这些命令的!
好了,现在请确定您的Shift-Lock(大小写锁定键)还没有按下,然后按键盘上
的字母键j足够多的次数来移动光标,直到第一节的内容能够完全充满屏幕。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第一讲第一节∶移动光标
※※ 要移动光标,请依照说明分别按下h、j、k、l键。※※
^
k 提示∶h 的键位于左边,每次按下就会向左移动。
j j 键看起来很象一支尖端方向朝下的箭头。
v
1. 请随意在屏幕内移动光标,直至您觉得舒服为止。
2. 按下下行键(j),直到出现光标重复下行。
---> 现在您应该已经学会如何移动到下一讲吧。
3. 现在请使用下行键,将光标移动到第二讲。
提示∶如果您不敢确定您所按下的字母,请按下
然后再次从键盘输入您想要的命令。
提示∶光标键应当也能正常工作的。但是使用hjkl键,在习惯之后您就能够快速
地在屏幕内四处移动光标了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第一讲第二节∶VIM的进入和退出
!! 特别提示∶敬请阅读完整本一节的内容,然后才能执行以下所讲解的命令。
1. 请按
2. 然后输入∶ :q! <回车>
---> 这种方式的退出编辑器绝不会保存您进入编辑器以来所做的改动。
如果您想保存更改再退出,请输入∶
:wq <回车>
3. 如果您看到了命令行提示符,请输入能够带您回到本教程的命令,那就是∶
vimtutor <回车>
通常情况下您也可以用这种方式∶
vim tutor <回车>
---> 这里的&#39;vim&#39; 表示进入vim编辑器,而&#39;tutor&#39;则是您准备要编辑的文件。
4. 如果您自信已经牢牢记住了这些步骤的话,请从步骤1执行到步骤3退出,然
后再次进入编辑器。接着将光标移动到第一讲第三节来继续我们的教程讲解。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第一讲第三节∶文本编辑之删除
** 在正常(Normal)模式下,可以按下x 键来删除光标所在位置的字符。**
1. 请将光标移动到本节中下面标记有---> 的那一行。
2. 为了修正输入错误,请将光标移至准备删除的字符的位置处。
3. 然后按下x 键将错误字符删除掉。
4. 重复步骤2到步骤4,直到句子修正为止。
---> The ccow jumpedd ovverr thhemooon.
5. 好了,该行已经修正了,下一节内容是第一讲第四节。
特别提示∶在您浏览本教程时,不要强行记忆。记住一点∶在使用中学习。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第一讲第四节∶文本编辑之插入
** 在正常模式下,可以按下i 键来插入文本。**
1. 请将光标移动到本节中下面标记有---> 的第一行。
2. 为了使得第一行内容雷同于第二行,请将光标移至文本第一个字符准备插入
的位置。
3. 然后按下i 键,接着输入必要的文本字符。
4. 所有文本都修正完毕,请按下
重复步骤2至步骤4以便修正句子。
---> There is text misng this .
---> There is some text missing fromthis line.
5. 如果您对文本插入操作已经很满意,请接着阅读下面的小结。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第一讲小结
1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用hjkl 字母键。
h (左移) j (下行) k (上行) l (右移)
2. 欲进入vim编辑器(从命令行提示符),请输入∶vim文件名<回车>
3. 欲退出vim编辑器,请输入以下命令放弃所有修改∶
或者输入以下命令保存所有修改∶
4. 在正常模式下删除光标所在位置的字符,请按∶x
5. 在正常模式下要在光标所在位置开始插入文本,请按∶
i 输入必要文本
特别提示∶按下
的命令。
好了,第一讲到此结束。下面接下来继续第二讲的内容。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲第一节∶删除类命令
** 输入dw 可以从光标处删除至一个单字/单词的末尾。**
1. 请按下
2. 请将光标移动到本节中下面标记有---> 的那一行。
3. 请将光标移至准备要删除的单词的开始。
4. 接着输入dw 删除掉该单词。
特别提示∶您所输入的dw会在您输入的同时出现在屏幕的最后一行。如果您输
入有误,请按下
---> There are a some words fun thatdon&#39;t belong paper in this sentence.
5. 重复步骤3至步骤4,直至句子修正完毕。接着继续第二讲第二节内容。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲第二节∶其他删除类命令
** 输入d$ 从当前光标删除到行末。**
1. 请按下
2. 请将光标移动到本节中下面标记有---> 的那一行。
3. 请将光标移动到该行的尾部(也就是在第一个点号‘.’后面)。
4. 然后输入d$ 从光标处删至当前行尾部。
---> Somebody typed the end of thisline twice. end of this line twice.
5. 请继续学习第二讲第三节就知道是怎么回事了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲第三节∶关于命令和对象
删除命令d的格式如下∶
[number] d object 或者 d [number] object
其意如下∶
number - 代表执行命令的次数(可选项,缺省设置为1 )。
d - 代表删除。
object - 代表命令所要操作的对象(下面有相关介绍)。
一个简短的对象列表∶
w - 从当前光标当前位置直到单字/单词末尾,包括空格。
e - 从当前光标当前位置直到单字/单词末尾,但是*不*包括空格。
$ - 从当前光标当前位置直到当前行末。
特别提示∶
对于勇于探索者,请在正常模式下面仅按代表相应对象的键而不使用命令,则
将看到光标的移动正如上面的对象列表所代表的一样。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲第四节∶对象命令的特殊情况
** 输入dd 可以删除整一个当前行。**
鉴于整行删除的高频度,VIM的设计者决定要简化整行删除,仅需要在同一行上
击打两次d就可以删除掉光标所在的整行了。
1. 请将光标移动到本节中下面的短句段落中的第二行。
2. 输入dd 删除该行。
3. 然后移动到第四行。
4. 接着输入2dd (还记得前面讲过的number-command-object吗?)删除两行。
1) Roses are red,
2) Mud is fun,
3) Violets are blue,
4) I have a car,
5) Clocks tell time,
6) Sugar is sweet
7) And so are you.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲第五节∶撤消类命令
** 输入u 来撤消最后执行的命令,输入U 来修正整行。**
1. 请将光标移动到本节中下面标记有---> 的那一行,并将其置于第一个错误
处。
2. 输入x 删除第一个不想保留的字母。
3. 然后输入u 撤消最后执行的(一次)命令。
4. 这次要使用x 修正本行的所有错误。
5. 现在输入一个大写的U ,恢复到该行的原始状态。
6. 接着多次输入u 以撤消U 以及更前的命令。
7. 然后多次输入CTRL-R (先按下CTRL 键不放开,接着输入R 键) ,这样就
可以执行恢复命令,也就是撤消掉撤消命令。
---> Fiix the errors oon thhis lineand reeplace them witth undo.
8. 这些都是非常有用的命令。下面是第二讲的小结了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲小结
1. 欲从当前光标删除至单字/单词末尾,请输入∶dw
2. 欲从当前光标删除至当前行末尾,请输入∶d$
3. 欲删除整行,请输入∶dd
4. 在正常模式下一个命令的格式是∶
[number] command object或者command [number] object
其意是∶
number - 代表的是命令执行的次数
command - 代表要做的事情,比如d 代表删除
object - 代表要操作的对象,比如w 代表单字/单词,$代表到行末等等。
$ (to the end of line),etc.
5. 欲撤消以前的操作,请输入∶u(小写的u)
欲撤消在一行中所做的改动,请输入∶U(大写的U)
欲撤消以前的撤消命令,恢复以前的操作结果,请输入∶CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三讲第一节∶置入类命令
** 输入p 将最后一次删除的内容置入光标之后**
1. 请将光标移动到本节中下面示范段落的首行。
2. 输入dd 将该行删除,这样会将该行保存到vim的缓冲区中。
3. 接着将光标移动到准备置入的位置的上方。记住∶是上方哦。
4. 然后在正常模式下(
5. 重复步骤2至步骤4,将所有的行依序放置到正确的位置上。
d) Can you learn too?
b) Violets are blue,
c) Intelligence is learned,
a) Roses are red,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三讲第二节∶替换类命令
** 输入r 和一个字符替换光标所在位置的字符。**
1. 请将光标移动到本节中下面标记有---> 的第一行。
2. 请移动光标到第一个错误的适当位置。
3. 接着输入r ,这样就能将错误替换掉了。
4. 重复步骤2和步骤3,直到第一行已经修改完毕。
---> Whan this lime was tuoed in,someone presswd some wrojg keys!
---> When this line was typed in,someone pressed some wrong keys!
5. 然后我们继续学校第三讲第三节。
特别提示∶切记您要在使用中学习,而不是在记忆中学习。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三讲第三节∶更改类命令
** 要改变一个单字/单词的部分或者全部,请输入cw **
1. 请将光标移动到本节中下面标记有---> 的第一行。
2. 接着把光标放在单词lubw 的字母u 的位置那里。
3. 然后输入cw 就可以修正该单词了(在本例这里是输入ine。)
4. 最后按
5. 重复步骤3和步骤4,直到第一个句子完全雷同第二个句子。
---> This lubw has a few wptfd thatmrrf changing usf the change command.
---> This line has a few words thatneed changing using the change command.
提示∶请注意cw命令不仅仅是替换了一个单词,也让您进入文本插入状态了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三讲第四节∶使用c指令的其他更改类命令
**更改类指令可以使用同删除类命令所使用的对象参数。**
1. 更改类指令的工作方式跟删除类命令是一致的。操作格式是∶
[number] c object 或者 c [number] object
2. 对象参数也是一样的,比如w 代表单字/单词,$代表行末等等。
3. 请将光标移动到本节中下面标记有---> 的第一行。
4. 接着将光标移动到第一个错误处。
5. 然后输入c$ 使得该行剩下的部分更正得同第二行一样。最后按
---> The end of this line needs somehelp to make it like the second.
---> The end of this line needs tobe corrected using the c$ command.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三讲小结
1. 要重新置入已经删除的文本内容,请输入小写字母p。该操作可以将已删除
的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置
于当前光标所在行的下一行。
2. 要替换光标所在位置的字符,请输入小写的r 和要替换掉原位置字符的新字
符即可。
3. 更改类命令允许您改变指定的对象,从当前光标所在位置直到对象的末尾。
比如输入cw可以替换当前光标到单词的末尾的内容;输入c$可以替换当
前光标到行末的内容。
4. 更改类命令的格式是∶
[number] c object 或者 c [number] object
下面我们继续学习下一讲。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第四讲第一节∶定位及文件状态
** 输入CTRL-g 显示当前编辑文件中当前光标所在行位置以及文件状态信息。
输入SHIFT-G则直接跳转到文件中的某一指定行。**
提示∶切记要先通读本节内容,之后才可以执行以下步骤!!!
1. 按下CTRL 键不放开然后按g 键。然后就会看到页面最底部出现一个状态信
息行,显示的内容是当前编辑的文件名和文件的总行数。请记住步骤3的行号。