VimTutor(上)

柚子翻译,如有理解错误或翻译错误,请指正!

VimTutor

Vim是一款强大的文本编辑器,拥有多命令的特性,tutor解释了其中大多数命令。

tutor是为了描述足够多的Vim命令帮助你轻松使用Vim而被制作的,使Vim能成为一个可完成你所有工作意图的编辑器。

完成tutor的内容大概需要25-30分钟,所完成时间取决于你通过时间积累的经验。

注意:

1.课程中所使用的命令会修改当前的text文档,所以请复制一份文档再进行练习(如果以vimtutor命令启动,它会事先做好备份)。

2.要记住完成这个tutor,要通过练习并使用命令来驱动学习,意味着你必须知道执行命令才是学习tutor的正确方式,如果仅仅阅读的话,呵呵,那么你懂得。

3.现在,确保你的Shift-Lock键没有处于depressed的状态,并且按下<j键>数次让光标移动使得Lesson1.1的内容能够显示于整个屏幕。

    

Lesson 1.1 移动光标

    ** 为了移动光标,按指示键入h,j,k,l键 **

     h键位于最左边表示向左移动。

     l键位于最右边表示向右移动。

     j键有点像向下箭头,表示向下移动。

     k键,你懂得。

    1.在屏幕内移动光标直到你爽了~

    2.按住下键<j>使他多次重复,现在你已经知道如何翻阅至下一Lesson。

    3.使用向下移动,移动光标至Lesson1.2。

    #注释:如果你不知道你输入的都是什么玩意,按<ESC>键使你处于标准模式(编辑模式),然后再键入你想使用的命令。

    #注释:光标也应当是正常的,此外一旦你习惯使用hjkl,你可以很快的移动光标。

Lesson 1.2 关闭Vim

    !!注释:在你执行下列步骤以前,要阅读完接下来的整个内容。

    1.按<ESC>键确保你处于标准模式(编辑模式)。

    2.输入: :q!<ENTER> 这条命令用于关闭编辑器,并且忽略修改的内容。

    3.当你看见shell时,输入 vimtutor <ENTER> 来进入tutor。

    4.如果你理解并记住了以上步骤,试着执行1-3步骤去关闭并打开tutor。

    #注释: :q! <ENTER> 忽略了你所做的改变,在后续课程中你将会学到如何对一个文本保留其变化。

    5.移动光标至Lesson1.3

    

Lesson 1.3 文本编辑(有关删除操作)

    ** 按<x>键删除光标覆盖的字符 **

    1.把光标移动至"—>"标记的内容。

    2.为了处理错误,移动光标直到覆盖到字符,使字符能够被删除。

    3.按<x>键删除不想要的字符。

    4.重复步骤2-4直到所有句子都正确。

    —> The ccow jumpedd ovverr thhe mooon.

    5.既然这一行已经正确了,那么楞着干啥呢?赶紧进入Lesson1.4。

    #注释:当你向tutor取经时,不要去试着记忆,通过使用来学习。

    

Lesson 1.4 文本编辑(有关插入操作)

    ** 按<i>去插入文本。 **

    1.移动光标至"—>"所标记的第一行下。

    2.为了使第一行和第二行内容相同,移动光标至第一行的首部使得文本能够被插入。

    3.按<i>键,并输入必要的添加信息。

    4.当每个错误被修正后,按<ESC>返回标准模式,重复步骤2-4使句子内容正确。

    —> There is text misng this .

    —> There is some text missing from this line.

    5.当你舒服的插入文本后,那么继续来看Lesson1.5吧。

Lesson 1.5 文本编辑 (追加操作)

    1.移动光标至"—>"指向的第一行。

    2.按下A并输入必要的添加信息。

    3.当文本内容被追加完毕,按<ESC>返回标准模式。

    4.动光标至"—>"指向的第二行并且重复2,3操作使该句子正确。

    —> There is some text missing from this line.

      There is some text missing from this line.

    —> There is also some text missing here.

      There is also some text missing here.

    5.当你熟悉追加操作后继续进行Lesson1.6吧。

    

Lesson 1.6 编辑一个文件

    ** 使用 :wq 去保存一个文件并且退出 **

    #注释:在执行任何步骤之前,请先阅读完该节课!!

    1.关闭vimtutor就像你在Lesson1.2所做的: :q!

    或者,如果你还通过其他终端进行访问,可以直接进行以下操作,不用关闭vimtutor.

    2.在shell命令行中输入命令:vim tutor <ENTER>

    'vim'使一个启动VIM编辑器的命令,'tutor'是你将要去编辑的文件的名称。(使用一个可以被修改的文件)

    3.插入并且删除文本内容就像你在先前的课程学到的一样。

    4.保存文件并退出 使用: :wq <ENTER>

    5.如果你已经关闭vimtutor,重新打开vimtutor到当下一节内容。

    6.在阅读上述步骤之后,试着去理解它们(do it!)。

    

