您的位置:首页 > 运维架构 > Linux

如何在虚拟机安装下的Linux系统下使用Vi编辑器

2012-12-28 16:51 1156 查看
(参考http://zhidao.baidu.com/question/123161356.html

一.vi的模式

命令模式:vi启动默认进入的模式,可进入输入模"i",或末行模式(:),除了可以完成命令的功能外,也是后两种模式的

转换点

输入模式:即文本辑辑状态,最后一行显示"-- INSERT --"提示,按ESC返回到命令模式

末行模式:可完成一些复杂操作,以":"开始,执行完一个末行命令后自动返回命令模式

二.基本使用

1.vi 编辑器的启动与退出:

(1).使用命令"vi"直接进入编辑环境

(2).在命令模式下输入":q!",可以强行退出编辑环境,对文件修改不进行保存

(3).以文件名作为"vi"命令的参数时,若存在此文件,则vi可对内容进行编辑,若不存在,打开以参数名命名的空文件

2.文件操作:

(1).打开新文件:在末行模式下":e filename"关闭当前文件并打开新文件,":e! filename 强制关闭当前文件并打开新文

件"

(2).读取文件内容到当前文件:":r filename",读取的文件内容粘贴到当前文件光标所在行的下面

(3)保存文件:命令为":w [filename]",如果文件已经命名,可直接使用":w"命令的参数,如果没有命名,第一次保存时需

指定文件名作为参数

(4).另存为文件:命令为":w filename",只保存到新文件,而不更新原来文件的内容

(5).退出vi编辑器:退出格式为":q",保存并退出为":wq",强行退出为":q!"



3.光标的移动操作(命令模式下)

(1).光标方向移动:"h"左、"l"右、"k"上、"j"下

(2).翻页移动:"ctrl+f"前一页、"ctrl+b"后一页、"ctrl+u"前半页、"ctrl+d"后半页

(3).行内快速跳转:"^"本行首字符、"$"本行尾字符、"w"后一单词首字母、"b"前一单词首字母、"e"后一单词尾字母;可

添加数字组合使用,例如:"3w"后三个单词首字母、"4b"前4个单词首字母、"5e"后5个单词尾字母

(4).文件内行间跳转:显示行号":set nu",取消显示行号":set nonu","1G"跳转到首行,"G"跳转到末尾行,"#G"跳转到

第#行



4.编辑操作

(1).进行输入模式:"i"当前光标处,"a"当前光标后,"A"当前行末,"o"当前行下插入新行,"O"当前行上插入新行,"cw"

删除当前光标到所在尾部字符,"c$"删除当前光标到行尾的字符,"c^"删除当前光标(不包括)之前到行首的字符;以上记忆

如有困难,可只记"i"从命令模式进入输入模式,完成编辑后"Esc"退回到命令模式

(2).输入模式的操作:上下左右方向进行光标移动,"Home/End"定位光标到行首行尾,"Page Up /Down"上下翻

页,"Backspace"左侧字符的删除,"Delete"删除光标位置的字符

(3).删除操作:在命令模式下,可用以下命令完成删除操作,"x"光标处单个字符,"dd"光标所在行,"dw"当前字符到单词

尾(含空格),"de"当前字符到单词尾(不含空格),"d$"当前字符到行尾,"d^"当前字符到行首,"J"合并当前行与下一行

的内容,可添加数字配合使用,例如"3x"当前光标向右3个字符,"2dd"从当前行开始向下两行文本,"3dw"当前光标向右3个

单词,"2de"当前光标向右两个单词(保留一个空格),"5J"合并5行文本

(4).撤销操作:在命令模式下,"u"取消最近一次操作,可重复使用,"U"取消对当前行进行的所有操作,"Ctrl+R"对"u"产

生的撤消进行恢复

(5).复制操作:"yy"整行,"yw"光标到单词尾,"y$"光标到行尾,"y^"光标到行首;与数字组合使用,"5yy"当前及后续共5

行,"3yw"当前光标开始的3个单词;末行命令":m,ny"m行到n行之间的文本,例如:":100,200y"100行到200的内容

(6).粘贴操作:在命令模式下,使用"p"将缓冲区中的内容粘贴到当前文档

5.查找与替换操作(末行模式)

(1).自上而下:":/word"查找指定的字符串,"n"查找下一个(自上而下)"N"反向查找下一个(自下而上)

(2).自下而上:":?word"自下而上查找指定字符串,"n"查找下一个(自下而上)"N"反向查找下一个(自上而下)

(3).普通替换:":s/old/new"由s开始,"old"指被替换的字符串,"new"替换成哪个字符串,此命令只替换当前行中第一个

匹配的字符串

(4).行内全部替换:":s/old/new/g",当前行内所有匹配的字符串

(5).在行区域内进行替换:":#,#s/old/new/g","#,#"表示两个行号之间的行区域,例如"3,5"表示第3行到第5行

(6).整个文件内的替换操作:":%s/old/new/g",加%表示整篇文档,危险,慎用

(7).使用替换确认功能:在原替换命令后加"c"可提供确认功能,例

如:":s/old/new/c",":s/old/new/gc",":#,#s/old/new/gc",":%s/old/new/gc";替换命令确认后的提示为"replace

with word (y/n/a/q/l/^E/^Y) ?",其中"y"替换,"n"放弃,"a"所有,"q"退出



三、编辑器的多文件操作



1.多文件操作的vi启动:"vi [file1] [file2] .."后跟多个文件名作为参数即可,第一个参数显示在屏幕上,其它文件处

于编辑后台状态

2.多文件切换命令:

(1).显示多文件信息:":args"结果中显示打开的文件,"[]"内为当前显示文件

(2).前后切换文件:":next"显示后一文件,":prev"显示前一文件,加"!"为强制切换,不保存当前文件

(3).定位首文件和尾文件:":first"定位首文件,":last"定位尾文件

(4).快速文件切换:已经用某个切换命令进行文件切换后,"Ctrl+^"可快速切换到前状态
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: