vim文本编辑器详解

195 阅读6分钟

第一讲

第一讲第一节:移动光标 Snipaste_2022-07-30_19-02-32.png

Snipaste_2022-07-30_19-03-36.png

Snipaste_2022-07-30_19-04-10.png

Snipaste_2022-07-30_19-04-39.png

Snipaste_2022-07-30_19-05-28.png 第一讲第二节:VIM的进入和退出

Snipaste_2022-07-30_19-07-23.png

Snipaste_2022-07-30_19-08-06.png 第一讲第三节:文本编辑之删除

Snipaste_2022-07-30_19-10-00.png

Snipaste_2022-07-30_19-11-05.png 第一讲第四节:文本编辑之插入

Snipaste_2022-07-30_19-12-43.png

Snipaste_2022-07-30_19-14-23.png 第一讲第五节:文本编辑之添加

Snipaste_2022-07-30_19-16-37.png

第一讲第六节:编辑文件

Snipaste_2022-07-30_19-17-49.png

Snipaste_2022-07-30_19-20-54.png 第一张小结

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

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

  3. 欲退出 Vim 编辑器,请输入 :q! <回车> 放弃所有改动。 或者输入 :wq <回车> 保存改动。

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

  5. 欲插入或添加文本,请输入:

    i   输入欲插入文本   <ESC>             在光标前插入文本
    A   输入欲添加文本   <ESC>             在一行后添加文本
    

第二讲

第二讲第一节:删除类命令

Snipaste_2022-07-30_20-03-48.png

Snipaste_2022-07-30_20-08-50.png

第二讲第二节:更多删除类命令

Snipaste_2022-07-30_20-10-41.png

Snipaste_2022-07-30_20-11-45.png

第二讲第三节:关于命令和对象

Snipaste_2022-07-30_20-12-40.png

第二讲第四节:使用技数指定动作

Snipaste_2022-07-30_20-13-33.png

Snipaste_2022-07-30_20-14-39.png

第二讲第五节:使用计数以删除更多

Snipaste_2022-07-30_20-16-23.png

Snipaste_2022-07-30_20-17-14.png 第二讲第六节:操作整行

Snipaste_2022-07-30_20-17-57.png

Snipaste_2022-07-30_20-19-02.png 第二讲第七节:撤销类命令

Snipaste_2022-07-30_20-21-09.png

Snipaste_2022-07-30_20-22-00.png

第二章小结

  1. 欲从当前光标删除至下一个单词,请输入:dw
  2. 欲从当前光标删除至当前行末尾,请输入:d$
  3. 欲删除整行,请输入:dd
  4. 欲重复一个动作,请在它前面加上一个数字:2w
  5. 在正常模式下修改命令的格式是: operator [number] motion 其中: operator - 操作符,代表要做的事情,比如 d 代表删除 [number] - 可以附加的数字,代表动作重复的次数 motion - 动作,代表在所操作的文本上的移动,例如 w 代表单词(word), $ 代表行末等等。
  6. 欲移动光标到行首,请按数字0键:0
  7. 欲撤消以前的操作,请输入:u (小写的u) 欲撤消在一行中所做的改动,请输入:U (大写的U) 欲撤消以前的撤消命令,恢复以前的操作结果,请输入:CTRL-R

第三讲

第三讲第一节:置入类命令

Snipaste_2022-07-30_20-28-35.png

Snipaste_2022-07-30_20-30-31.png

第三讲第二节:替换类命令

Snipaste_2022-07-30_20-31-12.png

Snipaste_2022-07-30_20-32-26.png

第三讲第三节:更改类命令

Snipaste_2022-07-30_20-33-30.png

Snipaste_2022-07-30_20-37-57.png 第三讲第四节:使用c更改更多

Snipaste_2022-07-30_20-39-16.png

Snipaste_2022-07-30_20-41-08.png

第三讲小结

  1. 要重新置入已经删除的文本内容,请按小写字母 p 键。该操作可以将已删除 的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置 于当前光标所在行的下一行。
  2. 要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字 符即可。
  3. 更改类命令允许您改变从当前光标所在位置直到动作指示的位置中间的文本。 比如输入 ce 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当 前光标到行末的内容。
  4. 更改类命令的格式是: c [number] motion

第四讲

第四讲第一节:定位及文件状态

Snipaste_2022-07-30_20-43-02.png

Snipaste_2022-07-30_20-45-23.png

Snipaste_2022-07-30_20-45-49.png

Snipaste_2022-07-30_20-48-07.png

第四讲第二节:搜索类命令

Snipaste_2022-07-30_20-49-15.png

Snipaste_2022-07-30_20-51-36.png

第四讲第三节:配对括号的查找

Snipaste_2022-07-30_20-52-45.png

Snipaste_2022-07-30_20-53-48.png

第四讲第四节:替换命令

Snipaste_2022-07-30_20-54-26.png