Lesson 1 总结

    1.移动光标使用hjkl键。

    2.启动VIM编辑器使用 vim FILENAME <ENTER>。

    3.关闭Vim的两种方式。

       :q! <ENTER> 强制关闭,忽略所有改变。

       :wq <ENTER> 保存关闭,保存所有改变。

    4.删除光标上的字符,输入<x>键。

    5.插入或追加文本内容输入:

       i 从光标后插入并切换至插入模式。

       A 在光标所在行后追加内容。

    #注释:<ESC>键可以从插入模式回到标准模式(编辑模式),或者取消已经输入的不期望的命令。

    现在,继续Lesson2!

    

Lesson 2.1 删除命令

    ** 输入 dw 删除一个字 **

    1.按下<ESC>确保你处于标准模式。

    2.移动光标至标记"—>"处。

    3.移动光标至需要删除的字。

    4.输入 dw 使得字消失. # dw (delete word)

    #注释:当你输入d时,d子母将会出现在屏幕下方最后一行,此时Vim正等待你输入 w 。

    :如果屏幕下方不是d字母表示输入错了点什么东西,按<ESC>重来吧,骚年。

    —> There are a some words fun that don't belong paper in this sentence.

    5.重复3,4步骤直到句子正确然后进行lesson2.2吧!

Lesson 2.2 更多的删除命令

    ** 输入 d$ 去删除光标到行尾内容 **

    1.按下<ESC>确保你处于标准模式。

    2.移动光标至标记"—>"处。

    3.移动光标至正确行后 (字符"."后)。

    4.输入 d$ 删除之后的内容

    —> Somebody typed the end of this line twice. end of this line twice.

    5.继续Lesson2.3去理解正在发生的一切。

Lesson 2.3 关于操作以及意向

    1.许多命令通过一个操作和一个意向来改变文本内容

      删除命令的格式: d <motion> 

      d    是一个删除操作

    motion 是一个意向,表示将要进行什么样的操作(删除操作)

    2.一个简单的意向列表

      w 直到下一个word开始,包含光标指向字符,不包含下一个word首字符

      e   直到当前word结束,包含光标指向字符及word最后一个字符

      $   直到行结束,包含光标指向的字符及最后匹配到的字符

      所以,输入de将会删除光标到word结束。

#注释:仅仅输入意向而不输入操作将会移动光标

Lesson 2.4 使用数字来作为意向

    ** 输入一个数字在意向之前表示重复意向相应次数 **

    1.移动光标至标记"—>"。

    2.输入 2w 移动光标向后2-word。

    3.输入 3e 移动光标到第三个word之后。

    4.输入 0 移动光标到行首。

    5.重复2,3步骤使用不同的数字。

    —> This is just a line with words you can move around in.

    6. 继续Lesson2.5

Lesson 2.5 使用数字删除更多内容

    ** 输入一个数字和一个操作使操作重复多次 **

    通过组合删除操作,数字,意向来删除更多内容

    d [number] motion

    1.移动光标到标记行的第一个大写字母。

    2.输入 d2w 删除两个大写的word。

    3.重复1,2步骤,使用不同数字试试。

    —>  this ABC DE line FGHI JK LMN OP of words is Q RS TUV cleaned up.

Lesson 2.6 对行进行操作

    ** 输入 dd 删除整个行 **

    由于整行删除的使用频率较高,Vi的作者决定用dd这种简单的输入来删除整行

    1.移动光标到第二段标记行。

    2.输入 dd 删除整行。

    3.移动到第四行。

    4.输入 2dd 删除2行。

    —>  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.

lesson 2.7 撤销命令

    ** 按 u 可撤销上一个命令, 按 U 可复原整行内容 **

    1.移动光标到—>下的错误处。

    2.按<x>键删除不期望的字符。 

    3.按<u>撤销上一个命令的执行。

    4.然后根据前面所学知识改正所有错误(w h j l),然后按<U>复原整行内容

    5.按<u>多次撤销U操作和先前的命令。

    6.按<ctrl+r>多次使已撤销的命令再次执行(撤销上一次撤销的行为)。

    —> Fiix the errors oon thhis line and reeplace them witth undo.

    7.这些都是非常有用的命令。

 

Lesson 2 总结

    1.删除光标开始到下一个word之前 dw

    2.删除从光标开始到光标所在行结束 d$

    3.删除从光标所在行     dd

    4.重复一个意向多次,数字加意向 2w

    5.一个完整命令的格式:  操作 [次数] 意向

    操作: 将要执行的操作,比如 d 删除操作

    [number]: 意向重复的次数 3w 三个word

    意向: 操作的意向(范围),比如 w(word) $(直到行尾)

    6.移动光标到行首 <0>键

    7.撤销先前的动作      <u>

      撤销先前整行的动作 <U>

      撤销上一次撤销的行为 <ctrl+r>

Lesson 3.1 放置命令

    ** 输入 p 将之前删除的文本内容放置在光标之后 **

    1.移动光标到第一个"—>"标记下。

    2.输入 dd 删除整行(删除的内容会被存放至Vim寄存器)。

    3.移动光标到c)行 (刚刚删除的行需要放置的地方)。

    4.输入 p 将删除的内容放置在光标之后。

    5.重复2-4步骤 把所有行按照正确的顺序排列。

    —> a) Roses are red,

    —> b) Violets are blue,

    —> c) Intelligence is learned,

            —> d) Can you learn too?

Lesson 3.2 替换命令

    **  输入 rx 将光标处的字符替换为x **

    1.移动光标到第一个"—>"标记下。

    2.移动光标到错误处。

    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.接着进行 Lesson 3.3吧,不要凭记忆,动手做~

Lesson 3.3 "改变"操作

    ** 输入 ce 改变一个word直到word最后 **

    1.移动光标到第一个"—>"标记下。

    2.移动光标在lubw的u下。

    3.输入ce和正确的word。

    4.按<ESC>并且移动到下一个出错字符。

    5.重复3,4步骤直到第一行和第二行相同。

    —> 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.

Lesson 3.4 使用c做更多的"改变"操作

    ** 改变操作和删除操作使用相同的意向motions **

    1.改变操作的格式与删除操作相同

      c [number] motion

    2.意向也完全相同

      w  : word

      $  : 行结尾

    3.移动光标到第一个"—>"标记下。

    4.移动光标到错误处。

    5.输入 c$ 并且输入和第二段相同的后半段内容。

    —> The end of this line needs some help to make it like the second.

    —> The end of this line needs to be corrected using the  c$  command.

Lesson 3 总结

    1.放置刚刚被删除的内容,输入 p。放置的位置位于光标后(如果内容是整行则放在光标所在行的下一行)

    2.替换当前光标上的字符,输入 r ,然后输入要替换字符。

    3.改变操作根据你的意向,对光标所在处至一定范围进行文本编辑(切换至插入模式)。比如ce是改变当前word c$是改变光标到行尾。

    4.改变操作的格式  c [number] motion。

Lesson 4.1 光标位置和文件状态

    ** 输入 <ctrl+g> 显示当前光标在整个文件中的位置和文件状态 **

    ** 输入 <G> 移动到中的一行 **

    注释: 读完整个Lesson然后再执行相应步骤

    1.按<ctrl+g> 一条信息会出现在页面底部,信息包含文件名,当前页面在文件中的位置。

    #注释:光标所在位置显示在屏幕底部偏右(ruler选项开启时显示,查看帮助 :help 'ruler')

    2.按<G>移动到文本最后一行,按<gg>移动到文本第一行。

    3.<number>+<G> 跳转到number行。

    4.执行步骤1-3。

Lesson 4.2 搜索命令

    ** 输入</> 后,跟着输入一个短句来查找这个短句在文本内容中的所在位置。 **

    1.在标准模式中输入 </> ,注意这个'/'字符会出现在屏幕底部。

    2.然后再输入 'errroor'<ENTER>。'errroor'是将要搜索的内容。

    3.向后搜索相同的内容,只需按<n>,向前搜索相同内容按<N>。

    4.如果要凸出显示搜索内容,使用<?>代替</>。

    5.按<ctrl+o>返回搜索前所在位置。

    —>  "errroor" is not the way to spell error;  errroor is an error.

    #注释,当搜索至文本结尾,将会从文件开头继续搜索。

