vimtutor使用说明超详细

目录

一,编辑命令

1.1移动光标

1.2vim的进入和退出

1.3文本编辑之删除

1.4文本编辑之插入

1.5文本编辑之添加

 1.6编辑文件

1.7小结

2.1删除类命令

2.2更多删除命令

2.3关于命令和对象

2.4使用计数指定动作

2.5使用技术以删除更多

 2.6操作整行

 2.7撤销类命令

2.8小结

3.1置入类命令

 3.2替换类命令

 3.3更改类命令

 3.5小结

4.1定位及文件状态

 4.2搜索类命令

4.3配对括号的查找

 4.4替换命令

4.4小结

5.1在 VIM 内执行外部命令的方法

5.2关于保存文件的更多信息

5.3一个具有选择性的保存命令

5.4提取和合并文件

5.5小结

6.1打开类命令

6.2附加类命令

6.3另外一个置换类命令的版本

6.4复制粘贴文本

6.5设置类命令的选项

6.6小结

7.1获取帮助信息

7.2创建启动脚本

7.3补全功能

7.4小结


一,编辑命令

1.1移动光标

h 的键位于左边,每次按下就会向左移动。

l 的键位于右边,每次按下就会向右移动。

j 键看起来很象一支尖端方向朝下的箭头。

k是向上移动

 

1.2vim的进入和退出

先按esc,再输入:q!<回车>,可以退出当前编辑器(:q! <回车> 会丢弃您所做的任何改动。)

再输入vimtutor<回车>,可以进入

1.3文本编辑之删除

为了修正错误可以将光标移动到准备删除的字符的位置然后按x删除

1.4文本编辑之插入

在正常模式下,可以按i键来插入文本

1.5文本编辑之添加

光标放在那一行的哪个字符上并不重要,按 A 键输入必要的添加内容。和i的区别是A插入是在行尾进行,i是在光标处

 1.6编辑文件

使用wq进行保存文件并退出,和q不同,q只能退出无法保存更改。

1.7小结

 1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。

                   h (左移)       j (下行)       k (上行)     l (右移)

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

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

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

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

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

2.1删除类命令

按下 <ESC> 键确保处于正常模式,请将光标移至准备要删除的单词的起始处,接着输入 dw 删除掉该单词。

  当输入时,字母 d 会同时出现在屏幕的最后一行。Vim 会等待输入字母 w。如果看到的是除 d 外的其他字符,那表明按错了

2.2更多删除命令

将光标移动到需要删除的位置,然后输入 d$ 从当前光标删除到行末

2.3关于命令和对象

许多改变文本的命令都是由一个操作和一个动作构成,使用删除操作符d的删除命令的格式

d motion

其中:

 d      - 删除操作符。
    motion - 操作符的操作对象(在下面列出)。

  一个简短的动作列表:
    w - 从当前光标当前位置直到下一个单词起始处,不包括它的第一个字符。
    e - 从当前光标当前位置直到单词末尾,包括最后一个字符。
    $ - 从当前光标当前位置直到当前行末。

2.4使用计数指定动作

输入数字+w可以使光标向前移动n个单词,输入数字+e可以向后移动到第n个单词的末尾,输入数字0可以移动光标到行首。

2.5使用技术以删除更多

上面已经提到过删除操作符和动作的组合,可以在组合中动作之前插入一个数字以
  删除更多:

 d   number(数字)   motion

输入 d2w 以删除两个大写字母单词,重复使用可以一直删除

 2.6操作整行

输入 dd 删除该行,为了方便输入2 dd 可以删除两行

 2.7撤销类命令

 输入 u 来撤消最后执行的命令,输入 U 来撤消对整行的修改,输入 u 撤消最后执行的(一次)命令,而输入一个大写的 U ,恢复到该行的原始状态。多次输入 u 以撤消 U 以及更前的命令。然后多次输入 CTRL-R (先按下 CTRL 键不放开,接着按 R 键),这样就可以重做被撤消的命令,也就是撤消掉撤消命令。

2.8小结

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

3.1置入类命令

可以将文本通过输入 p 将最后一次删除的内容置入光标之后

 3.2替换类命令

输入 r 和一个字符替换光标所在位置的字符

 3.3更改类命令

