vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的提高版(viImproved),与vi编辑器完全兼容,并且实现了好多提高功能。
vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练把握着两种模式的切换。默认情况下,打开vi编辑器后手动步入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用“A”、“a”、“O”、“o”、“I”、“i”键。
vi编辑器提供了丰富的外置命令,有些外置命令使用按键组合键即可完成,有些外置命令则须要以逗号“:”开头输入。常用外置命令如下:
Ctrl+u:向文件首翻半屏; Ctrl+d:向文件尾翻半屏; Ctrl+f:向文件尾翻一屏; Ctrl+b:向文件首翻一屏; Esc:从编辑模式切换到命令模式; ZZ:命令模式下保存当前文件所做的修改后退出vi; :行号:光标跳转到指定行的行首; :$:光标跳转到最后一行的行首; x或X:删除一个字符,x删除光标后的,而X删除光标前的; D:删除从当前光标到光标所在行尾的全部字符; dd:删除光标行正行内容; ndd:删除当前行及其后n-1行; nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字; p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方; P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方; /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示; ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示; a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作; a:在当前字符后添加文本; A:在行末添加文本; i:在当前字符前插入文本; I:在行首插入文本; o:在当前行后面插入一空行; O:在当前行前面插入一空行; :wq:在命令模式下,执行存盘退出操作; :w:在命令模式下,执行存盘操作; :w!:在命令模式下,执行强制存盘操作; :q:在命令模式下,执行退出vi操作; :q!:在命令模式下,执行强制退出vi操作; :e文件名:在命令模式下,打开并编辑指定名称的文件; :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件; :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例; :set number:在命令模式下,用于在最左端显示行号; :set nonumber:在命令模式下,用于在最左端不显示行号;
句型
vi(选项)(参数)
选项
+:从指定行号的行开始先是文本内容; -b:以二进制模式打开文件,用于编辑二进制文件和可执行文件; -c:在完成对第一个文件编辑任务后,执行给出的指令; -d:以diff模式打开文件,当多个文件编辑时,显示文件差异部分; -l:使用lisp模式,打开“lisp”和“showmatch”; -m:取消写文件功能,重设“write”选项; -M:关闭修改功能; -n:不实用缓存功能; -o:指定同时打开指定数目的文件; -R:以只读方式打开文件; -s:安静模式,不现实指令的任何错误信息。
参数
文件列表:指定要编辑的文件列表。多个文件之间使用空格分隔开。
知识扩充
vi编辑器有三种工作方法:命令形式、输入方法和ex通配符形式。通过相应的命令或操作linux vi命令 跨文件,在这三种工作方法之间可以进行转换。
命令形式
在Shell提示符后输入命令vi,步入vi编辑器,并处于vi的命令形式。此时,从按键上输入的任何字符都被作为编辑命令来解释,比如,a(append)表示附加命令,i(insert)表示插入命令,x表示删掉字符命令等。倘若输入的字符不是vi的合法命令,则机器发出“报警声”,光标不联通。另外,在命令形式下输入的字符(即vi命令)并不在屏幕上显示下来redhat linux 9.0下载,比如,输入i,屏幕上并无变化,但通过执行i命令,编辑器的工作方法却发生变化:由命令形式变为输入方法。
输入方法
通过输入vi的插入命令(i)、附加命令(a)、打开命令(o)、替换命令(s)、修改命令(c)或替代命令(r)可以从命令形式步入输入方法。在输入方法下,从按键上输入的所有字符都被插入到正在编辑的缓冲区中,被当作该文件的正文。步入输入方法后,输入的可见字符都在屏幕上显示下来百度网盘LINUX,而编辑命令不再起作用,仅作为普通字母出现。比如,在命令形式下输入字母i,进到输入方法,之后再输入i,就在屏幕上相应光标处添加一个字母i。
由输入方法回到命令形式的办法是按下Esc键。倘若已在命令形式下linux vi命令 跨文件,这么按下Esc键都会发出“嘟嘟”声。为了确保用户想执行的vi命令是在命令形式下输入的,不妨多按几下Esc键,看到嘟声后再输入命令。
ex通配符形式
vi和ex编辑器的功能是相同的,两者的主要区别是用户界面。在vi中,命令一般是单个字母,如a,x,r等。而在ex中,命令是以Enter;键结束的命令行。vi有一个专门的“转义”命令,可访问好多面向行的ex命令。为使用ex通配符形式,可输入一个逗号(:)。作为ex命令提示符,引号出现在状态行(一般在屏幕最下一行)。按下中断键(一般是Del键),可中止正在执行的命令。多数文件管理命令都是在ex通配符形式下执行的(比如,读取文件,把编辑缓冲区的内容讲到文件中等)。通配符命令执行后,手动回到命令形式。诸如:
:1,$s/I/i/g 按Enter键
则从文件第一行至文件末尾($)将小写I全部替换成大写i。vi编辑器的三种工作方法之间的转换如图所示。