快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

齐乐娱乐客户端:Linux常见命令屏幕文本编辑器Vi



本章先容Linux上最常用的文本编辑器Vi。文本编辑器是所有谋略机系统中最常应用的一种对象。用户在应用谋略机的时刻,每每必要建立自己的文件,无论是一样平常的文本文件、数据文件,照样编写的源法度榜样文件,这些事情都离不开编辑器。

Linux系统供给了一个完备的编辑器家族系列,如Ed、Ex、Vi和Emacs等,按功能它们可以分为两大年夜类:行编辑器(Ed、Ex)和全屏幕编辑器(Vi、Emacs)。行编辑器每次只能对一行进行操作,应用起来很未方便。而全屏幕编辑器可以对全部屏幕进行编辑,用户编辑的文件直接显示在屏幕上,改动的结果可以急速看出来,降服了行编辑的那种不直不雅的操作要领,便于用户进修和应用,具有强大年夜的功能。

Vi是Linux系统的第一个全屏幕交互式编辑法度榜样,它从出生至今不停获得广大年夜用户的青睐,历经数十年仍旧是人们主要应用的文本编辑对象,足见其生命力之强,而强大年夜的生命力是其强大年夜的功能带来的。

本章中,我们将循规蹈矩地先容若何应用Vi来建立、编辑、显示以及处置惩罚文件。(注:文中的大年夜写字母为[shift]键+响应的小写字母的组合)

Vi简介

Vi是“Visual interface”的简称,它在Linux上的职位地方就仿佛Edit法度榜样在DOS上一样。它可以履行输出、删除、查找、调换、块操作等浩繁文本操作,而且用户可以根据自己的必要对其进行定制,这是其他编辑法度榜样所没有的。

Vi不是一个排版法度榜样,它不象Word或WPS那样可以对字体、款式、段落等其他属性进行编排,它只是一个文本编辑法度榜样。

Vi没有菜单,只有敕令,且敕令繁多。Vi有三种基础事情模式:敕令行模式、文本输入模式和末行模式。

敕令行模式

任何时刻,不管用户处于何种模式,只要按一下键,即可使Vi进入敕令行模式;我们在shell情况(提示符为$)下输入启动Vi敕令,进入编辑器时,也是处于该模式下。

在该模式下,用户可以输入各类合法的Vi敕令,用于治理自己的文档。此时从键盘上输入的任何字符都被当做编辑敕令来解释,若输入的字符是合法的Vi敕令,则Vi在吸收用户敕令之后完成响应的动作。但需留意的是,所输入的敕令并不在屏幕上显示出来。若输入的字符不是Vi的合法敕令,Vi会响铃报警。

文本输入模式

在敕令模式下输入插入敕令i、附加敕令a 、打开敕令o、改动敕令c、取代敕令r或调换敕令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入历程中,若想回到敕令模式下,按键即可。

末行模式

末行模式也称ex转义模式。

Vi和Ex编辑器的功能是相同的,二者主要差别是用户界面。在Vi中,敕令平日是单个键,例如i、a、o等;而在Ex中,敕令因此按回车键停止的正文行。Vi有一个专齐乐娱乐客户端门的“转义”敕令,可造访很多面向行的Ex敕令。在敕令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的着末一行(平日也是屏幕的着末一行)显示一个“:”作为末行模式的提示符,等待用户输入敕令。多半文齐乐娱乐客户端件治理敕令都是在此模式下履行的(如把编辑缓冲区的内容写到文件中等)。末行敕令履行完后,Vi自动回到敕令模式。例如:

:1,$s / A / a / g

则从文件第一行至文件尾将大年夜写A整个调换成小写a。

若在末行模式下输入敕令历程中改变了主见,可按键,或用退格键将输入的敕令整个删除之后,再按一下退格键,即可使Vi回到敕令模式下。

Vi编辑器的三种事情模式之间的转换如图11-1所示

假如要从敕令模式转换到编辑模式,可以键入敕令a或者i;假如必要从文本模式返回,则按Esc键即可。在敕令模式下输入“:”即可切换到末行模式,然后输入敕令。

第二十五课 Vi的进入与退出      2000年/6月/13日

Vi 的进入

用户登录到系统中之后,系统给出提示符“$”。在提示符后键入Vi和想要编辑(或建立)的文件名,便可进入Vi。

[例1] 键入敕令:

$ vi example.c

屏幕显示如下:

~

~

~

~

~

~

~

~

~

~

~

~

~

“ example.c” [New File]

假如只键入Vi,而不带文件名,也可以进入Vi。之后在光标处键入文件内容,退出Vi时,只需在退出敕令后输入文件名即可。

进入Vi之后,首先辈入的便是敕令模式,也便是说等待敕令输入而不是文本输入。这时输入的字母都将作为敕令来解释。光标停在屏幕第一行首位上(用表示),另外各行行首均有一个“~”符号,表示该行径空行。着末一行也称状态行,显示出当前正在编辑的文件名以及其状态。如本例是[New File],表示example.c是一个新建的文件。假如example.c文件已在系统中存在,那么输入上述敕令后,则在屏幕上显示出该文件的内容,并且光标停在第一行的首位,在状态行显示出该文件的文件名、齐乐娱乐客户端行数和字符数。

