~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第一讲小结

1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。
h (左移) j (下行) k (上行) l (右移)

2. 欲进入vim编辑器(从命令行提示符),请输入∶vim 文件名 <回车>

3. 欲退出vim编辑器,请输入以下命令放弃所有修改∶

<ESC> :q! <回车>

或者输入以下命令保存所有修改∶

<ESC> :wq <回车>

4. 在正常模式下删除光标所在位置的字符,请按∶ x

5. 在正常模式下要在光标所在位置开始插入文本,请按∶

i 输入必要文本 <ESC>

特别提示∶按下 <ESC> 键会带您回到正常模式或者取消一个不期望或者部分完成
的命令。

好了,第一讲到此结束。下面接下来继续第二讲的内容。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲小结

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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三讲小结

1. 要重新置入已经删除的文本内容,请输入小写字母 p。该操作可以将已删除
的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置
于当前光标所在行的下一行。

2. 要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字
符即可。

3. 更改类命令允许您改变指定的对象,从当前光标所在位置直到对象的末尾。
比如输入 cw 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当
前光标到行末的内容。

4. 更改类命令的格式是∶

[number] c object 或者 c [number] object

下面我们继续学习下一讲。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第四讲小结

1. Ctrl-g 用于显示当前光标所在位置和文件状态信息。Shift-G 用于将光标跳
转至文件最后一行。先敲入一个行号然后按 Shift-G 则是将光标移动至该行
号代表的行。

2. 输入 / 然后紧随一个字符串是则是在当前所编辑的文档中向后查找该字符串。
输入问号 ? 然后紧随一个字符串是则是在当前所编辑的文档中向前查找该字
符串。完成一次查找之后按 n 键则是重复上一次的命令,可在同一方向上查
找下一个字符串所在;或者按 Shift-N 向相反方向查找下该字符串所在。

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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第五讲小结

1. :!command 用于执行一个外部命令 command。

请看一些实际例子∶
:!dir - 用于显示当前目录的内容。
:!rm FILENAME - 用于删除名为 FILENAME 的文件。

2. :w FILENAME 可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文
件中。

3. :#,#w FILENAME 可将当前编辑文件第 # 行至第 # 行的内容保存到文件
FILENAME 中。

4. :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置
后面。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第六讲小结

1. 输入小写的 o 可以在光标下方打开新的一行并将光标置于新开的行首,进入
插入模式。
输入大写的 O 可以在光标上方打开新的一行并将光标置于新开的行首,进入
插入模式。

2. 输入小写的 a 可以在光标所在位置之后插入文本。
输入大写的 A 可以在光标所在行的行末之后插入文本。

3. 输入大写的 R 将进入替换模式,直至按 <ESC> 键退出替换模式而进入正常
模式。

4. 输入 :set xxx 可以设置 xxx 选项。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第七讲∶在线帮助命令

** 使用在线帮助系统 **

Vim 拥有一个细致全面的在线帮助系统。要启动该帮助系统,请选择如下三种方
法之一∶
- 按下 <HELP> 键 (如果键盘上有的话)
- 按下 <F1> 键 (如果键盘上有的话)
- 输入 :help <回车>

输入 :q <回车> 可以关闭帮助窗口。

提供一个正确的参数给":help"命令,您可以找到关于该主题的帮助。请试验以
下参数(可别忘了按回车键哦。:)∶

:help w <回车>
:help c_<T <回车>
:help insert-index <回车>
:help user-manual <回车>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第八讲∶创建一个启动脚本

** 启用vim的功能 **

Vim的功能特性要比vi多得多,但大部分功能都没有缺省激活。为了启动更多的
功能,您得创建一个vimrc文件。

1. 开始编辑vimrc文件,这取决于您所使用的操作系统∶

:edit ~/.vimrc 这是Unix系统所使用的命令
:edit $VIM/_vimrc 这是Windows系统所使用的命令

2. 接着导入vimrc范例文件∶

:read $VIMRUNTIME/vimrc_example.vim

3. 保存文件,命令为∶

:write

在下次您启动vim的时候,编辑器就会有了语法高亮的功能。您可以继续把您喜
欢的其它功能设置添加到这个vimrc文件中。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vim 教程到此结束。本教程只是为了简明地介绍一下vim编辑器,但已足以让您
很容易学会使用本编辑器了。毋庸质疑,vim还有很多很多的命令,本教程所介
绍的还差得远著呢。所以您要精通的话,还望继续努力哦。下一步您可以阅读
vim手册,使用的命令是∶
:help user-manual

为了更进一步的参考和学习,以下这本书值得推荐∶

Vim - Vi Improved - 作者∶Steve Oualline
出版社∶New Riders

这是第一本完全讲解vim的书籍。对于初学者特别有用。其中还包含有大量实例
和图示。欲知详情,请访问 http://iccf-holland.org/click5.html

以下这本书比较老了而且内容主要是vi而不是vim,但是也值得推荐∶

Learning the Vi Editor - 作者∶Linda Lamb
出版社∶O'Reilly & Associates Inc.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

最新文章

  1. fir.im Weekly - 如何打造真正的工程师文化
  2. Android入门(十)SQLite创建升级数据库
  3. 微软BI 之SSIS 系列 - 利用 SSIS 模板快速开发 SSIS Package
  4. Windows2008系统忘记密码的解决方法
  5. 纯js写验证码
  6. 【转】VS2012发布网站详细步骤
  7. BZOJ2870: 最长道路tree
  8. Abel 分部求和法
  9. 根据价格范围筛选汽车(路由以及JS与Jquery)
  10. Apache搭建多个站点
  11. HDU 4196 Remoteland
  12. 统计dir_path下所有文件类型的文件数量
  13. C#设计模式之十二享元模式(Flyweight)【结构型】
  14. json数据的转义
  15. PHP类的自动加载
  16. mysql分表经验总结
  17. 记一次tomcat7.0版本启动项目失败问题
  18. 关于window.onload()的加载问题
  19. 控制 datetimepicker 显示位置
  20. python中变量的数据类型总结

热门文章

  1. Mac电脑下-nodejs安装卸载升级
  2. 8种主要排序算法的C#实现 (二)
  3. debian 如何切换为root用户
  4. Delphi APP 開發入門(十)REST Client 開發
  5. nginx配置访问图片路径(windows)
  6. maven安装配置参数化打包命令
  7. 82. Remove Duplicates from Sorted List II(删除有序链表中的重复元素)
  8. python在CentOS 7中的安装
  9. Linux中Qt的安装
  10. armv7 armv7s arm64 i386 x86_64