diff options
author | Bram Moolenaar <Bram@vim.org> | 2012-10-03 21:46:54 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2012-10-03 21:46:54 +0200 |
commit | 97cc2384c07b2fd067375fdd5a1a41dbc6c892d6 (patch) | |
tree | b1081bf0fb58f80c94bed1d77817e35dc08ec6ed /runtime/tutor/tutor.zh_cn.utf-8 | |
parent | 14f5827940ebd819a77048761a28c0b208addaee (diff) |
Update runtime files.
Diffstat (limited to 'runtime/tutor/tutor.zh_cn.utf-8')
-rw-r--r-- | runtime/tutor/tutor.zh_cn.utf-8 | 765 |
1 files changed, 455 insertions, 310 deletions
diff --git a/runtime/tutor/tutor.zh_cn.utf-8 b/runtime/tutor/tutor.zh_cn.utf-8 index 0821ef6e45..3ff031f7c5 100644 --- a/runtime/tutor/tutor.zh_cn.utf-8 +++ b/runtime/tutor/tutor.zh_cn.utf-8 @@ -1,30 +1,32 @@ =============================================================================== -= 欢 迎 阅 读 《 V I M 教 程 》 —— 版本 1.5 = += 欢 迎 阅 读 《 V I M 教 程 》 —— 版本 1.7 = =============================================================================== - vim 是一个具有很多命令的功能非常强大的编辑器。限于篇幅,在本教程当中 + + Vim 是一个具有很多命令的功能非常强大的编辑器。限于篇幅,在本教程当中 就不详细介绍了。本教程的设计目标是讲述一些必要的基本命令,而掌握好这 - 些命令,您就能够很容易将vim当作一个通用的万能编辑器来使用了。 + 些命令,您就能够很容易地将 Vim 当作一个通用编辑器来使用了。 完成本教程的内容大约需要25-30分钟,取决于您训练的时间。 + 注意: 每一节的命令操作将会更改本文。推荐您复制本文的一个副本,然后在副本上 进行训练(如果您是通过"vimtutor"来启动教程的,那么本文就已经是副本了)。 - 切记一点∶本教程的设计思路是在使用中进行学习的。也就是说,您需要通过 + 切记一点:本教程的设计思路是在使用中进行学习的。也就是说,您需要通过 执行命令来学习它们本身的正确用法。如果您只是阅读而不操作,那么您可能 会很快遗忘这些命令的! 好了,现在请确定您的Shift-Lock(大小写锁定键)还没有按下,然后按键盘上 - 的字母键 j 足够多的次数来移动光标,直到第一节的内容能够完全充满屏幕。 + 的字母键 j 足够多次来移动光标,直到第一节的内容能够完全充满屏幕。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第一讲第一节∶移动光标 + 第一讲第一节:移动光标 - ※※ 要移动光标,请依照说明分别按下 h、j、k、l 键。 ※※ + ** 要移动光标,请依照说明分别按下 h、j、k、l 键。 ** ^ - k 提示∶ h 的键位于左边,每次按下就会向左移动。 + k 提示: h 的键位于左边,每次按下就会向左移动。 < h l > l 的键位于右边,每次按下就会向右移动。 j j 键看起来很象一支尖端方向朝下的箭头。 v @@ -35,43 +37,38 @@ ---> 现在您应该已经学会如何移动到下一讲吧。 - 3. 现在请使用下行键,将光标移动到第二讲。 + 3. 现在请使用下行键,将光标移动到第一讲第二节。 -提示∶如果您不敢确定您所按下的字母,请按下<ESC>键回到正常(Normal)模式。 +提示:如果您不敢确定您所按下的字母,请按下<ESC>键回到正常(Normal)模式。 然后再次从键盘输入您想要的命令。 -提示∶光标键应当也能正常工作的。但是使用hjkl键,在习惯之后您就能够快速 - 地在屏幕内四处移动光标了。 +提示:光标键应当也能正常工作的。但是使用hjkl键,在习惯之后您就能够更快 + 地在屏幕内四处移动光标。真的是这样! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第一讲第二节∶VIM的进入和退出 - + 第一讲第二节:VIM的进入和退出 - !! 特别提示∶敬请阅读完整本一节的内容,然后才能执行以下所讲解的命令。 - 1. 请按<ESC>键(这是为了确保您处在正常模式)。 + !! 特别提示:敬请阅读本一节的完整内容,然后再执行以下所讲解的命令。 - 2. 然后输入∶ :q! <回车> + 1. 按<ESC>键(这是为了确保您处在正常模式)。 ----> 这种方式的退出编辑器绝不会保存您进入编辑器以来所做的改动。 - 如果您想保存更改再退出,请输入∶ - :wq <回车> + 2. 然后输入: :q! <回车> + 这种方式的退出编辑器会丢弃您进入编辑器以来所做的改动。 - 3. 如果您看到了命令行提示符,请输入能够带您回到本教程的命令,那就是∶ + 3. 如果您看到了命令行提示符,请输入能够带您回到本教程的命令,那就是: + vimtutor <回车> - vimtutor <回车> + 4. 如果您自信已经牢牢记住了这些步骤的话,请从步骤1执行到步骤3退出,然 + 后再次进入编辑器。 - 通常情况下您也可以用这种方式∶ +提示: :q! <回车> 会丢弃您所做的任何改动。几讲之后您将学会如何保存改动到文件。 - vim tutor <回车> + 5. 将光标下移到第一讲第三节。 ----> 这里的 'vim' 表示进入vim编辑器,而 'tutor'则是您准备要编辑的文件。 - - 4. 如果您自信已经牢牢记住了这些步骤的话,请从步骤1执行到步骤3退出,然 - 后再次进入编辑器。接着将光标移动到第一讲第三节来继续我们的教程讲解。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第一讲第三节∶文本编辑之删除 + 第一讲第三节:文本编辑之删除 ** 在正常(Normal)模式下,可以按下 x 键来删除光标所在位置的字符。** @@ -86,89 +83,130 @@ ---> The ccow jumpedd ovverr thhe mooon. - 5. 好了,该行已经修正了,下一节内容是第一讲第四节。 + 5. 好了,该行已经修正了,下面是第一讲第四节。 -特别提示∶在您浏览本教程时,不要强行记忆。记住一点∶在使用中学习。 +特别提示:在浏览本教程时,不要强行记忆。记住一点:在使用中学习。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第一讲第四节∶文本编辑之插入 + 第一讲第四节:文本编辑之插入 ** 在正常模式下,可以按下 i 键来插入文本。** 1. 请将光标移动到本节中下面标记有 ---> 的第一行。 - 2. 为了使得第一行内容雷同于第二行,请将光标移至文本第一个字符准备插入 + 2. 为了使得第一行内容雷同于第二行,请将光标移至文本第一个准备插入字符 的位置。 3. 然后按下 i 键,接着输入必要的文本字符。 - 4. 所有文本都修正完毕,请按下 <ESC> 键返回正常模式。 + 4. 每个错误修正完毕后,请按下 <ESC> 键返回正常模式。 重复步骤2至步骤4以便修正句子。 ---> There is text misng this . ---> There is some text missing from this line. - 5. 如果您对文本插入操作已经很满意,请接着阅读下面的小结。 + 5. 如果您对文本插入操作已经很满意,请接着阅读下面的第一讲第五节。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第一讲小结 + 第一讲第五节:文本编辑之添加 - 1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。 - h (左移) j (下行) k (上行) l (右移) + ** 按 A 键以添加文本。 ** + + 1. 移动光标到下面第一个标记有 ---> 的一行。 + 光标放在那一行的哪个字符上并不重要。 + + 2. 按 A 键输入必要的添加内容。 + + 3. 文本添加完毕后,按 <ESC> 键回到正常模式。 + + 4. 移动光标到下面第二个标记有 ---> 的一行。重复步骤2和步骤3以改正这个句子。 + +---> There is some text missing from th + There is some text missing from this line. +---> There is also some text miss + There is also some text missing here. + + 5. 当您对添加文本操作感到满意时,请继续学习第一讲第六节。 - 2. 欲进入vim编辑器(从命令行提示符),请输入∶vim 文件名 <回车> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第一讲第六节:编辑文件 + + ** 使用 :wq 以保存文件并退出。 ** + + 特别提示:在执行以下步骤之前,请先读完整个小节! + + 1. 如您在第一讲第二节中所做的那样退出本教程: :q! + 或者,如果您可以访问另一个终端,请在那里执行以下操作。 + + 2. 在 shell 的提示符下输入命令: vim tutor <回车> + 'vim'是启动 Vim 编辑器的命令,'tutor'是您希望编辑的文件的名字。 + 请使用一个可以改动的文件。 + + 3. 使用您在前面的教程中学到的命令插入删除文本。 + + 4. 保存改动过的文件并退出 Vim,按这些键: :wq <回车> - 3. 欲退出vim编辑器,请输入以下命令放弃所有修改∶ + 5. 如果您在步骤1中已经退出 vimtutor,请重启 vimtutor 移动到下面的小结一节。 - <ESC> :q! <回车> + 6. 阅读完以上步骤,弄懂它们的意义,然后在实践中进行练习。 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第一讲小结 + + + 1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。 + h (左移) j (下行) k (上行) l (右移) - 或者输入以下命令保存所有修改∶ + 2. 欲进入 Vim 编辑器(从命令行提示符),请输入:vim 文件名 <回车> - <ESC> :wq <回车> + 3. 欲退出 Vim 编辑器,请输入 <ESC> :q! <回车> 放弃所有改动。 + 或者输入 <ESC> :wq <回车> 保存改动。 - 4. 在正常模式下删除光标所在位置的字符,请按∶ x + 4. 在正常模式下删除光标所在位置的字符,请按: x - 5. 在正常模式下要在光标所在位置开始插入文本,请按∶ + 5. 欲插入或添加文本,请输入: - i 输入必要文本 <ESC> + i 输入欲插入文本 <ESC> 在光标前插入文本 + A 输入欲添加文本 <ESC> 在一行后添加文本 -特别提示∶按下 <ESC> 键会带您回到正常模式或者取消一个不期望或者部分完成 +特别提示:按下 <ESC> 键会带您回到正常模式或者撤消一个不想输入或部分完整 的命令。 好了,第一讲到此结束。下面接下来继续第二讲的内容。 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第二讲第一节∶删除类命令 + 第二讲第一节:删除类命令 - ** 输入 dw 可以从光标处删除至一个单字/单词的末尾。** + ** 输入 dw 可以从光标处删除至一个单词的末尾。** 1. 请按下 <ESC> 键确保您处于正常模式。 2. 请将光标移动到本节中下面标记有 ---> 的那一行。 - 3. 请将光标移至准备要删除的单词的开始。 + 3. 请将光标移至准备要删除的单词的起始处。 4. 接着输入 dw 删除掉该单词。 - 特别提示∶您所输入的 dw 会在您输入的同时出现在屏幕的最后一行。如果您输 - 入有误,请按下 <ESC> 键取消,然后重新再来。 + 特别提示:当您输入时,字母 d 会同时出现在屏幕的最后一行。Vim 在等待您输入 + 字母 w。如果您看到的是除 d 外的其他字符,那表明您按错了;请按下 <ESC> 键, + 然后重新再来。 ---> There are a some words fun that don't belong paper in this sentence. - 5. 重复步骤3至步骤4,直至句子修正完毕。接着继续第二讲第二节内容。 - + 5. 重复步骤3和步骤4,直至句子修正完毕。接着继续第二讲第二节内容。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第二讲第二节∶其他删除类命令 + 第二讲第二节:更多删除类命令 ** 输入 d$ 从当前光标删除到行末。** @@ -191,58 +229,102 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第二讲第三节∶关于命令和对象 + 第二讲第三节:关于命令和对象 - 删除命令 d 的格式如下∶ + 许多改变文本的命令都由一个操作符和一个动作构成。 + 使用删除操作符 d 的删除命令的格式如下: - [number] d object 或者 d [number] object + d motion - 其意如下∶ - number - 代表执行命令的次数(可选项,缺省设置为 1 )。 - d - 代表删除。 - object - 代表命令所要操作的对象(下面有相关介绍)。 + 其中: + d - 删除操作符。 + motion - 操作符的操作对象(在下面列出)。 - 一个简短的对象列表∶ - w - 从当前光标当前位置直到单字/单词末尾,包括空格。 - e - 从当前光标当前位置直到单字/单词末尾,但是 *不* 包括空格。 + 一个简短的动作列表: + w - 从当前光标当前位置直到下一个单词起始处,不包括它的第一个字符。 + e - 从当前光标当前位置直到单词末尾,包括最后一个字符。 $ - 从当前光标当前位置直到当前行末。 -特别提示∶ - 对于勇于探索者,请在正常模式下面仅按代表相应对象的键而不使用命令,则 + 因此输入 de 会从当前光标位置删除到单词末尾。 + +特别提示: + 对于勇于探索者,请在正常模式下面仅按代表相应动作的键而不使用操作符,您 将看到光标的移动正如上面的对象列表所代表的一样。 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第二讲第四节:使用计数指定动作 + + + ** 在动作前输入数字会使它重复那么多次。 ** + + 1. 移动光标到下面标记有 ---> 的一行的开始。 + + 2. 输入 2w 使光标向前移动两个单词。 + + 3. 输入 3e 使光标向前移动到第三个单词的末尾。 + + 4. 输入 0 (数字零) 移动光标到行首。 + + 5. 重复步骤2和步骤3,尝试不同的数字。 + +---> This is just a line with words you can move around in. + + 6. 请继续学习第二讲第五节。 + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第二讲第五节:使用计数以删除更多 + + + ** 使用操作符时输入数字可以使它重复那么多次。 ** + + 上面已经提到过删除操作符和动作的组合,您可以在组合中动作之前插入一个数字以 + 删除更多: + d number(数字) motion + + 1. 移动光标到下面标记有 ---> 的一行中第一个大写字母单词上。 + + 2. 输入 d2w 以删除两个大写字母单词。 + + 3. 重复步骤1和步骤2,使用不同的数字使得用一个命令就能删除全部相邻的大写字母 + 单词 + +---> this ABC DE line FGHI JK LMN OP of words is Q RS TUV cleaned up. + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第二讲第四节∶对象命令的特殊情况 + 第二讲第六节:操作整行 - ** 输入 dd 可以删除整一个当前行。 ** + ** 输入 dd 可以删除整一个当前行。 ** - 鉴于整行删除的高频度,VIM 的设计者决定要简化整行删除,仅需要在同一行上 + 鉴于整行删除的高频度,Vi 的设计者决定要简化整行删除操作,您仅需要在同一行上 击打两次 d 就可以删除掉光标所在的整行了。 1. 请将光标移动到本节中下面的短句段落中的第二行。 2. 输入 dd 删除该行。 3. 然后移动到第四行。 - 4. 接着输入 2dd (还记得前面讲过的 number-command-object 吗?) 删除两行。 + 4. 接着输入 2dd 删除两行。 - 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. +---> 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 来修正整行。** + ** 输入 u 来撤消最后执行的命令,输入 U 来撤消对整行的修改。 ** 1. 请将光标移动到本节中下面标记有 ---> 的那一行,并将其置于第一个错误 处。 @@ -251,8 +333,8 @@ 4. 这次要使用 x 修正本行的所有错误。 5. 现在输入一个大写的 U ,恢复到该行的原始状态。 6. 接着多次输入 u 以撤消 U 以及更前的命令。 - 7. 然后多次输入 CTRL-R (先按下 CTRL 键不放开,接着输入 R 键) ,这样就 - 可以执行恢复命令,也就是撤消掉撤消命令。 + 7. 然后多次输入 CTRL-R (先按下 CTRL 键不放开,接着按 R 键),这样就 + 可以重做被撤消的命令,也就是撤消掉撤消命令。 ---> Fiix the errors oon thhis line and reeplace them witth undo. @@ -265,105 +347,105 @@ 第二讲小结 - 1. 欲从当前光标删除至单字/单词末尾,请输入∶dw - - 2. 欲从当前光标删除至当前行末尾,请输入∶d$ - - 3. 欲删除整行,请输入∶dd + 1. 欲从当前光标删除至下一个单词,请输入:dw + 2. 欲从当前光标删除至当前行末尾,请输入:d$ + 3. 欲删除整行,请输入:dd - 4. 在正常模式下一个命令的格式是∶ + 4. 欲重复一个动作,请在它前面加上一个数字:2w + 5. 在正常模式下修改命令的格式是: + operator [number] motion + 其中: + operator - 操作符,代表要做的事情,比如 d 代表删除 + [number] - 可以附加的数字,代表动作重复的次数 + motion - 动作,代表在所操作的文本上的移动,例如 w 代表单词(word), + $ 代表行末等等。 - [number] command object 或者 command [number] object - 其意是∶ - number - 代表的是命令执行的次数 - command - 代表要做的事情,比如 d 代表删除 - object - 代表要操作的对象,比如 w 代表单字/单词,$ 代表到行末等等。 - $ (to the end of line), etc. + 6. 欲移动光标到行首,请按数字0键:0 - 5. 欲撤消以前的操作,请输入∶u (小写的u) - 欲撤消在一行中所做的改动,请输入∶U (大写的U) - 欲撤消以前的撤消命令,恢复以前的操作结果,请输入∶CTRL-R + 7. 欲撤消以前的操作,请输入:u (小写的u) + 欲撤消在一行中所做的改动,请输入:U (大写的U) + 欲撤消以前的撤消命令,恢复以前的操作结果,请输入:CTRL-R ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第三讲第一节∶置入类命令 + 第三讲第一节:置入类命令 - ** 输入 p 将最后一次删除的内容置入光标之后 ** + ** 输入 p 将最后一次删除的内容置入光标之后。 ** - 1. 请将光标移动到本节中下面示范段落的首行。 + 1. 请将光标移动到本节中下面第一个标记有 ---> 的一行。 - 2. 输入 dd 将该行删除,这样会将该行保存到vim的缓冲区中。 + 2. 输入 dd 将该行删除,这样会将该行保存到 Vim 的一个寄存器中。 - 3. 接着将光标移动到准备置入的位置的上方。记住∶是上方哦。 + 3. 接着将光标移动到 c) 一行,即准备置入的位置的上方。记住:是上方哦。 - 4. 然后在正常模式下(<ESC>键进入),输入 p 将该行粘贴置入。 + 4. 然后在正常模式下(<ESC>键进入)输入 p 将该行粘贴置入。 5. 重复步骤2至步骤4,将所有的行依序放置到正确的位置上。 - d) Can you learn too? - b) Violets are blue, - c) Intelligence is learned, - a) Roses are red, +---> d) Can you learn too? +---> b) Violets are blue, +---> c) Intelligence is learned, +---> a) Roses are red, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第三讲第二节∶替换类命令 + 第三讲第二节:替换类命令 ** 输入 r 和一个字符替换光标所在位置的字符。** 1. 请将光标移动到本节中下面标记有 ---> 的第一行。 - 2. 请移动光标到第一个错误的适当位置。 + 2. 请移动光标到第一个出错的位置。 - 3. 接着输入 r ,这样就能将错误替换掉了。 + 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. 然后我们继续学校第三讲第三节。 + 5. 然后我们继续学习第三讲第三节。 -特别提示∶切记您要在使用中学习,而不是在记忆中学习。 +特别提示:切记您要在使用中学习,而不是在记忆中学习。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第三讲第三节∶更改类命令 + 第三讲第三节:更改类命令 - ** 要改变一个单字/单词的部分或者全部,请输入 cw ** + ** 要改变文本直到一个单词的末尾,请输入 ce ** 1. 请将光标移动到本节中下面标记有 ---> 的第一行。 2. 接着把光标放在单词 lubw 的字母 u 的位置那里。 - 3. 然后输入 cw 就可以修正该单词了(在本例这里是输入 ine 。) + 3. 然后输入 cw 以及正确的单词(在本例中是输入 ine )。 4. 最后按 <ESC> 键,然后光标定位到下一个错误第一个准备更改的字母处。 5. 重复步骤3和步骤4,直到第一个句子完全雷同第二个句子。 ----> This lubw has a few wptfd that mrrf changing usf the change command. ----> This line has a few words that need changing using the change command. +---> This lubw has a few wptfd that mrrf changing usf the change operator. +---> This line has a few words that need changing using the change operator. -提示∶请注意 cw 命令不仅仅是替换了一个单词,也让您进入文本插入状态了。 +提示:请注意 ce 命令不仅仅是删除了一个单词,它也让您进入插入模式了。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第三讲第四节∶使用c指令的其他更改类命令 + 第三讲第四节:使用c更改更多 - ** 更改类指令可以使用同删除类命令所使用的对象参数。** + ** 更改类操作符可以与删除中使用的同样的动作配合使用。 ** - 1. 更改类指令的工作方式跟删除类命令是一致的。操作格式是∶ + 1. 更改类操作符的工作方式跟删除类是一致的。操作格式是: - [number] c object 或者 c [number] object + c [number] motion - 2. 对象参数也是一样的,比如 w 代表单字/单词,$代表行末等等。 + 2. 动作参数(motion)也是一样的,比如 w 代表单词,$代表行末等等。 3. 请将光标移动到本节中下面标记有 ---> 的第一行。 @@ -377,55 +459,56 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第三讲小结 + 第三讲小结 - 1. 要重新置入已经删除的文本内容,请输入小写字母 p。该操作可以将已删除 + 1. 要重新置入已经删除的文本内容,请按小写字母 p 键。该操作可以将已删除 的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置 于当前光标所在行的下一行。 2. 要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字 符即可。 - 3. 更改类命令允许您改变指定的对象,从当前光标所在位置直到对象的末尾。 - 比如输入 cw 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当 + 3. 更改类命令允许您改变从当前光标所在位置直到动作指示的位置中间的文本。 + 比如输入 ce 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当 前光标到行末的内容。 - 4. 更改类命令的格式是∶ + 4. 更改类命令的格式是: - [number] c object 或者 c [number] object + c [number] motion -下面我们继续学习下一讲。 +现在我们继续学习下一讲。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第四讲第一节∶定位及文件状态 + 第四讲第一节:定位及文件状态 + ** 输入 CTRL-G 显示当前编辑文件中当前光标所在行位置以及文件状态信息。 + 输入大写 G 则直接跳转到文件中的某一指定行。** - ** 输入 CTRL-g 显示当前编辑文件中当前光标所在行位置以及文件状态信息。 - 输入 SHIFT-G 则直接跳转到文件中的某一指定行。** + 提示:切记要先通读本节内容,之后才可以执行以下步骤!!! - 提示∶切记要先通读本节内容,之后才可以执行以下步骤!!! + 1. 按下 CTRL 键不放开然后按 g 键。我们称这个键组合为 CTRL-G。 + 您会看到页面最底部出现一个状态信息行,显示的内容是当前编辑的文件名 + 和文件中光标位置。请记住行号,它会在步骤3中用到。 - 1. 按下 CTRL 键不放开然后按 g 键。然后就会看到页面最底部出现一个状态信 - 息行,显示的内容是当前编辑的文件名和文件的总行数。请记住步骤3的行号。 +提示:您也许会在屏幕的右下角看到光标位置,这会在 'ruler' 选项设置时发生 + (参见 :help 'ruler') - 2. 按下 SHIFT-G 键可以使得当前光标直接跳转到文件最后一行。 - - 3. 输入您曾停留的行号,然后按下 SHIFT-G。这样就可以返回到您第一次按下 - CTRL-g 时所在的行好了。注意∶输入行号时,行号是不会在屏幕上显示出来 - 的。 - - 4. 如果愿意,您可以继续执行步骤1至步骤三。 + 2. 输入大写 G 可以使得当前光标直接跳转到文件最后一行。 + 输入 gg 可以使得当前光标直接跳转到文件第一行。 + 3. 输入您曾停留的行号,然后输入大写 G。这样就可以返回到您第一次按下 + CTRL-G 时所在的行了。 + 4. 如果您觉得没问题的话,请执行步骤1至步骤3的操作进行练习。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第四讲第二节∶搜索类命令 + 第四讲第二节:搜索类命令 - ** 输入 / 以及尾随的字符串可以用以在当前文件中查找该字符串。** + ** 输入 / 加上一个字符串可以用以在当前文件中查找该字符串。** 1. 在正常模式下输入 / 字符。您此时会注意到该字符和光标都会出现在屏幕底 部,这跟 : 命令是一样的。 @@ -433,23 +516,22 @@ 2. 接着输入 errroor <回车>。那个errroor就是您要查找的字符串。 3. 要查找同上一次的字符串,只需要按 n 键。要向相反方向查找同上一次的字 - 符串,请输入 Shift-N 即可。 + 符串,请输入大写 N 即可。 4. 如果您想逆向查找字符串,请使用 ? 代替 / 进行。 ----> When the search reaches the end of the file it will continue at the start. - - "errroor" is not the way to spell error; errroor is an error. - - 提示∶如果查找已经到达文件末尾,查找会自动从文件头部继续查找。 - + 5. 要回到您之前的位置按 CTRL-O (按住 Ctrl 键不放同时按下字母 o)。重复按可以 + 回退更多步。CTRL-I 会跳转到较新的位置。 +---> "errroor" is not the way to spell error; errroor is an error. +提示:如果查找已经到达文件末尾,查找会自动从文件头部继续查找,除非 + 'wrapscan' 选项被复位。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第四讲第三节∶配对括号的查找 + 第四讲第三节:配对括号的查找 - ** 按 % 可以查找配对的括号 )、]、}。** + ** 输入 % 可以查找配对的括号 )、]、}。** 1. 把光标放在本节下面标记有 --> 那一行中的任何一个 (、[ 或 { 处。 @@ -459,17 +541,17 @@ 4. 再次按 % 就可以跳回配对的第一个括号处。 ----> This ( is a test line with ('s, ['s ] and {'s } in it. )) - -提示∶在程序调试时,这个功能用来查找不配对的括号是很有用的。 + 5. 移动光标到另一个 (、)、[、]、{ 或 } 处,按 % 查看其所作所为。 +---> This ( is a test line with ('s, ['s ] and {'s } in it. )) +提示:在程序调试时,这个功能用来查找不配对的括号是很有用的。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第四讲第四节∶修正错误的方法之一 + 第四讲第四节:替换命令 ** 输入 :s/old/new/g 可以替换 old 为 new。** @@ -479,46 +561,48 @@ 2. 输入 :s/thee/the <回车> 。请注意该命令只改变光标所在行的第一个匹配 串。 - 3. 输入 :s/thee/the/g 则是替换全行的匹配串。 - ----> the best time to see thee flowers is in thee spring. - - 4. 要替换两行之间出现的每个匹配串,请输入 :#,#s/old/new/g (#,#代表的是 - 两行的行号)。输入 :%s/old/new/g 则是替换整个文件中的每个匹配串。 - + 3. 输入 :s/thee/the/g 则是替换全行的匹配串,该行中所有的 "thee" 都会被 + 改变。 +---> thee best time to see thee flowers is in thee spring. + 4. 要替换两行之间出现的每个匹配串,请 + 输入 :#,#s/old/new/g 其中 #,# 代表的是替换操作的若干行中 + 首尾两行的行号。 + 输入 :%s/old/new/g 则是替换整个文件中的每个匹配串。 + 输入 :%s/old/new/gc 会找到整个文件中的每个匹配串,并且对每个匹配串 + 提示是否进行替换。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 第四讲小结 - 1. Ctrl-g 用于显示当前光标所在位置和文件状态信息。Shift-G 用于将光标跳 - 转至文件最后一行。先敲入一个行号然后按 Shift-G 则是将光标移动至该行 - 号代表的行。 + 1. CTRL-G 用于显示当前光标所在位置和文件状态信息。 + G 用于将光标跳转至文件最后一行。 + 先敲入一个行号然后输入大写 G 则是将光标移动至该行号代表的行。 + gg 用于将光标跳转至文件第一行。 - 2. 输入 / 然后紧随一个字符串是则是在当前所编辑的文档中向后查找该字符串。 - 输入问号 ? 然后紧随一个字符串是则是在当前所编辑的文档中向前查找该字 - 符串。完成一次查找之后按 n 键则是重复上一次的命令,可在同一方向上查 - 找下一个字符串所在;或者按 Shift-N 向相反方向查找下该字符串所在。 + 2. 输入 / 然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。 + 输入 ? 然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。 + 完成一次查找之后按 n 键是重复上一次的命令,可在同一方向上查 + 找下一个匹配字符串所在;或者按大写 N 向相反方向查找下一匹配字符串所在。 + CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置。 - 3. 如果光标当前位置是括号(、)、[、]、{、},按 % 可以将光标移动到配对的 - 括号上。 + 3. 如果光标当前位置是括号(、)、[、]、{、},按 % 会将光标移动到配对的括号上。 4. 在一行内替换头一个字符串 old 为新的字符串 new,请输入 :s/old/new 在一行内替换所有的字符串 old 为新的字符串 new,请输入 :s/old/new/g 在两行内替换所有的字符串 old 为新的字符串 new,请输入 :#,#s/old/new/g 在文件内替换所有的字符串 old 为新的字符串 new,请输入 :%s/old/new/g - 进行全文替换时询问用户确认每个替换需添加 c 选项,请输入 :%s/old/new/gc - + 进行全文替换时询问用户确认每个替换需添加 c 标志 :%s/old/new/gc ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第五讲第一节∶在 VIM 内执行外部命令的方法 + 第五讲第一节:在 VIM 内执行外部命令的方法 - ** 输入 :! 然后紧随著输入一个外部命令可以执行该外部命令。** + ** 输入 :! 然后紧接着输入一个外部命令可以执行该外部命令。** - 1. 按下我们所熟悉的 : 命令设置光标到屏幕底部。这样就可以让您输入命令了。 + 1. 按下我们所熟悉的 : 命令使光标移动到屏幕底部。这样您就可以输入一行命令了。 2. 接着输入感叹号 ! 这个字符,这样就允许您执行外部的 shell 命令了。 @@ -526,15 +610,17 @@ 内容,就如同您在命令行提示符下输入 ls 命令的结果一样。如果 !ls 没起 作用,您可以试试 :!dir 看看。 ----> 提示∶ 所有的外部命令都可以以这种方式执行。 +提示:所有的外部命令都可以以这种方式执行,包括带命令行参数的那些。 + +提示:所有的 : 命令都必须以敲 <回车> 键结束。从今以后我们就不会总是提到这一点 + 了。 ----> 提示∶ 所有的 : 命令都必须以 <回车> 告终。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第五讲第二节∶关于保存文件的更多信息 + 第五讲第二节:关于保存文件的更多信息 ** 要将对文件的改动保存到文件中,请输入 :w FILENAME 。** @@ -542,60 +628,63 @@ 1. 输入 :!dir 或者 :!ls 获知当前目录的内容。您应当已知道最后还得敲 <回车> 吧。 - 2. 选择一个尚未存在文件名,比如 TEST 。 + 2. 选择一个未被用到的文件名,比如 TEST。 3. 接着输入 :w TEST (此处 TEST 是您所选择的文件名。) - 4. 该命令会以 TEST 为文件名保存整个文件 (VIM 教程)。为了确保正确保存, - 请再次输入 :!dir 查看您的目录列表内容。 + 4. 该命令会以 TEST 为文件名保存整个文件 (Vim 教程)。为了验证这一点, + 请再次输入 :!dir 或 :!ls 查看您的目录列表内容。 ----> 请注意∶如果您退出 VIM 然后在以文件名 TEST 为参数进入,那么该文件内 +请注意:如果您退出 Vim 然后在以命令 vim TEST 再次启动 Vim,那么该文件内 容应该同您保存时的文件内容是完全一样的。 - 5. 现在您可以通过输入 :!rm TEST 来删除 TEST 文件了。 - + 5. 现在您可以删除 TEST 文件了。在 MS-DOS 下,请输入: :!del TEST + 在 Unix 下,请输入: :!rm TEST ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第五讲第三节∶一个具有选择性的保存命令 + 第五讲第三节:一个具有选择性的保存命令 - ** 要保存文件的部分内容,请输入 :#,# w FILENAME ** + ** 要保存文件的部分内容,请输入 v motion :w FILENAME ** - 1. 再来执行一次 :!dir 或者 :!ls 获知当前目录的内容,然后选择一个合适的 - 不重名的文件名,比如 TEST 。 + 1. 移动光标到本行。 - 2. 接着将光标移动至本页的最顶端,然后按 CTRL-g 找到该行的行号。别忘了 - 行号哦。 + 2. 接着按 v 键,将光标移动至下面第五个条目上。您会注意到之间的文本被高亮了。 - 3. 接着把光标移动至本页的最底端,再按一次 CTRL-g 。也别忘了这个行好哦。 + 3. 然后按 : 字符。您将看到屏幕底部会出现 :'<,'> 。 - 4. 为了只保存文章的某个部分,请输入 :#,# w TEST 。这里的 #,# 就是上面 - 要求您记住的行号(顶端行号,底端行号),而 TEST 就是选定的文件名。 - - 5. 最后,用 :!dir 确认文件是否正确保存。但是这次先别删除掉。 + 4. 现在请输入 w TEST,其中 TEST 是一个未被使用的文件名。确认您看到了 + :'<,'>w TEST 之后按 <回车> 键。 + 5. 这时 Vim 会把选中的行写入到以 TEST 命名的文件中去。使用 :!dir 或 :!ls + 确认文件被正确保存。这次先别删除它!我们在下一讲中会用到它。 +提示:按 v 键使 Vim 进入可视模式进行选取。您可以四处移动光标使选取区域变大或 + 变小。接着您可以使用一个操作符对选中文本进行操作。例如,按 d 键会删除 + 选中的文本内容。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 第五讲第四节∶提取和合并文件 + 第五讲第四节:提取和合并文件 ** 要向当前文件中插入另外的文件的内容,请输入 :r FILENAME ** - 1. 请键入 :!dir 确认您前面创建的 TEST 文件还在。 + 1. 请把光标移动到本行上面一行。 - 2. 然后将光标移动至当前页面的顶端。 +特别提示:执行步骤2之后您将看到第五讲第三节的文字,请届时往下移动 + 以再次看到本讲内容。 -特别提示∶ 执行步骤3之后您将看到第五讲第三节,请届时再往下移动回到这里来。 + 2. 接着通过命令 :r TEST 将前面创建的名为 TEST 的文件提取进来。 + 您所提取进来的文件将从光标所在位置处开始置入。 - 3. 接着通过 :r TEST 将前面创建的名为 TEST 的文件提取进来。 + 3. 为了确认文件已经提取成功,移动光标回到原来的位置就可以注意有两份第 + 五讲第三节的内容,一份是原始内容,另外一份是来自文件的副本。 -特别提示∶您所提取进来的文件将从光标所在位置处开始置入。 +提示:您还可以读取外部命令的输出。例如, :r !ls 可以读取 ls 命令的输出,并 + 把它放置在光标下面。 - 4. 为了确认文件已经提取成功, |