预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
vi详细教程2007-11-2915:53vi的工作模式编辑模式插入模式命令模式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将光标移到屏幕的第2行M将光标移到屏幕的中间(Middle)L将光标移到屏幕的最下行(Lowest)nL将光标移到屏幕的倒数第n行3L将光标移到屏幕的倒数第3行w在指定行内右移光标,到下一个字的开头e在指定行内右移光标,到一个字的末尾b在指定行内左移光标,到前一个字的开头0数字0,左移光标,到本行的开头$右移光标,到本行的末尾^移动光标,到本行的第一个非空字符2.替换和删除将光标定位于文件内指定位置后,可以用其他字符来替换光标所指向的字符,或从当前光标位置删除一个或多个字符。例如:rc用c替换光标所指向的当前字符nrc用c替换光标所指向的前n个字符5rc用c替换光标所指向的前5个字符x删除光标所指向的当前字符nx删除光标所指向的前n个字符3x删除光标所指向的前3个字符dw删除光标右侧的字ndw删除光标右侧的n个字3dw删除光标右侧的3个字db删除光标左侧的字ndb删除光标左侧的n个字5db删除光标左侧的5个字dd删除光标所在行,并去除空隙ndd删除n行内容,并去除空隙3dd删除3行内容,并去除空隙3.粘贴和复制从正文中删除的内容(如字符、字或行)并没有真正丢失,而是被剪切并复制到了一个内存缓冲区中。用户可将其粘贴到正文中的指定位置。完成这一操作的命令是:p小写字母p,将缓冲区的内容粘贴到光标的后面P大写字母P,将缓冲区的内容粘贴到光标的前面如果缓冲区的内容是字符或字,直接粘贴在光标的前面或后面;如果缓冲区的内容为整行正文,则粘贴在当前光标所在行的上一行或下一行。注意上述两个命令中字母的大小写。vi编辑器经常以一对大、小写字母(如p和P)来提供一对相似的功能。通常,小写命令在光标的后面进行操作,大写命令在光标的前面进行操作。有时需要复制一段正文到新位置,同时保留原有位置的内容。这种情况下,首先应当把指定内容复制(而不是剪切)到内存缓冲区。完成这一操作的命令是:yy复制当前行到内存缓冲区nyy复制n行内容到内存缓冲区5yy复制5行内容到内存缓冲区4.搜索字符串和许多先进的编辑器一样,vi提供了强大的字符串搜索功能。要查找文件中指定字或短语出现的位置,可以用vi直接进行搜索,而不必以手工方式进行。搜索方法是:键入字符/,后面跟以要搜索的字符串,然后按回车键。编辑程序执行正向搜索(即朝文件末尾方向),并在找到指定字符串后,将光标停到该字符串的开头;键入n命令可以继续执行搜索,找出这一字符串下次出现的位置。用字符?取代/,可以实现反向搜索(朝文件开头方向)。例如:/str1正向搜索字符串str1n继续搜索,找出str1字符串下次出现的位置?str2反向搜索字符串str2无论搜索方向如何,当到达文件末尾或开头时,搜索工作会循环到文件的另一端并继续执行。5.撤销和重复在编辑文档的过程中,为消除某个错误的编辑命令造成的后果,可以用撤消命令。另外,如果用户希望在新的光标位置重复前面执行过的编辑命令,可用重复命令。u撤消前一条命令的结果.重复