Loading... <p>柚子翻译,如有理解错误或翻译错误,请指正!</p> <p><strong>VimTutor</strong></p> <p></p> <p>Vim是一款强大的文本编辑器,拥有多命令的特性,tutor解释了其中大多数命令。</p> <p>tutor是为了描述足够多的Vim命令帮助你轻松使用Vim而被制作的,使Vim能成为一个可完成你所有工作意图的编辑器。</p> <p>完成tutor的内容大概需要25-30分钟,所完成时间取决于你通过时间积累的经验。</p> <p></p> <p>注意:</p> <p>1.课程中所使用的命令会修改当前的text文档,所以请复制一份文档再进行练习(如果以vimtutor命令启动,它会事先做好备份)。</p> <p>2.要记住完成这个tutor,要通过练习并使用命令来驱动学习,意味着你必须知道执行命令才是学习tutor的正确方式,如果仅仅阅读的话,呵呵,那么你懂得。</p> <p>3.现在,确保你的Shift-Lock键没有处于depressed的状态,并且按下<j键>数次让光标移动使得Lesson1.1的内容能够显示于整个屏幕。</p> <p> </p> <p>Lesson 1.1 移动光标</p> <p> ** 为了移动光标,按指示键入h,j,k,l键 **</p> <p> h键位于最左边表示向左移动。</p> <p> l键位于最右边表示向右移动。</p> <p> j键有点像向下箭头,表示向下移动。</p> <p> k键,你懂得。</p> <p> 1.在屏幕内移动光标直到你爽了~</p> <p> 2.按住下键<j>使他多次重复,现在你已经知道如何翻阅至下一Lesson。</p> <p> 3.使用向下移动,移动光标至Lesson1.2。</p> <p> #注释:如果你不知道你输入的都是什么玩意,按<ESC>键使你处于标准模式(编辑模式),然后再键入你想使用的命令。</p> <p> #注释:光标也应当是正常的,此外一旦你习惯使用hjkl,你可以很快的移动光标。</p> <p></p> <p>Lesson 1.2 关闭Vim</p> <p> !!注释:在你执行下列步骤以前,要阅读完接下来的整个内容。</p> <p> 1.按<ESC>键确保你处于标准模式(编辑模式)。</p> <p> 2.输入: :q!<ENTER> 这条命令用于关闭编辑器,并且忽略修改的内容。</p> <p> 3.当你看见shell时,输入 vimtutor <ENTER> 来进入tutor。</p> <p> 4.如果你理解并记住了以上步骤,试着执行1-3步骤去关闭并打开tutor。</p> <p> #注释: :q! <ENTER> 忽略了你所做的改变,在后续课程中你将会学到如何对一个文本保留其变化。</p> <p> 5.移动光标至Lesson1.3</p> <p> </p> <p>Lesson 1.3 文本编辑(有关删除操作)</p> <p> ** 按<x>键删除光标覆盖的字符 **</p> <p> 1.把光标移动至"—>"标记的内容。</p> <p> 2.为了处理错误,移动光标直到覆盖到字符,使字符能够被删除。</p> <p> 3.按<x>键删除不想要的字符。</p> <p> 4.重复步骤2-4直到所有句子都正确。</p> <p> —> The ccow jumpedd ovverr thhe mooon.</p> <p> 5.既然这一行已经正确了,那么楞着干啥呢?赶紧进入Lesson1.4。</p> <p> #注释:当你向tutor取经时,不要去试着记忆,通过使用来学习。</p> <p> </p> <p>Lesson 1.4 文本编辑(有关插入操作)</p> <p> ** 按<i>去插入文本。 **</p> <p> 1.移动光标至"—>"所标记的第一行下。</p> <p> 2.为了使第一行和第二行内容相同,移动光标至第一行的首部使得文本能够被插入。</p> <p> 3.按<i>键,并输入必要的添加信息。</p> <p> 4.当每个错误被修正后,按<ESC>返回标准模式,重复步骤2-4使句子内容正确。</p> <p> —> There is text misng this .</p> <p> —> There is some text missing from this line.</p> <p> 5.当你舒服的插入文本后,那么继续来看Lesson1.5吧。</p> <p></p> <p>Lesson 1.5 文本编辑 (追加操作)</p> <p> 1.移动光标至"—>"指向的第一行。</p> <p> 2.按下A并输入必要的添加信息。</p> <p> 3.当文本内容被追加完毕,按<ESC>返回标准模式。</p> <p> 4.动光标至"—>"指向的第二行并且重复2,3操作使该句子正确。</p> <p> —> There is some text missing from this line.</p> <p> <span class="Apple-tab-span"> </span> There is some text missing from this line.</p> <p> —> There is also some text missing here.</p> <p> <span class="Apple-tab-span"> </span> There is also some text missing here.</p> <p> 5.当你熟悉追加操作后继续进行Lesson1.6吧。</p> <p> </p> <p>Lesson 1.6 编辑一个文件</p> <p> ** 使用 :wq 去保存一个文件并且退出 **</p> <p> #注释:在执行任何步骤之前,请先阅读完该节课!!</p> <p> 1.关闭vimtutor就像你在Lesson1.2所做的: :q!</p> <p> 或者,如果你还通过其他终端进行访问,可以直接进行以下操作,不用关闭vimtutor.</p> <p> 2.在shell命令行中输入命令:vim tutor <ENTER></p> <p> 'vim'使一个启动VIM编辑器的命令,'tutor'是你将要去编辑的文件的名称。(使用一个可以被修改的文件)</p> <p> 3.插入并且删除文本内容就像你在先前的课程学到的一样。</p> <p> 4.保存文件并退出 使用: :wq <ENTER></p> <p> 5.如果你已经关闭vimtutor,重新打开vimtutor到当下一节内容。</p> <p> 6.在阅读上述步骤之后,试着去理解它们(do it!)。</p> <p> </p> <p>Lesson 1 总结</p> <p> 1.移动光标使用hjkl键。</p> <p> 2.启动VIM编辑器使用 vim FILENAME <ENTER>。</p> <p> 3.关闭Vim的两种方式。</p> <p> :q! <ENTER> 强制关闭,忽略所有改变。</p> <p> :wq <ENTER> 保存关闭,保存所有改变。</p> <p> 4.删除光标上的字符,输入<x>键。</p> <p> 5.插入或追加文本内容输入:</p> <p> i 从光标后插入并切换至插入模式。</p> <p> A 在光标所在行后追加内容。</p> <p> #注释:<ESC>键可以从插入模式回到标准模式(编辑模式),或者取消已经输入的不期望的命令。</p> <p> 现在,继续Lesson2!</p> <p> </p> <p>Lesson 2.1 删除命令</p> <p> ** 输入 dw 删除一个字 **</p> <p> 1.按下<ESC>确保你处于标准模式。</p> <p> 2.移动光标至标记"—>"处。</p> <p> 3.移动光标至需要删除的字。</p> <p> 4.输入 dw 使得字消失. # dw (delete word)</p> <p> #注释:当你输入d时,d子母将会出现在屏幕下方最后一行,此时Vim正等待你输入 w 。</p> <p> :如果屏幕下方不是d字母表示输入错了点什么东西,按<ESC>重来吧,骚年。</p> <p> —> There are a some words fun that don't belong paper in this sentence.</p> <p> 5.重复3,4步骤直到句子正确然后进行lesson2.2吧!</p> <p></p> <p>Lesson 2.2 更多的删除命令</p> <p> ** 输入 d$ 去删除光标到行尾内容 **</p> <p> 1.按下<ESC>确保你处于标准模式。</p> <p> 2.移动光标至标记"—>"处。</p> <p> 3.移动光标至正确行后 (字符"."后)。</p> <p> 4.输入 d$ 删除之后的内容</p> <p> —> Somebody typed the end of this line twice. end of this line twice.</p> <p> 5.继续Lesson2.3去理解正在发生的一切。</p> <p></p> <p>Lesson 2.3 关于操作以及意向</p> <p> 1.许多命令通过一个操作和一个意向来改变文本内容</p> <p> 删除命令的格式: d <motion> </p> <p> d 是一个删除操作</p> <p> motion 是一个意向,表示将要进行什么样的操作(删除操作)</p> <p> 2.一个简单的意向列表</p> <p> w 直到下一个word开始,包含光标指向字符,不包含下一个word首字符</p> <p> e 直到当前word结束,包含光标指向字符及word最后一个字符</p> <p> $ 直到行结束,包含光标指向的字符及最后匹配到的字符</p> <p> 所以,输入de将会删除光标到word结束。</p> <p>#注释:仅仅输入意向而不输入操作将会移动光标</p> <p></p> <p>Lesson 2.4 使用数字来作为意向</p> <p> ** 输入一个数字在意向之前表示重复意向相应次数 **</p> <p> 1.移动光标至标记"—>"。</p> <p> 2.输入 2w 移动光标向后2-word。</p> <p> 3.输入 3e 移动光标到第三个word之后。</p> <p> 4.输入 0 移动光标到行首。</p> <p> 5.重复2,3步骤使用不同的数字。</p> <p> —> This is just a line with words you can move around in.</p> <p> 6. 继续Lesson2.5</p> <p></p> <p>Lesson 2.5 使用数字删除更多内容</p> <p> ** 输入一个数字和一个操作使操作重复多次 **</p> <p> 通过组合删除操作,数字,意向来删除更多内容</p> <p> d [number] motion</p> <p> 1.移动光标到标记行的第一个大写字母。</p> <p> 2.输入 d2w 删除两个大写的word。</p> <p> 3.重复1,2步骤,使用不同数字试试。</p> <p> —> this ABC DE line FGHI JK LMN OP of words is Q RS TUV cleaned up.</p> <p></p> <p>Lesson 2.6 对行进行操作</p> <p> ** 输入 dd 删除整个行 **</p> <p> 由于整行删除的使用频率较高,Vi的作者决定用dd这种简单的输入来删除整行</p> <p> 1.移动光标到第二段标记行。</p> <p> 2.输入 dd 删除整行。</p> <p> 3.移动到第四行。</p> <p> 4.输入 2dd 删除2行。</p> <p> —> 1) Roses are red,</p> <p> —> 2) Mud is fun,</p> <p> —> 3) Violets are blue,</p> <p> —> 4) I have a car,</p> <p> —> 5) Clocks tell time,</p> <p> —> 6) Sugar is sweet</p> <p> —> 7) And so are you.</p> <p>lesson 2.7 撤销命令</p> <p> ** 按 u 可撤销上一个命令, 按 U 可复原整行内容 **</p> <p> 1.移动光标到—>下的错误处。</p> <p> 2.按<x>键删除不期望的字符。 </p> <p> 3.按<u>撤销上一个命令的执行。</p> <p> 4.然后根据前面所学知识改正所有错误(w h j l),然后按<U>复原整行内容</p> <p> 5.按<u>多次撤销U操作和先前的命令。</p> <p> 6.按<ctrl+r>多次使已撤销的命令再次执行(撤销上一次撤销的行为)。</p> <p> —> Fiix the errors oon thhis line and reeplace them witth undo.</p> <p> 7.这些都是非常有用的命令。</p> <p> </p> <p>Lesson 2 总结</p> <p> 1.删除光标开始到下一个word之前<span class="Apple-tab-span"> </span>dw</p> <p> 2.删除从光标开始到光标所在行结束<span class="Apple-tab-span"> </span>d$</p> <p> 3.删除从光标所在行 <span class="Apple-tab-span"> </span>dd</p> <p> 4.重复一个意向多次,数字加意向 2w</p> <p> 5.一个完整命令的格式: 操作 [次数] 意向</p> <p> 操作: 将要执行的操作,比如 d 删除操作</p> <p> [number]: 意向重复的次数 3w 三个word</p> <p> 意向: 操作的意向(范围),比如 w(word) $(直到行尾)</p> <p> 6.移动光标到行首 <0>键</p> <p> 7.撤销先前的动作 <u></p> <p> 撤销先前整行的动作<span class="Apple-tab-span"> </span><U></p> <p> 撤销上一次撤销的行为 <ctrl+r></p> <p></p> <p>Lesson 3.1 放置命令</p> <p> ** 输入 p 将之前删除的文本内容放置在光标之后 **</p> <p> 1.移动光标到第一个"—>"标记下。</p> <p> 2.输入 dd 删除整行(删除的内容会被存放至Vim寄存器)。</p> <p> 3.移动光标到c)行 (刚刚删除的行需要放置的地方)。</p> <p> 4.输入 p 将删除的内容放置在光标之后。</p> <p> 5.重复2-4步骤 把所有行按照正确的顺序排列。</p> <p> —> a) Roses are red,</p> <p> —> b) Violets are blue,</p> <p> —> c) Intelligence is learned,</p> <p> —> d) Can you learn too?</p> <p></p> <p>Lesson 3.2 替换命令</p> <p> ** 输入 rx 将光标处的字符替换为x **</p> <p> 1.移动光标到第一个"—>"标记下。</p> <p> 2.移动光标到错误处。</p> <p> 3.输入 r[字符] 字符为将要替换光标处的字符。</p> <p> 4.重复2,3步骤直到第一行与第二行相同。</p> <p> —> Whan this lime was tuoed in, someone presswd some wrojg keys!</p> <p> —> When this line was typed in, someone pressed some wrong keys!</p> <p> 5.接着进行 Lesson 3.3吧,不要凭记忆,动手做~</p> <p></p> <p>Lesson 3.3 "改变"操作</p> <p> ** 输入 ce 改变一个word直到word最后 **</p> <p> 1.移动光标到第一个"—>"标记下。</p> <p> 2.移动光标在lubw的u下。</p> <p> 3.输入ce和正确的word。</p> <p> 4.按<ESC>并且移动到下一个出错字符。</p> <p> 5.重复3,4步骤直到第一行和第二行相同。</p> <p> —> This lubw has a few wptfd that mrrf changing usf the change operator.</p> <p> —> This line has a few words that need changing using the change operator.</p> <p></p> <p>Lesson 3.4 使用c做更多的"改变"操作</p> <p> ** 改变操作和删除操作使用相同的意向motions **</p> <p> 1.改变操作的格式与删除操作相同</p> <p> c [number] motion</p> <p> 2.意向也完全相同</p> <p> w : word</p> <p> $ : 行结尾</p> <p> 3.移动光标到第一个"—>"标记下。</p> <p> 4.移动光标到错误处。</p> <p> 5.输入 c$ 并且输入和第二段相同的后半段内容。</p> <p> —> The end of this line needs some help to make it like the second.</p> <p> —> The end of this line needs to be corrected using the c$ command.</p> <p></p> <p>Lesson 3 总结</p> <p> 1.放置刚刚被删除的内容,输入 p。放置的位置位于光标后(如果内容是整行则放在光标所在行的下一行)</p> <p> 2.替换当前光标上的字符,输入 r ,然后输入要替换字符。</p> <p> 3.改变操作根据你的意向,对光标所在处至一定范围进行文本编辑(切换至插入模式)。比如ce是改变当前word c$是改变光标到行尾。</p> <p> 4.改变操作的格式 c [number] motion。</p> <p></p> <p>Lesson 4.1 光标位置和文件状态</p> <p> ** 输入 <ctrl+g> 显示当前光标在整个文件中的位置和文件状态 **</p> <p> ** 输入 <G> 移动到中的一行 **</p> <p> 注释: 读完整个Lesson然后再执行相应步骤</p> <p> 1.按<ctrl+g> 一条信息会出现在页面底部,信息包含文件名,当前页面在文件中的位置。</p> <p> #注释:光标所在位置显示在屏幕底部偏右(ruler选项开启时显示,查看帮助 :help 'ruler')</p> <p> 2.按<G>移动到文本最后一行,按<gg>移动到文本第一行。</p> <p> 3.<number>+<G> 跳转到number行。</p> <p> 4.执行步骤1-3。</p> <p></p> <p>Lesson 4.2 搜索命令</p> <p> ** 输入</> 后,跟着输入一个短句来查找这个短句在文本内容中的所在位置。 **</p> <p> 1.在标准模式中输入 </> ,注意这个'/'字符会出现在屏幕底部。</p> <p> 2.然后再输入 'errroor'<ENTER>。'errroor'是将要搜索的内容。</p> <p> 3.向后搜索相同的内容,只需按<n>,向前搜索相同内容按<N>。</p> <p> 4.如果要凸出显示搜索内容,使用<?>代替</>。</p> <p> 5.按<ctrl+o>返回搜索前所在位置。</p> <p> —> "errroor" is not the way to spell error; errroor is an error.</p> <p> #注释,当搜索至文本结尾,将会从文件开头继续搜索。</p> <p></p> <p>Lesson 4.3 匹配括号搜索</p> <p> ** 输入<%> 去查找 ),],}匹配到的内容。 **</p> <p> 1.移动光标到"—>"标记下任意一个括号('(' '{' '[')下。</p> <p> 2.然后输入<%>,光标会移动到与之匹配的(')' '{' '[')下。</p> <p> 3.移动光标到其他括号,看看%的作用吧。</p> <p> —> This ( is a test line with ('s, ['s ] and {'s } in it. ))</p> <p> #注释:这个功能在调试程序时很有用,比如括号不匹配。</p> <p></p> <p>Lesson 4.4 替换命令</p> <p> ** 输入 :s/old/new/g 将 'old' 替换为 'new' *</p> <p> 1.移动光标到"—>"标记下。</p> <p> 2.输入 :s/thee/the <ENTER>. 注意这个命令只替换文本中第一个thee。</p> <p> 3.然后输入 :s/thee/the/g <ENTER>. 添加g标志意味着全局替换,替换光标所在行中所有的thee。</p> <p> —> thee best time to see thee flowers is in thee spring.</p> <p> 4.输入 :#,#s/old/new/g #,#代表起始与结束行号,表示对文本中的起始行到结束行进行old=》new替换。</p> <p> 输入 :%s/old/new/g 代表对文本所有内容进行old=》new替换。</p> <p> 输入 :%s/odl/new/gc 代表对文本所有内容进行old=》new替换,并且进行交互询问是否替换。</p> <p></p> <p>Lesson 4 总结</p> <p> 1.<ctrl+g> 显示光标所处文件位置及文件状态。</p> <p> <span class="Apple-tab-span"></span>G 移动到文本结尾。</p> <p> [number]G 移动到number行。</p> <p> <span class="Apple-tab-span"></span>gg 移动到文本第一行。</p> <p> 2.输入 / 紧跟短句 在文本内容中对短句进行查找。</p> <p> 输入 ? 紧跟短句 在文本中凸显短句。</p> <p> 在查找短句后,按<n>跳转到下一个查找到的短句,按<N>跳转到上一个查找到的短句。</p> <p> <ctrl+o> 跳转到查找命令之前光标所在的位置。</p> <p> 3.输入 % 当光标停留在括号("(,)","{,}","[,]")上,跳转到对应括号上。</p> <p> 4.仅替换文本内容第一个old为new :s/old/new/</p> <p> 替换文本光标所在行中所有old为new<span class="Apple-tab-span"> </span> :s/old/new/g</p> <p> 替换文本内容所有old为new :%s/old/new/g</p> <p> 替换lineM-lineN中的old为new :lineM,lineN%s/old/new/g</p> <p> 替换前进行交互询问 :%s/old/new/gc</p> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信