Lesson 4.3 匹配括号搜索

    ** 输入<%> 去查找 ),],}匹配到的内容。 **

    1.移动光标到"—>"标记下任意一个括号('(' '{' '[')下。

    2.然后输入<%>,光标会移动到与之匹配的(')' '{' '[')下。

    3.移动光标到其他括号,看看%的作用吧。

    —> This ( is a test line with ('s, ['s ] and {'s } in it. ))

    #注释:这个功能在调试程序时很有用,比如括号不匹配。

Lesson 4.4 替换命令

    ** 输入 :s/old/new/g 将 'old' 替换为 'new' *

    1.移动光标到"—>"标记下。

    2.输入 :s/thee/the <ENTER>. 注意这个命令只替换文本中第一个thee。

    3.然后输入 :s/thee/the/g <ENTER>. 添加g标志意味着全局替换,替换光标所在行中所有的thee。

    —> thee best time to see thee flowers is in thee spring.

    4.输入 :#,#s/old/new/g #,#代表起始与结束行号,表示对文本中的起始行到结束行进行old=》new替换。

      输入 :%s/old/new/g 代表对文本所有内容进行old=》new替换。

      输入 :%s/odl/new/gc 代表对文本所有内容进行old=》new替换,并且进行交互询问是否替换。

Lesson 4 总结

    1.<ctrl+g> 显示光标所处文件位置及文件状态。

       G 移动到文本结尾。

    [number]G 移动到number行。

       gg 移动到文本第一行。

    2.输入 / 紧跟短句 在文本内容中对短句进行查找。

       输入 ? 紧跟短句 在文本中凸显短句。

       在查找短句后,按<n>跳转到下一个查找到的短句,按<N>跳转到上一个查找到的短句。

       <ctrl+o> 跳转到查找命令之前光标所在的位置。

    3.输入 % 当光标停留在括号("(,)","{,}","[,]")上,跳转到对应括号上。

    4.仅替换文本内容第一个old为new   :s/old/new/

        替换文本光标所在行中所有old为new :s/old/new/g

        替换文本内容所有old为new   :%s/old/new/g

        替换lineM-lineN中的old为new   :lineM,lineN%s/old/new/g

        替换前进行交互询问 :%s/old/new/gc

原创文章,作者:EatPomelo,如若转载,请注明出处:http://www.178linux.com/8720

(0)
上一篇 2015-10-18 19:23
下一篇 2015-10-18 19:32

相关推荐

  • Redis 存储分片之代理服务Twemproxy 测试

    概述 实际业务场景中单点 Redis 容量、并发都是有限的,所以有 Redis Cluster 的需求。 但是官方的 Redis Cluster 一再跳票,还不可用。 只好先使用最简单的方式:Proxy。有很多可选,但在大范围生产使用的, Twitter 开源的 Twemproxy  看起来是个理想的选择 – https://…

    Linux干货 2015-03-10
  • Linux的文本处理工具之sed的使用

    Sed文本处理工具 一、认识sed工具: sed是一种流编辑器,一次处理一行内容。当进行处理时,把当前处理的行存储在临时的缓冲区中(俗称“模式空间”)后,再用sed命令去处理缓冲区的内容,最后把处理过的缓冲区内容送往屏幕打印显示。接着处理下一行,不断重复进行读取、处理、输出,直到文件末尾。  注:sed命令处理文本,文件内容本身并没有改变,除非你使…

    Linux干货 2016-08-10
  • 脚本函数与程序包管理

    一、函数调用 1.while循环的特殊用法(遍历文件的每一行): while read line; do    循环体done < /PATH/FROM/SOMEFILE 依次读取/PATH/FROM/SOMEFILE文件中的每一行,且将行赋值给变量line示例:扫描/etc/passwd文件每一行,如发现GECOS字段为…

    Linux干货 2016-08-21
  • N26-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     ~]#cp -r /etc/skel /home/tuser1     ~]#chmod -R go=-rwx /home/tuser1…

    Linux干货 2017-01-05
  • 【yum安装程序】Centos7.4使用yum光盘安装httpd

    举例:Centos7.4使用yum光盘安装httpd

    Linux干货 2018-03-17
  • N26-第六周作业

    vim编辑器的使用 编辑模式:默认模式编辑模式–>输入模式;i:insert,在光标所在处输入;a:append,在光标所在处后方输入o:在光标所在处下方打开的一个新行;光标处在行首;I:在光标所在行的行首输入A:在光标所在处的行尾输入;O:在光标所在处的上方打开一个新行; 输入模式–>编辑模式ESC 编辑模式&#8211…

    Linux干货 2017-03-13

评论列表(1条)

  • stanley
    stanley 2015-10-18 19:25

    是自己翻译的吗?翻译功底非常深厚,用词准确,用语专业