ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:22.92KB ,
资源ID:26861285      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26861285.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VI的使用.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VI的使用.docx

1、VI的使用文件操作:q 退出! (更确切的说应该是关闭当前文件):w 文件名 存盘。如果还是保存为当前文件,不必写文件名:wq 存盘退出光标的移动本节所述皆是在common-mode(c-mode,在vim又名normal-mode)下的移动,原始的vi只能在c-mode移动光标,在insert-mode只做文字的输入,而不做光标的移动。当然vim及elvis的方向键是不论在那一种mode皆可移动自如。基本移动h 左,或 Backspace 或方向键j 下,或 Enter 或 +(要 Shift 键),或方向键k 上,或 方向键或 -(不必 Shift 键)l 右,或 Space 或方向键 使

2、用hjkl键的移动是为了使手不必离开打字区(键盘中央的部位),以加快打字的速度,如果各位不习惯,那就使用方向键吧! Backspace及Space的移动方式是到了行首或行尾时会折行,但方向键或hl键的移动则在行首或行尾时您继续按也不会折行。转折换行的功能是vim的扩充功能,elvis无此功能。 jk及使用方向键的上下移动光标会尽量保持在同一字段。使用Enter,+,-的上下移动,光标会移至上(下)一行的第一个非空格符处。 好像有点复杂,各位就暂时使用方向键来移动就简单明白了!等您爱上了vim后再来讲究吧。Ctrl-f 即 PageDown 翻页。Crtl-b 即 PageUp 翻页。高级移动0

3、 是数目字 0 而不是英文字母 o。或是 Hmoe 键,移至行首, (含空格符)。 移至第一个非空格符,注意,要 Shift 键。$ 移至行尾,或 End 键。要 Shift 键。 以上两个按键是源自规则表示式(regular expression),在regexp中是匹配行首,$是匹配行尾。G 移至档尾(最后一行的第一个非空格符处)gg 移至档首(第一行之第一个非空格符处) gg是vim的扩充功能,在elvis或原始vi中可用1G来移至文件首(是数字1不是英文字l)。 G之原意是goto,指移至指定数目行之行首,如不指定数目,则预设是最后一行。w 移至次一个字(word)前缀。当然是指英文单

4、字。W 同上,但会忽略一些标点符号。e 移至前一个字字尾。E 同上,但会忽略一些标点符号。b 移至前一个字前缀。B 同上,但会忽略一些标点符号。H 移至屏幕顶第一个非空格符。M 移至屏幕中间第一个非空格符。L 移至屏幕底第一个非空格符。 这和PageDown,PageUp不一样,内文内容并未动,只是光标在动而已。n| 移至第 n 个字符(栏)处。注意,要用 Shift 键。n 是从头起 算的。:n 移至第 n 行行首。或 nG。特殊移动) 移至下一个句子(sentence)首。( 移至上一个句子(sentence)首。 移至下一个段落(paragraph)首。 移至上一个段落(paragrap

5、h)首。 sentence是以. ! ?为区格。 paragraph是以空白行为区格。% 这是匹配 ,() 用的,例如您的光标现在在 上 只要按 %,就会跑到相匹配的 上。写程序时满好用的。另还有一些vim的特殊按键,但这得留待最后才来讲述,否则各位恐怕会头昏眼花了。基本编辑指令这个单元就开始进入主题了。下编辑指令都是在commond-mode(c-mode),就是您一进入vim时的模式,只能下指令,不能键入文字。如果印象模糊,请瞄一下第一个单元的内容。这个单元说的是基本的指令,有些比较特殊的编辑指令,因为太有个性了,所以会独立成一个单元来说明。进入 i-modei 在光标所在字符前开始输入文

6、字(insert)。a 在光标所在字符后开始输入文字(append)。o 在光标所在行下开一新行来输入文字(open)。I 在行首开始输入文字。 此之行首指第一个非空格符处,要从真正的第一个字符处开始输人文字,可使用0i或gI(vim)。A 在行尾开始输入文字。 这个好用,您不必管光标在此行的什么地方,只要按A就会在行尾等着您输入文字。O 在光标所在行上开一新行来输入文字。J 将下一行整行接至本行(Joint)。 并无相对的split功能,可在i-mode下按Enter来达成,当然如果您熟macro的话,可自行定义。 使用J时,预设会消去本行的EOL,且上下行接缝间会留下一个空格符,这符合英文

7、习惯,却对中文会造成困扰,欲不留空格符,可使用gJ(大写J)指令,但这是vim的扩充功能,elvis不适用。 请您随便找一个档案来试看看,光看文字说明太抽象了。删除x 删除光标所在处之字符。在 vim 及 elvis 亦可用 Del 键。X 删除光标前之字符。不可使用 Backspace 键。 vim可以正确使用以上两个指令于中文,会删去一个中文字。elvis则不行,一个中文字要删两次,即使用xx。dd 删除一整行(delete line)。dw 删除一个字(delete word)。不能适用于中文。dG 删至档尾。d1G 删至档首。或 dgg(只能用于 vim)。D 删至行尾,或 d$(含光

8、标所在处字符)。d0 删至行首,或 d(不含光标所在处字符)。 请回忆一下$及所代表的意义,您就可以理解d$及d的动作,这就是vi(m)可爱之处。取代和还原r 取代光标所在处之字符。vi(m) 很有个性的,您在 c-mode 按 了 r 她就会停在那里等主人键入所要替代的字符,希望您这 个当主人的,不要傻呼呼的也楞在那里,赶快键入您的新字符 吧!:-) vim中可用于中文字,也就是可以替换一个中文字,elvis则不行。当然您的vim是要设在taiwan的才行。怎么样!有没有看过如此有个性的取代方式?!r就是replace啦!R 取代字符至按 Esc 为止。cc 取代整行内容。或大写 S 亦可。