[例2] 键入敕令:

$ vi example.c

然后键入:

#include

main ( )

{ int k ;

for ( k=0 ; k<3 ; k++) add( );

}

add( )

{ static int x=0;

x++ ;

printf(“x = %d\齐乐娱乐客户端n”, x);

}

~

~

~

~

“ example.c” [ New File]

留意,在这里我们为了节省篇幅起见,屏幕只显示15行。事实上,初始的显示行数与用户所用终端有关,一样平常的CRT终端可显示25行。在窗口系统中,显示行数与运行Vi的那个窗口有关。然而我们可以对显示行数进行设置。例如,在能显示25行的CRT终端上,让Vi只显示15行。设置的措施将在本节后面先容。

当用Vi建立一个新文件时,在进入Vi的敕令中也可以不给出文件名,当编辑完文件必要保存数据时,再由用户指定文件名。

进入Vi时,用户不仅可以指定一个待编辑的文件名,而且还有许多附加操作。

假如盼望在进入Vi之后,光标处于文件中特定的某行上,可在Vi后加上任选项+n,此中n为指定的行数。

[例3] 键入敕令:

$ vi +5 example1.c

后,屏幕显示如下:

#include

main ( )

{ int k ;

for ( k=0 ; k<3 ; k++) add( );

}

add( )

{ static int x=0;

x++ ;

printf(“x = %d\n”, x);

}

~

~

~

~

~

“ example.c” 12 lines, 125 characters

光标将位于文件example1.c中的第5行上。

假如盼望在进入Vi之后光标处于文件最末行,则只需把敕令中附加项“+”后面的数字n省略掉落即可。

在进入Vi时,除了可以指定一个光标肇端行号之外,还可以在敕令中指定一个模式串,此时在进入Vi后,光标就处于文件中第一个与指定模式串相匹配的那行上。

[例4] 键入敕令:

$ vi +/int example1.c

屏幕显示如下:

#include

main ( )

{ int k ;

for ( k=0 ; k<3 ; k++) add( );

}

add( )

{ static int x=0;

x++ ;

printf(“x = %d\n”, x);

}

~

~

~

~

~

“ example.c” 12 lines, 125 characters

光标将位于文件example1.c中的第3行上。

应用Vi可以同时编辑多个文件,只要在进入Vi的敕令中写入所要操作的文件即可,还可以应用通配符。

[例5] 键入敕令:

$ vi *.cat

就可以编辑所有后缀为cat的文件了。当然,您还可以应用shell中内置的模式匹配来装载文件,这样会更富技术性。一旦您在敕令行中包孕了所有的待编辑文件名,就可以在Vi中方便地移来移去。

退出Vi

当编辑完文件,筹备退出Vi返回到shell时,可以应用以下几种措施之一。

在敕令模式中,连按两次大年夜写字母Z,若当前编辑的文件曾被改动过,则Vi保存该文件退却撤退出,返回到shell;若当前编辑的文件没被改动过,则Vi直接退出, 返回到shell。

在末行模式下,输入敕令:w

Vi保存当前编辑文件,但并不退出,而是继承等待用户输入敕令。在应用w敕令时,可以再给编辑文件起一个新的文件名。

[例6]

:w newfile

此时Vi将把当前文件的内容保存到指定的newfile中,而原有文件维持不变。若newfile是一个已存在的文件,则Vi在显示窗口的状态行给出提示信息:

File exists (use ! to override)

此时,若用户真的盼望用文件确当前内容调换newfile华夏有内容,可应用敕令

:w! newfile

否则可选择别的的文件名来保存当前文件。

在末行模式下,输入敕令:q

系统退出Vi返回到shell。若在用此敕令退出Vi时,编辑文件没有被保存,则Vi在显示窗口的最末行显示如下信息:

No write since last change (use ! to overrides)

提示用户该文件被改动后没有保存,然后Vi并不退出,继承等待用户敕令。若用户便是不想保存被改动后的文件而要强行退出Vi时,可应用敕令:q!

Vi放弃所作改动而直接退到shell下。

在末行模式下,输入敕令:wq

Vi将先保存文件,然退却撤退出Vi返回到s齐乐娱乐客户端hell。

在末行模式下,输入敕令:x

该敕令的功能同敕令模式下的ZZ敕令功能相同。

Vi中的行号

Vi中的许多敕令都要用到行号及行数等数值。若编辑的文件较大年夜时,自己去数是异常未方便的。为此Vi供给了给文本加行号的功能。这些行号显示在屏幕的左边,而响应行的内容则显示在行号之后。

应用的敕令为:在末行要领下输入敕令:

:set number

必要阐明的是,这里加的行号只是显示给用户看的,它们并不是文件内容的一部分。

在一个较大年夜的文件中,用户可能必要懂得光标当前行是哪一行,在文件中处于什么位置,可在敕令模式下

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: