




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
vi的动作模式编辑模式插入模式命令模式shell切换选项设定vim和gvim的高级功能1.6.1vi的动作模式Vi在初始启动后,首先进入编辑模式,用户可以使用预先定义的按钮移动光标、删除文字、复制或粘贴文字。 所有这些键都是普通字符,例如,l表示光标右移,右箭头键,k表示光标下移,下箭头键。 在编辑模式下,用户还可以使用一些特殊按钮来选择字符并执行删除、复制等操作。如果用户在编辑模式下输入I、a、o等命令,输入可进入插入模式的:则进入命名模式。 在插入模式下,用户输入的下一个字符将被视为插入到编辑缓冲区中的非Esc字符。 按Esc键后,从插入模式切换到编辑模式。在命令模式下,Vi将光标移动到屏幕底部,并在第一个字符的位置显示: (冒号)。 此时,用户可以输入一些命令。 这些命令可用于保存文件、读取文件内容、执行shell命令、设置Vi参数、使用正则表达式查找字符串以及替换字符串。1.6.2编辑模式1 .移动光标要修改正文的内容,必须首先将光标移动到指定的位置。 移动光标最简单的方法是在键盘上、下、左、向右箭头键。 除了这种最原始的方法外,用户还可以利用vi提供的许多字符组合来使光标在正文中移动得很快快速到达指定的行或列,实现定位。 例如k、j、h、l的功能分别与上、下、左、右箭头键相同Ctrl b在文档中上移一页(相当于PageUp键)Ctrl f在文档中下移一页(相当于PageDown键)将光标移动到h屏幕顶部(Highest )nH将光标移动到屏幕的第n行将光标移动到2H屏幕的第二行将光标移动到m画面的中央将l光标移动到屏幕底部(Lowest )将光标移动到nL屏幕末尾的第n行将光标从3L屏幕的末尾移动到第三行w将光标在指定行内向右移动,然后移动到下一个单词的开头e将光标在指定行内向右移动,然后移动到单词的结尾b将光标在指定行中向左移动,然后移动到上一个单词的开头0的数字是0,将光标向左移动,然后移动到行的开头将$光标向右移动,然后移动到行的末尾将光标移动到行的第一个非空字符2 .替换和删除如果将光标置于文件中的指定位置,则可以用另一个字符替换光标指向的字符,也可以从当前光标位置删除一个或多个字符个字。 例如rc将光标指向的当前字符替换为cnrc将光标指向的前n个字符替换为c用c替换5rc光标指向的前5个字符删除x光标指向的当前字符nx删除光标指向的前n个字符删除3x光标指向的前三个字符删除dw光标右侧的单词ndw删除光标右侧的n个字符删除3dw光标右侧的三个字符删除db光标左侧的单词ndb删除光标左侧的n个字符删除5db光标左侧的5个字符删除带有dd光标的行并清除间隙ndd删除n行的内容,并消除间隙删除3db3行的内容并消除间隙3 .粘贴和复制从文本中删除的内容(字符、单词、行等)将被剪切并复制到内存缓冲区,而不是实际丢失。 用户可粘贴到正文的指定位置。 完成此操作的命令包括:p小写p,将缓冲区内容粘贴在光标后面p大写p,将缓冲区内容粘贴到光标前面如果缓冲区的内容是字母或单词,则直接粘贴到光标前面或后面;如果缓冲区的内容是整个正文,则粘贴到当前位置光标所在行的上一行或下一行。注意上述两个命令的大小写。 vi编辑器通常在大小写对(如p和p )中提供类似的功能的双曲馀弦值。 通常,小写命令在光标后面操作,大写命令在光标前面操作。您可能需要将文本复制到新位置并保留原始位置的内容。 在这种情况下,必须首先复制指定的内容(而不是)剪切到内存缓冲区。 完成此操作的命令包括:yy将当前行复制到内存缓冲区nyy将n行的内容复制到内存缓冲区将5行内容复制到5yy内存缓冲区4 .查找字符串与许多高级编辑器一样,vi提供了强大的字符串搜索功能。 查找文件中指定单词或短语出现的位置的步骤不需要手动执行,因为它是通过vi直接搜索的。 搜索方法是:在字符/后面输入要搜索的字符串,然后按enter键。 编辑程序执行前向搜索(即文件的末尾方向),如果找到指定的字符串,则将该字符串的通过键入第一个n命令继续搜索,确定此字符串下一次出现的位置。 用文字? 能够实现反方向而不是/的搜索(朝向文件的开头)。 例如/str1正向检索字符串str1继续搜索n,找到str1字符串下一个出现的位置str2反向搜索字符串str2无论搜索方向如何,当搜索到达文件的结尾或开头时,搜索都会循环到文件的另一侧继续。5 .撤销和重复要在编辑文档时删除错误的编辑命令结果,请使用撤消命令。 另外,用户是新的的光标位置可以重复上次执行的编辑命令,也可以使用重复命令。u撤消上一个命令的结果.重复修改最后正文的命令6 .文本选择vi可以进入Visual模式,用户可以通过光标移动命令直观地选择文本,执行删除、复印等编辑操作。 v字符选择命令v行选择命令#DEMO#1.6.3插入模式1 .进入插入模式在“编辑”模式下正确定位光标后,可以使用以下命令切换到“插入”模式在I光标左侧输入正文a在光标右侧输入正文o将新行添加到光标所在行的下一行o将新行添加到光标所在行的前一行在I光标所在行的开头输入正文a在光标所在行的末尾键入正文介绍了几种切换到插入模式的简单方法。 另一些命令允许您在进入插入模式之前删除某些内容本文实现了本文的置换。 包括以下命令将s光标指向的文字替换为输入的正文ns用您输入的正文替换光标右侧的n个字符cw将光标右侧的字符替换为输入的正文将光标右侧的n个字符替换为输入的正文cb将光标左侧的字符替换为输入的正文ncb将光标左侧的n个字符替换为输入的正文cd将光标所在的行替换为输入的正文ncd将光标下面的n行替换为输入的正文将从c$光标到行尾的所有字符替换为输入的正文将从c0行开头到光标的所有字符替换为输入的正文2 .结束插入模式要退出插入模式,请按ESC或Ctrl 键。#DEMO#1.6.4指令模式vi的命令模式允许使用复杂的命令。 如果在编辑模式下键入:光标将移动到屏幕的最后一行,冒号将显示在屏幕上,并进入命令模式。 命令模式也称为“最后一行模式”,用户输入的内容显示在画面的最后一行,按enter键,vi执行命令。1 .退出命令在编辑模式下,可使用ZZ命令退出vi编辑程序。 此命令保存对正文所做的更改并复盖原始文件。 我们需要的是要退出编辑程序而不保存编辑内容,请使用以下命令: q无需修改即可结束: q! 放弃所有更改并退出编辑程序2 .行号和文件您正在编辑的每一行的正文都有自己的行号,您可以使用以下命令将光标移动到指定的行将: n光标移动到第n行在命令模式下,可以指定命令操作的行号范围。 数字用于指定绝对行号的字符“.”表示光标所在行的行号 $ 是一个简单的表达式,表示正文中最后一行的行号。 例如, 5表示当前行下方的第五行。 例如将:345光标移到第345行:345 w文件将第345行写入文件:3,5 wfile将第3至第5行写入文件:1.wfile将第一行写入当前行的文件:$w file从当前行到最后一行写入file文件:5w文件将当前行的6行内容写入文件:1,$w file会将所有内容写入文件,并与:w file命令相对应在命令模式下,可以从文件读取正文,也可以将正文写入文件。 例如:w将编辑的内容写入原始文件,保存编辑的中间结果将:wq编辑内容写入原始文件,退出编辑程序(相当于ZZ指令):w file将编辑的内容写入文件,并保留原始文件的内容:a,bw file将从第a行到第b行的内容写入file文件: r文件读取文件的内容,并将其插入到当前光标所在行的后面: e文件编辑新文件文件以替换原始内容: f文件将当前文件重命名为文件:f打印当前文件的名称和状态,如文件的行数、光标所在的行数等3 .字符串检索指定到达指定行的字符串。 如果要进行前向搜索,请使用两个要搜索的字符串”如果要在/之间反向搜索,请选择两个“? 框中,选择“CSV文本”。 例如:/str/前向搜索将光标移动到包含字符串str的下一行: str? 反向搜索并将光标移动到包含字符串str的前一行:/str/w file向前搜索,并将包含字符串str的第一行写入file文件正向检索:/str1/,/str2/w file,写入包含字符串str1的行和包含字符串str2的行进入文件夹4 .正文置换可通过:s指令替换字符串。 具体用法如下:将最初出现在:s/str1/str2/行中的字符串str1替换为字符串str2将:s/str1/str2/g行中出现的所有字符串str1替换为字符串str2:$ s/str1/str2/g将文本中从当前行到末尾的所有出现字符串str1替换为字符串str2将:1,$ s/str1/str2/g文本中出现的所有字符串str1替换为字符串str2:g/str1/s/str2/g功能相同由上述替换指令可知,g位于指令的末尾,表示每次出现搜索字符串时不添加表示被替换的g,仅进行搜索字符串的第一个出现将被替换。g位于命令的开头,表示将替换正文中包含搜索字符串的所有行。5 .删去正文在命令模式下,还可以删除正文内容。 例如删除带有:d光标的行:3d删除行:$d删除当前行到正文末尾删除从:/str1/,/str2/d字符串str1到str2的所有行6 .恢复文件编辑vi文件通常会生成以.开头并以. swp结尾的临时文件。 vi在如果成功,文件将被删除,意外退出,并且文件的最新更改尚未保存,则可以使用恢复命令:recover恢复文件您还可以在启
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论