9、cw 替换一个英文字(word),中文不适用。(change) 游标所在处之大小写互换。当然不能用于中文。别忘了 Shift!C 取代至行尾,即光标所在处以后的字都会被替换。或 c$。c0 取代至行首,或 c。s 替换一个字符为您所输入的字符串。和 R 不同,R 是覆盖式的取 代,s 则是插入式的取代,您可亲自实验看看。!是小写的 s。u 这个太重要了,就是 undo,传统的 vi 仅支持一次 undo,vim 及 elvis 就不只了,vim 是没有限制的。U 在光标没离开本行之前,回复所有编辑动作。Crtl+r 这个也是很重要,就是 redo 键。加上数字喔!骚到vi(m)的痒处了,这是v

10、i(m)一个非常骚包的功能,只此一家别无分号(当然同源的ed,sed等不在此限)。就是您可以在大部份的指令前加上数目字,代表要处理几次的意思。以下用实例来说明比较清楚。5dd 删除游标所在处(含)起算以下五行内容。妙吧!3r 按了 3r 后,您键入一个英文字,则三个字符皆会被您所键 入的英文取代。很抱歉,这不能用于中文。5J 将五行合并成一行。3x 删除三个字符。抱歉,不能用于中文。5i A 然后按 Ecs,插入五个 A。中文也可以!2i system Esc 插入 systemsystem。中文也可以!5G 光标移至第五行,是从档首开始起算。5l 移至右第五个字符处,当然 j 是可以用方向键

