VIMTUTOR 教程总结

本文来源于 Vimtutor 教程的七章总结,建立该文档方便自己在日常使用 Vim 过程中及闲暇之余可以回顾 Vim 的一些基本操作。
同时便于对有意向学习 Vim 编辑器的同学能有一些对基本操作的理解。

第一讲

光标移动

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

VIM 的进行与退出

  • 进入 Vim 编辑器(从命令行提示符),请输入:vim 文件名 <回车>
  • 退出 Vim 编辑器,请输入
    • :q! <回车> 放弃所有改动。
    • 输入 :wq <回车> 保存改动。
    • 按下会回到正常模式,或撤消不想输入的不完整的命令

文本编辑的插入与删除

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

  • 插入或添加文本,请输入:

    • i 输入欲插入文本,光标前插入文本
    • A 输入欲添加文本 ,在光标后添加文本

第二讲

删除类命令

  • dw :从当前光标删除至下一个单词;
  • d$:从当前光标删除至当前行末尾;
  • dd : 删除整行

命令与对象

  • 在正常模式下修改命令的格式是:

     operator   [number]   motion
     如d2w,删除后两个单词
     其中:
      operator - 操作符,代表要做的事情,比如 d 代表删除
      number  - 可以附加的数字,代表动作重复的次数
      motion   - 动作,代表在所操作的文本上的移动,
      例如 w 代表单词(word),$ 代表行末等等。
    

使用计数指定动作

  • 2w :使光标向前移动两个单词
  • 3e: 使光标向前移动到第三个单词的末尾
  • 0 :移动光标到行首

整行与撤消

  • dd 删除整行
  • u:以前的操作
  • U:撤消在一行中所做的改动
  • CTRL+R:反撤消

第三讲

置入类命令

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

替换类命令

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

更改类命令

  • c: 更改类命令允许您改变从当前光标所在位置直到动作指示的位置中间的文本。
    比如输入 ce 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当
    前光标到行末的内容。
    更改类命令的格式:c [number] motion

第四讲

定位及文件状态

  • CTRL-G 用于显示当前光标所在位置和文件状态信息。
    G 用于将光标跳转至文件最后一行。
    先敲入一个行号然后输入大写 G 则是将光标移动至该行号代表的行。
    gg 用于将光标跳转至文件第一行。

搜索类命令

  • /:输入 / 然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。
    ?:输入 ? 然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。
    完成一次查找之后按 n 键是重复上一次的命令,可在同一方向上查找下一个匹配字符串所在
    或者按大写 N 向相反方向查找下一匹配字符串所在。
    CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置。

配对括号的查找

  • 如果光标当前位置是括号(、)、[、]、{、},按 % 会将光标移动到配对的括号上。

替换命令

  • 在一行内替换头一个字符串 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

第五讲

执行外部命令

  • :!command 用于执行一个外部命令 command。
  • :!dir :!ls - 用于显示当前目录的内容。
  • :!del FILENAME :!rm FILENAME - 用于删除名为 FILENAME 的文件。

保存文件内容

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

选择性保存命令

  • v motion :w FILENAME 可将当前编辑文件中可视模式下选中的内容保存到文件
    FILENAME 中。

提取和合并文件

  • :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置
    后面。
  • :r !dir 可以读取 dir 命令的输出并将其放置到当前文件的光标位置后面。

第六讲

打开类命令

  • o:输入小写的 o 可以在光标下方打开新的一行并进入插入模式。
  • O:输入大写的 O 可以在光标上方打开新的一行。

附加类命令

  • a:输入小写的 a 可以在光标所在位置之后插入文本。
  • A:输入大写的 A 可以在光标所在行的行末之后插入文本。
  • e:命令可以使光标移动到单词末尾。

另外一个转换类命令的版本

  • 操作符 y 复制文本,p 粘贴先前复制的文本。

  • 输入大写的 R 将进入替换模式,直至按 键回到正常模式。

复制粘贴文本

  • y:复制
  • p:粘贴先前复制的文本
  • yy:复制本行

设置命令的选项

  • 输入 :set xxx 可以设置 xxx 选项。一些有用的选项如下:
      'ic' 'ignorecase'       查找时忽略字母大小写
      'is' 'incsearch'        查找短语时显示部分匹配
      'hls' 'hlsearch'        高亮显示所有的匹配短语
    
    选项名可以用完整版本,也可以用缩略版本。
    在选项前加上 no 可以关闭选项: :set noic

第七讲

获取帮助信息

  • 输入 :help 或者按 键或 键可以打开帮助窗口。

  • 输入 :help cmd 可以找到关于 cmd 命令的帮助。

  • 输入 CTRL-W CTRL-W 可以使您在窗口之间跳转。

  • 输入 :q 以关闭帮助窗口

创建启动脚本

  • 您可以创建一个 vimrc 启动脚本文件用来保存您偏好的设置。

补全功能

  • 当输入 : 命令时,按 CTRL-D 可以查看可能的补全结果。
    可以使用一个补全。