`
xuyongping
  • 浏览: 124254 次
  • 性别: Icon_minigender_1
  • 来自: 部落格
社区版块
存档分类
最新评论

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返回到shell。
  在末行模式下,输入命令:x
  该命令的功能同命令模式下的ZZ命令功能相同。
  Vi中的行号
  Vi中的许多命令都要用到行号及行数等数值。若编辑的文件较大时,自己去数是非常不方便的。为此Vi提供了给文本加行号的功能。这些行号显示在屏幕的左边,而相应行的内容则显示在行号之后。
  使用的命令为:在末行方式下输入命令:
  :set number
  需要说明的是,这里加的行号只是显示给用户看的,它们并不是文件内容的一部分。
  在一个较大的文件中,用户可能需要了解光标当前行是哪一行,在文件中处于什么位置,可在命令模式下
分享到:
评论

相关推荐

    linux下Vi编辑器常用命令

    ### Linux 下 Vi 编辑器常用命令详解 #### 一、进入 vi 的命令 1. **vi filename**:此命令用于打开或编辑一个名为 `filename` 的文件,并且默认会进入命令模式。 2. **vi +n filename**:通过这个命令可以打开文件...

    linux下vi编辑器命令大全.docx

    Linux 下 vi 编辑器命令大全 Linux 下 vi 编辑器是一种功能强大的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。vi 编辑器是所有 UNIX 系统都会提供的编辑器,它提供了一个视窗设备,通过它可以编辑文件...

    常用命令linux下vi编辑器命令大全

    常用命令linux下vi编辑器命令大全常用命令linux下vi编辑器命令大全

    linux上vi编辑器常用命令

    ### Linux平台上Vi编辑器的核心命令解析 #### 一、Vi编辑器简介 Vi编辑器作为Linux平台下一款轻量级的文本编辑工具,在系统管理、软件开发等领域具有广泛的应用价值。尤其是在Ubuntu这样的发行版中,尽管相较于Red ...

    linux下Vi编辑器命令大全

    ### Linux下Vi编辑器命令大全 #### 概述 Vi编辑器是Unix及类Unix操作系统(包括Linux)中广泛使用的文本编辑工具。Vi编辑器具备强大的功能和丰富的命令集,适用于从简单的文本编辑到复杂的脚本编写等多种场景。本文...

    linux基本命令以及linux下vi命令大全

    本文将深入探讨Linux的基本命令以及强大的文本编辑器vi(Visual Editor)的使用方法。 首先,让我们了解一些基础的Linux命令。在Linux环境中,命令行是主要的操作界面,通过输入命令来执行各种任务。以下是一些常见...

    详解linux vi命令用法

    Vi 编辑器是 Linux 系统中最基本的编辑器,它提供了一个视窗设备,通过它可以编辑文件。Vi 编辑器可以分为三种操作状态:命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode)。在...

    Linux vi命令用法

    Linux中的vi编辑器是Unix系统中最古老的文本编辑器之一,其增强版VIM(Vi Improved)在现代Linux发行版中广泛使用。掌握vi的基本操作对于Linux用户来说至关重要,因为无论在哪个Unix环境中,几乎都能找到它的身影。...

    linux vi文本编辑器

    ### Linux VI文本编辑器:深度解析与操作指南 在Linux操作系统中,VI(Visual Editor)是一种功能强大且广泛使用的文本编辑器。对于任何Linux用户或系统管理员而言,掌握VI编辑器的基本操作是至关重要的技能之一。...

    Linux系统基本操作命令与vi编辑器使用

    Linux系统基本操作命令与vi编辑器使用 Linux系统是一个开源的操作系统,广泛应用于服务器、嵌入式系统和个人电脑等领域。作为一个专业的IT从业者,掌握Linux系统的基本操作命令和vi编辑器使用是非常必要的。本文将...

    linux实验报告vi编辑器的使用.pdf

    Vi编辑器是Linux系统中最基本的文本编辑器,系统管理员的重要工作就是修改与设定某些重要软件的配置文件,因此至少得要学会一种以上的命令界面文本编辑器。Vi编辑器可以用不同颜色显示文字内容,还能够进行诸如shell...

    Linux实习三报告 VI编辑器及shell命令

    【Linux实习三报告:VI编辑器及shell命令】 在Linux操作系统中,掌握VI编辑器和shell命令对于日常的系统管理和开发工作至关重要。这次实习的主要目标是深入理解和实践这两个核心工具。 **一、VI编辑器** VI...

    linux vi编辑器手册 linux常用命令

    本手册将深入探讨Linux VI编辑器的使用方法以及一些常用的Linux命令,帮助用户更高效地管理和操作文件。 ### Linux VI编辑器 VI编辑器分为两种模式:命令模式和插入模式。在命令模式下,你可以移动光标、删除文本...

    linux 常用命令 vi命令

    本文将主要聚焦于“vi”命令,一个强大的文本编辑器,以及与之相关的其他Linux命令。 **一、vi编辑器** vi(Visual Editor)是Linux和Unix系统中的一个全屏文本编辑器,它的全名是“Visual Editor for the Third ...

    Linux应用技术:Linux常用命令与VI文件编辑器.docx

    ### Linux应用技术:Linux常用命令与VI文件编辑器 #### 实验目的 本实验旨在让学员熟练掌握Linux操作系统的基本操作,包括常用的文件和目录管理命令以及如何使用VI编辑器进行文本文件的创建与编辑。 #### 实验内容...

    Linux的vi编辑器

    Linux的vi编辑器是Unix和Linux系统中的标准文本编辑器,具有强大的功能,与现代文本编辑器相比毫不逊色。本文将简要介绍vi编辑器的使用方法和基础指令。 vi编辑器主要有三种模式:命令模式、插入模式和底行模式。在...

    Linux操作系统Vi-文本编辑器实验报告.doc

    "Linux操作系统Vi-文本编辑器实验报告" Vi 文本编辑器是 Linux 操作系统中的一种全屏幕文本编辑器,具有文本编辑所需的所有功能,适用于各种版本的 Unix/Linux,适用于各种类型的终端,使用灵活快捷。 Vi 文本编辑...

    linux所有命令+vi编辑器+文件编辑器

    本资料包聚焦于Linux中的三个核心要素:所有命令、vi编辑器以及文件编辑器的使用。以下是对这些主题的详细阐述: 一、Linux所有命令 Linux命令行提供了丰富的指令集,用于执行各种任务,如文件管理、系统控制、网络...

    linux下vi编辑器入门

    Linux 下 vi 编辑器入门 Linux 中的 vi 编辑器是一个功能强大且灵活的文本编辑器,它广泛应用于 Linux 操作系统中,尤其是在编辑配置文件、编写代码和记录信息等方面。本文将从基础知识开始,逐步介绍 vi 编辑器的...

    vi编辑器命令

    linux系统vi编辑器的使用及所有命令。学习linux必须掌握vi编辑器的使用。

Global site tag (gtag.js) - Google Analytics