Snipaste_2022-07-30_20-56-27.png

第四讲小结

  1. CTRL-G 用于显示当前光标所在位置和文件状态信息。 G 用于将光标跳转至文件最后一行。 先敲入一个行号然后输入大写 G 则是将光标移动至该行号代表的行。 gg 用于将光标跳转至文件第一行。
  2. 输入 / 然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。 输入 ? 然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。 完成一次查找之后按 n 键是重复上一次的命令,可在同一方向上查 找下一个匹配字符串所在;或者按大写 N 向相反方向查找下一匹配字符串所在。 CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置。
  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

第五讲

第五讲第一节:在VIM内执行外部命令的方法

Snipaste_2022-07-30_21-08-21.png

Snipaste_2022-07-30_21-09-18.png

第五讲第二节:关于保存文件的更多信息

Snipaste_2022-07-30_21-10-50.png

Snipaste_2022-07-30_21-11-27.png

Snipaste_2022-07-30_21-11-42.png

Snipaste_2022-07-30_21-12-23.png

第五讲第三节:一个具有选择性地保存命令

Snipaste_2022-07-30_21-15-30.png

Snipaste_2022-07-30_21-15-57.png 第五讲第四节:提取和合并文件

Snipaste_2022-07-30_21-19-46.png

Snipaste_2022-07-30_21-20-44.png

Snipaste_2022-07-30_21-22-35.png

Snipaste_2022-07-30_21-23-45.png

第五讲小结

  1. :!command 用于执行一个外部命令 command。 请看一些实际例子: (MS-DOS) (Unix) :!dir :!ls - 用于显示当前目录的内容。 :!del FILENAME :!rm FILENAME - 用于删除名为 FILENAME 的文件。
  2. :w FILENAME 可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文 件中。
  3. v motion :w FILENAME 可将当前编辑文件中可视模式下选中的内容保存到文件 FILENAME 中。
  4. :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置 后面。
  5. :r !dir 可以读取 dir 命令的输出并将其放置到当前文件的光标位置后面。

第六讲

第六讲第一节:打开类命令

Snipaste_2022-07-30_21-29-20.png

Snipaste_2022-07-30_21-37-04.png

第六讲第二节:附加类命令

Snipaste_2022-07-30_21-45-10.png

Snipaste_2022-07-30_21-46-27.png

第六讲第三节:另外一个置换类命令的版本

Snipaste_2022-07-30_21-46-57.png

Snipaste_2022-07-30_21-49-14.png

第六讲第四节:复制粘贴文本

Snipaste_2022-07-30_21-50-59.png

Snipaste_2022-07-30_21-53-33.png

Snipaste_2022-07-30_21-54-25.png

第六讲第五节:设置类命令的选项

Snipaste_2022-07-30_21-57-55.png Snipaste_2022-07-30_21-56-56.png Snipaste_2022-07-30_21-59-24.png 第六讲小结

  1. 输入小写的 o 可以在光标下方打开新的一行并进入插入模式。 输入大写的 O 可以在光标上方打开新的一行。
  2. 输入小写的 a 可以在光标所在位置之后插入文本。 输入大写的 A 可以在光标所在行的行末之后插入文本。
  3. e 命令可以使光标移动到单词末尾。
  4. 操作符 y 复制文本,p 粘贴先前复制的文本。
  5. 输入大写的 R 将进入替换模式,直至按 键回到正常模式。
  6. 输入 :set xxx 可以设置 xxx 选项。一些有用的选项如下:
    'ic' 'ignorecase'       查找时忽略字母大小写
    'is' 'incsearch'        查找短语时显示部分匹配
    'hls' 'hlsearch'        高亮显示所有的匹配短语
 选项名可以用完整版本,也可以用缩略版本。

7. 在选项前加上 no 可以关闭选项: :set noic

第七讲

第七讲第一节:获取帮助信息

Snipaste_2022-07-30_22-09-41.png

Snipaste_2022-07-30_22-09-52.png

第七讲第二节:创建启动脚本

Snipaste_2022-07-30_22-12-46.png

Snipaste_2022-07-30_22-11-44.png

第七讲第三节:补全功能

Snipaste_2022-07-30_22-14-26.png

Snipaste_2022-07-30_22-13-18.png

第七讲小结

  1. 输入 :help 或者按 键或 键可以打开帮助窗口。
  2. 输入 :help cmd 可以找到关于 cmd 命令的帮助。
  3. 输入 CTRL-W CTRL-W 可以使您在窗口之间跳转。
  4. 输入 :q 以关闭帮助窗口
  5. 您可以创建一个 vimrc 启动脚本文件用来保存您偏好的设置。
  6. 当输入 : 命令时,按 CTRL-D 可以查看可能的补全结果。 按 可以使用一个补全。

总结:在学习教程时,不要强行记忆。记住一点:要在使用中学习。