要改变文本直到一个单词的末尾,请输入 ce,接着修改需要的文本,然后按住esc就完成了。

3.4 使用c更改更多

更改类操作符可以与删除中使用的同样的动作配合使用

更改类操作符的工作方式跟删除类是一致的。动作参数(motion)也是一样的,比如 w 代表单词,$代表行末等等。操作格式是:

  c    [number]   motion

 3.5小结

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

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

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

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

  c    [number]   motion

4.1定位及文件状态

输入 CTRL-G 显示当前编辑文件中当前光标所在行位置以及文件状态信息。输入大写 G 则直接跳转到文件中的某一指定行。

1.按下 CTRL 键不放开然后按 g 键。我们称这个键组合为 CTRL-G。 您会看到页面最底部出现一个状态信息行,显示的内容是当前编辑的文件名和文件中光标位置。请记住行号,它会在步骤3中用到。
2. 输入大写 G 可以使得当前光标直接跳转到文件最后一行。输入 gg 可以使得当前光标直接跳转到文件第一行。 

 

 3. 输入您曾停留的行号,然后输入大写 G。这样就可以返回到您第一次按下OB
     CTRL-G 时所在的行了。

 4.2搜索类命令

输入 / 加上一个字符串可以用以在当前文件中查找该字符串。

1. 在正常模式下输入 / 字符。您此时会注意到该字符和光标都会出现在屏幕底部,这跟 : 命令是一样的。

2. 接着输入 errroor <回车>。那个errroor就是您要查找的字符串。

 

3. 要查找同上一次的字符串,只需要按 n 键。要向相反方向查找同上一次的字符串,请输入大写 N 即可。

 

4. 如果您想逆向查找字符串,请使用 ? 代替 / 进行。

 

5. 要回到您之前的位置按 CTRL-O (按住 Ctrl 键不放同时按下字母 o)。重复按可以回退更多步。CTRL-I 会跳转到较新的位置。

提示:如果查找已经到达文件末尾,查找会自动从文件头部继续查找,除非'wrapscan' 选项被复位。

4.3配对括号的查找

输入 % 可以查找配对的括号 )、]、}。

把光标放在本节下面标记有 --> 那一行中的任何一个 (、[ 或 { 处。

接着按 % 字符。

再次按 % 就可以跳回配对的第一个括号处。

移动光标到另一个 (、)、[、]、{ 或 } 处,按 % 查看其所作所为。

提示:在程序调试时,这个功能用来查找不配对的括号是很有用的。

 4.4替换命令

输入 :s/old/new/g 可以替换 old 为 new。

将光标移动到本节中下面标记有 ---> 的那一行

输入 :s/thee/the <回车> 。请注意该命令只改变光标所在行的第一个匹配串。

输入 :s/thee/the/g 则是替换全行的匹配串,该行中所有的 "thee" 都会被改变。

 要替换两行之间出现的每个匹配串,请输入   :#,#s/old/new/g   其中 #,# 代表的是替换操作的若干行中首尾两行的行号。

输入   :%s/old/new/g     则是替换整个文件中的每个匹配串。

输入   :%s/old/new/gc    会找到整个文件中的每个匹配串,并且对每个匹配串提示是否进行替换。

4.4小结

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

5.1在 VIM 内执行外部命令的方法

输入 :! 然后紧接着输入一个外部命令可以执行该外部命令。

1. 按下我们所熟悉的 : 命令使光标移动到屏幕底部。这样您就可以输入一行命令了。

2. 接着输入感叹号 ! 这个字符,这样就允许您执行外部的 shell 命令了。

3. 我们以 ls 命令为例。输入 !ls <回车> 。该命令就会列举出您当前目录的内容,就如同您在命令行提示符下输入 ls 命令的结果一样。如果 !ls 没起作用,您可以试试 :!dir 看看。

提示:所有的外部命令都可以以这种方式执行,包括带命令行参数的那些。

提示:所有的 : 命令都必须以敲 <回车> 键结束。从今以后我们就不会总是提到这一点。

5.2关于保存文件的更多信息

要将对文件的改动保存到文件中,请输入 :w FILENAME 。

 输入 :!dir 或者 :!ls 获知当前目录的内容。您应当已知道最后还得敲<回车> 吧。

  2. 选择一个未被用到的文件名,比如 TEST。

  3. 接着输入 :w TEST  (此处 TEST 是您所选择的文件名。)

  4. 该命令会以 TEST 为文件名保存整个文件 (Vim 教程)。为了验证这一点,
     请再次输入 :!dir 或 :!ls 查看您的目录列表内容。

 请注意:如果您退出 Vim 然后在以命令 vim TEST 再次启动 Vim,那么该文件内
     容应该同您保存时的文件内容是完全一样的。

  5. 现在您可以删除 TEST 文件了。在 MS-DOS 下,请输入:   :!del TEST
                                 在 Unix 下,请输入:     :!rm TEST


 

5.3一个具有选择性的保存命令

要保存文件的部分内容,请输入 v motion :w FILENAME

1. 移动光标到本行。

 2. 接着按 v 键,将光标移动至下面第五个条目上。您会注意到之间的文本被高亮了。

1. 输入 :!dir 或者 :!ls 获知当前目录的内容。您应当已知道最后还得敲<回车> 吧。

2. 选择一个未被用到的文件名,比如 TEST。:

3. 接着输入 :w TEST  (此处 TEST 是您所选择的文件名。)

 

 

 

 

4. 该命令会以 TEST 为文件名保存整个文件 (Vim 教程)。为了验证这一点,请再次输入 :!dir 或 :!ls 查看您的目录列表内容。

请注意:如果您退出 Vim 然后在以命令 vim TEST 再次启动 Vim,那么该文件内容应该同您保存时的文件内容是完全一样的。

5. 现在您可以删除 TEST 文件了。在 MS-DOS 下,请输入:   :!del TEST在 Unix 下,请输入:     :!rm TEST

5.4提取和合并文件

要向当前文件中插入另外的文件的内容,请输入 :r FILENAME

1. 请把光标移动到本行上面一行。

 特别提示:执行步骤2之后您将看到第五讲第三节的文字,请届时往下移动以再次看到本讲内容。

2. 接着通过命令 :r TEST 将前面创建的名为 TEST 的文件提取进来。您所提取进来的文件将从光标所在位置处开始置入。

3. 为了确认文件已经提取成功,移动光标回到原来的位置就可以注意有两份第五讲第三节的内容,一份是原始内容,另外一份是来自文件的副本。

提示:您还可以读取外部命令的输出。例如, :r !ls 可以读取 ls 命令的输出,并把它放置在光标下面。

5.5小结

 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 命令的输出并将其放置到当前文件的光标位置后面。

6.1打开类命令

 输入 o 将在光标的下方打开新的一行并进入插入模式。

1. 请将光标移动到本节中下面标记有 ---> 的那一行。

2. 接着输入小写的 o 在光标 *下方* 打开新的一行,这个命令会使您进入插入模式。

3. 然后输入一些文字,之后按 <ESC> 键退出插入模式而进入正常模式。

4. 为了在光标 *上方* 打开新的一行,只需要输入大写的 O 而不是小写的 o就可以了。在下行测试一下。

6.2附加类命令

输入 a 将可在光标之后插入文本。

1. 请在正常模式下将光标移动到本节中下面标记有 ---> 的第一行的行首。

2. 接着输入 e 直到光标位于 li 的末尾。

3. 输入小写的 a 则可在光标之后插入文本了。

4. 将单词补充完整,就像下一行中的那样。之后按 <ESC> 键退出插入模式回到
     正常模式。

5. 使用 e 移动光标到下一步不完整的单词,重复步骤3和步骤4。

提示:a、i 和 A 都会带您进入插入模式,惟一的区别在于字符插入的位置。

6.3另外一个置换类命令的版本

输入大写的 R 可连续替换多个字符。

 1. 请将光标移动到本节中下面标记有 ---> 的第一行。移动光标到第一个 xxx 的
     起始位置。

  2. 然后输入大写的 R 开始把第一行中的不同于第二行的剩余字符逐一输入,就
     可以全部替换掉原有的字符而使得第一行完全雷同第二行了。

  3. 接着按 <ESC> 键退出替换模式回到正常模式。您可以注意到尚未替换的文本
     仍然保持原状。

  4. 重复以上步骤,将剩余的 xxx 也替换掉。

---> Adding 123 to xxx gives you xxx.
---> Adding 123 to 456 gives you 579.

提示:替换模式与插入模式相似,不过每个输入的字符都会删除一个已有的字符。

6.4复制粘贴文本

使用操作符 y 复制文本,使用 p 粘贴文本

  1. 定位到下面标记有 ---> 的一行,将光标移动到 "a)" 之后。

  2. 接着使用 v 进入可视模式,移动光标到 "first" 的前面。

  3. 现在输入 y 以抽出(复制)高亮的文本。

   4. 然后移动光标到下一行的末尾:j$

  5. 接着输入 p 以放置(粘贴)复制了的文本。然后输入:a second <ESC>。

  6. 使用可视模式选中 " item.",用 y 复制,再用 j$ 将光标移动到下一行末尾,用 p 将文本粘贴到那里。

 提示:您还可以把 y 当作操作符来使用;例如 yw 可以用来复制一个单词。

6.5设置类命令的选项

设置可使查找或者替换可忽略大小写的选项

  1. 要查找单词 ignore 可在正常模式下输入 /ignore <回车>。
     要重复查找该词,可以重复按 n 键。

   2. 然后设置 ic 选项(Ignore Case,忽略大小写),请输入: :set ic

  3. 现在可以通过键入 n 键再次查找单词 ignore。注意到 Ignore 和 IGNORE 现在
     也被找到了。

  4. 然后设置 hlsearch 和 incsearch 这两个选项,请输入: :set hls is

  5. 现在可以再次输入查找命令,看看会有什么效果: /ignore <回车>

  6. 要禁用忽略大小写,请输入: :set noic

提示:要移除匹配项的高亮显示,请输入:  :nohlsearch
提示:如果您想要仅在一次查找时忽略字母大小写,您可以使用 \c:
      /ignore\c <回车>

6.6小结

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

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

  3. e 命令可以使光标移动到单词末尾。

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

  5. 输入大写的 R 将进入替换模式,直至按 <ESC> 键回到正常模式。

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

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

7.1获取帮助信息

使用在线帮助系统

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

  请阅读帮助窗口中的文字以了解帮助是如何工作的。
  输入 CTRL-W CTRL-W   可以使您在窗口之间跳转。
  输入 :q <回车> 可以关闭帮助窗口。

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

        :help w
        :help c_CTRL-D
        :help insert-index
        :help user-manual

7.2创建启动脚本

启用 Vim 的特性

Vim 的功能特性要比 Vi 多得多,但其中大部分都没有缺省启用。为了使用更多的
特性,您得创建一个 vimrc 文件。

  1. 开始编辑 vimrc 文件,具体命令取决于您所使用的操作系统:
        :edit ~/.vimrc          这是 Unix 系统所使用的命令
        :edit $VIM/_vimrc       这是 MS-Windows 系统所使用的命令

  2. 接着读取 vimrc 示例文件的内容:
        :r $VIMRUNTIME/vimrc_example.vim

  3. 保存文件,命令为:
        :write

  下次您启动 Vim 时,编辑器就会有了语法高亮的功能。您可以把您喜欢的各种设置添加到这个 vimrc 文件中.要了解更多信息请输入 :help vimrc-intro

7.3补全功能

使用 CTRL-D 和 <TAB> 可以进行命令行补全

 1. 请确保 Vim 不是在以兼容模式运行: :set nocp

  2. 查看一下当前目录下已经存在哪些文件,输入: :!ls   或者  :!dir

  3. 现在输入一个目录的起始部分,例如输入: :e

  4. 接着按 CTRL-D 键,Vim 会显示以 e 开始的命令的列表。

  5. 然后按 <TAB> 键,Vim 会补全命令为 :edit 。

  6. 现在添加一个空格,以及一个已有文件的文件名的起始部分,例如: :edit FIL

  7. 接着按 <TAB> 键,Vim 会补全文件名(如果它是惟一匹配的)。

提示:补全对于许多命令都有效。您只需尝试按 CTRL-D 和 <TAB>。
      它对于 :help 命令非常有用。

7.4小结

 1. 输入 :help 或者按 <F1> 键或 <Help> 键可以打开帮助窗口。

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值