11、取代的。 所有移动指令(参考第二单元)都可以加上数目字来控制,中 文也通喔!elvis 当然是不能用于中文。其它的指令和数目字结合,就留待各位去发掘吧!最重要的是请您亲自操作看看,使用vi(m)常常要动动脑筋,会有更妙的操作方式。重排 整行向右移一个 shiftwidth(预设是 8 个字符,可重设)。 整行向左移一个 shiftwidth(预设是 8 个字符,可重设)。 :set shiftwidth?可得知目前的设定值。:set shiftwidth=4可马上重设为4个字符。shiftwidth可简写成sw。,别忘了Shift键!:ce(nter) 本行文字置中。注意是冒号命令!:ri(g

12、ht) 本行文字靠右。:le(ft) 本行文字靠左。 所谓置中、靠左右,是参考textwidth(tw)的设定。如果tw没有设定,预设是80,就是以80个字符为总宽度为标准来置放。当然您也可以如sw一样马上重设。gqip 整段重排。中文会出槌!:-(gqq 本行重排。重排的依据也是textwidth。这里的重排是指您键入文字时没有按Enter键,就一直在keyin,这样会形成一个很长的一行(虽然屏幕上会替您做假性折行),重排后,则会在每一行最后加入EOL。gq重排功能是vim才有的功能。复制(yank)yank是什么意思?有疑问的请查一下字典吧!就好像是中医治疗中的拔罐的意思啦(是不是叫拔罐?

13、知道的朋友指正一下吧)!反正在vi(m)中,她就是复制copy的意思。这在vi(m)的思考逻辑里,就是拔yank起来,放put上去。其实复制的指令就是y一个而已,为什么要独立成一个单元来说明呢?因为vi(m)复制、贴上的功能实在太独特了,再配合第三单元介绍的数目字,及vi(m)内部的缓冲区来使用的话,您会发现,原来vi(m)肚子里还暗藏着秘密武器。yy 复制游标所在行整行。或大写一个 Y。2yy 或 y2y 复制两行。,请举一反三好不好!:-)y 复制至行首,或 y0。不含光标所在处字符。y$ 复制至行尾。含光标所在处字符。yw 复制一个 word。y2w 复制两个字。yG 复制至档尾。y1G

14、 复制至档首。p 小写 p 代表贴至光标后(下)。P 大写 P 代表贴至光标前(上)。 整行的复制,按p或P时是插入式的贴在下(上)一行。非整行的复制则是贴在游标所在处之后(前)。ayy 将本行文字复制到 a 缓冲区 a可为26个英文字母中的一个,如果是小写的话,原先的内容会被清掉,如果是大写的话是append的作用,会把内容附加到原先内容之后。 是Enter键隔壁的那一个同上符号(ditto marks)。ap 将 a 缓冲区的内容贴上。 缓冲区的术语在vim称为registers,vim扩充了相当多的功能,有兴趣深入的朋友请:h registers。您用d、c、s、x、y等指令改变或删除的

15、内容都是放在registers中的。例如:您用dd删除的一行,也是可以使用p来贴上的。只要是在缓冲区的内容都可以使用p来贴上,不是一定要y起来的内容才能用p。因此您认为p是paste也可以,认为是put可能较正确。5ayy 复制五行内容至 a 缓冲区。5Ayy 再复制五行附在 a 内容之后,现在 a 中有十行内容了! !不要我一直用a您就认为只有a可以用喔。26个英文字母都可以的,交叉运用下,您会发觉vi(m)肚量不小。 问题来了!忘记谁是谁的时候怎么办?:reg(冒号命令)就会列出所有registers的代号及内容。您现在就试着按看看。咦!怎么还有数目字、特殊符号的缓冲区,原来您刚刚删除(复

16、制)的内容就预设放在这个缓冲区,然后依序是0,1,2,.9。也就是说您按p不加什么的话,是取出缓冲区的内容的。%指的是目前编辑的档案,#指的是前一次编辑的档案。还有其它的呀!因为没什么重要,就请:h registers吧!registers有个s结尾,不要搞错了,而且Tab的补全键vim也支持的,也就是说您键入:h regi再按Tab键,vim就会帮您补全,按了Tab后发现不是您要的,那就继续按,总会出现您要的。:-) Tab补全的功能,elvis也有,但叫出registers列表的命令则没有,您得自行记忆在您的脑袋瓜子里。而且elvis的补全能力并没vim强。 . 这是什么?,是英文句点啦!

17、没错,就是英文句点。什么意 思?重复前次的编辑动作。这个指令太高明了,只要是编辑动 作(移动光标不算,冒号命令也不算)都可以按英文句点来重 复,要重复几次都可以。例如:您按了yy,然后按p就会复制、贴上一整行,如果要重复这个动作的话,就可以按.,也可以把光标移到其它地方后再按。其它dd,dw,r,cw等编辑指令都可以这样来重复。如果您要重复做某些编辑动作时,千万千万一定要想到有这么一个英文句点重复指令。,拜托啦!您一定要常用这个指令。1.那mouse中键的剪贴功能还有吗?当然还有,不管在console或X terminal中都照用不误。当然在windows下的话就不能用了,可以用Shift-I

18、nsert来代替。Ctrl-v在vim中另有作用,在windows下就不必去麻烦它了。2.,我从netscape用mouse copy东东过来的时候,常常都搞得天下大乱耶!要设成:set paste,预设是map至F9键的,您要copy之前先按一下F9,copy完后再按一次F9来回复。这是vim的扩充功能,elvis没有。那在elvis怎么办?只好:set noai了。在GUI的版本应不会有这种情形。set的功能先不必去理它,往后会有一个单元专门讨论。查找、替换搜寻、替换的功能几乎是每个编辑器必备的功能,那在vi(m)中有没有特殊的地方呢?当然有,您忘了,vi(m)是个性十足的编辑器。最特殊的

19、地方是和规则表示式(regular expression,简称regexp)结合在一起。简单的说她是一种pattern的表示法,在执行动作,如寻找或替换,就会依据这个pattern去找,所有符合pattern的地方就会执行您所下的动作。在这个单元里暂不讨论regexp,会另立一个单元来探讨,以免搞得头昏脑胀。目前就暂不使用regexp,您要找什么就直接键入什么就对了。查找/ 在 c-mode 的情形下,按 / 就会在左下角出现一个 /,然后键 入您要寻找的字符串,按个 Enter 就会开始找。? 和 / 相同,只是 / 是向前(下)找,? 则是向后(上)找。n 继续寻找。N 继续寻找(反向)。

20、更方便的查找* 寻找游标所在处之 word(要完全符合)。# 同上,但 * 是向前(下)找,# 则是向后(上)找。g* 同 * ,但部份符合即可。g# 同 # ,但部份符合即可。 n, N之继续寻找键仍适用。替换:ranges/pattern/string/c,e,g,irange 指的是范围,1,7 指从第一行至第七行,1,$ 指从第一行 至最后一行,也就是整篇文章,也可以 % 代表。 还记得吗?%是目前编辑的文章,#是前一次编辑的文章。pattern 就是要被替换掉的字符串,可以用 regexp 来表示。string 将 pattern 由 string 所取代。c confirm,每次替

21、换前会询问。e 不显示 error。g globe,不询问,整行替换。i ignore 不分大小写。 g大概都是要加的,否则只会替换每一行的第一个符合字符串。可以合起来用,如cgi,表示不分大小写,整行替换,替换前要询问是否替换。实例:%s/Edwin/Edward/g这样整篇文章的Edwin就会替换成Edward。更进阶的寻找、替换的例子在说明regexp的时候还会再详述。目前只知道最基本的用法就可以了!其实光这样就非常好用了。:-)书签这又是vi(m)的一个秘密武器,简单的说,您可以在文章中的某处做个记号(marks),然后跑到其它地方去编辑,在呼叫这个mark时又会回到原处。妙吧!mx

22、x 代表 26 个小写英文字母,这样光标所在处就会被 mark。x 回到书签原设定位置。 是backward quote,就是Tab键上面那一个。x 回到书签设定行行首。 是forward quote,是Enter键隔壁那一个。书签扩展小写字母 只作用于单一档案内。大写字母 可作用于编辑中之各档案间。数目字 可作用于前次编辑的十个档案。 数目字的用法比较特殊,0是回到前一次编辑档案中离开前的最后位置,1则是回到前二次编辑档案的最后位置,依此类推。您不必使用m来标示,vim会自动记忆。很玄吧!其实这是viminfo的功能,您要认真追究的话,请:h viminfo-file-marks。viminfo关掉,就没这个功能了! 所谓前次指的是前次启动的vim。:marks 得知目前所有书签的列表。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1