第3章    vi文本编辑器


3.1  vi文本编辑器概述
  与Unix相同,Linux本质上是一个文本驱动(text-driven)的操作系统。文本文件就是全部由ASCII码字符及某种语言的编码字符构成的文件,不含有任何样式和格式信息。文本文件可以被任何文本编辑器解释而不会出现乱码,还可以被所有程序操作和使用。在Linux系统中,文本文件被广泛地用作系统配置文件和系统工具软件的操作对象。这使得用户可以在文本方式下完成所有的工作,如编写程序和命令脚本、读/写电子邮件、配置和管理系统等。而完成所有这些工作的基本工具就是文本编辑器。因此,Linux的用户应当熟悉至少一种文本编辑器。

3.1.1  vi文本编辑器介绍
  Linux下的文本编辑器有ex、sed、vi和emacs等很多种。其中,vi是最基本的文本编辑工具。vi(visual)诞生于1978年,由柏克莱大学的Bill Joy编写。从其诞生至今,vi始终是所有Unix/Linux系统上必配的编辑器,甚至在DOS、Windows、Macintosh、OS/2乃至IBM大型机S/390系统上都能见到vi的某个版本。目前Linux系统上流行的版本是vi增强版vim(vi improved)。vim是一个开放源代码软件,它在vi的基础上增强了功能,也更容易使用。现在许多Linux发行版中的vi就是vim。本书中所说的vi也兼指vim,但有一些选项可能只有vim支持。

  vi是一个全屏幕文本编辑器,具有文本编辑所需的所有功能。vi以高效和快捷著称,这是vi能够在编辑器领域中保持几十年领先地位的原因。以下介绍vi的几个突出特点。

  1. 编辑功能强大
  vi的编辑功能十分强大,除通常的编辑功能外,vi还支持一些高级编辑特性,如正则表达式、宏和命令脚本。利用这些特性可以完成非常复杂的编辑任务,实现编辑的智能化和自动化。另一方面,vi的功能又十分专注,它只是一个编辑器,没有其他功能。Linux系统提供了许多专门用途的工具,如排版、排序、流过滤、E-mail、编译等软件。vi可以和这些工具软件协同工作,从而实现几乎所有的文件加工处理任务。用一些小而精悍、功能专一的工具结合起来完成复杂的处理功能,这正是Unix的设计哲学。

  2. 适用于各种版本的Unix/Linux系统
  vi是Unix/Linux系统的标准文本编辑器,几乎每一台Unix/Linux系统上都会有vi,这是其他编辑器无法相比的。
  3. 适用于各种类型的终端
  vi得以广泛应用的原因之一是它对终端设备的广泛适应性。不管是只有打字机键盘加Esc键的简单终端,还是受通信限制的远程终端,或是配有完备的功能键和鼠标的现代化终端,都可以很好地支持vi完成文本编辑工作。

  4. 使用灵活快捷
  广泛适应性带来的问题是繁多的命令。对于同一项编辑操作,vi提供了许多不同的命令。vi的命令都很简练,往往是单个字符或少数几个字符的组合。对初学者来说,使用这些命令并不方便,甚至过于复杂。但对于熟练的用户来说,更多的选择意味着更大的自由,简单的命令意味着更少的击键次数。正因为如此,vi被看做是Linux开发人员和系统管理员的编辑利器。初学者经过一段时间的使用,也会逐渐习惯vi的操作方式,并形成自己特有的操作风格。

3.1.2  vi的工作模式
  vi是一个多模式的软件,它有三种工作模式。在不同的工作模式下,它对输入的内容有不同的解释。
  1. 命令模式(Command mode)
  在命令模式下,输入的任何字符都作为命令来解释执行,屏幕上不显示输入内容。命令模式用于完成各种文本修改工作。
  2. 输入模式(Insert mode)
  在输入模式下,输入的任何字符都将作为文件的内容被保存,并显示在屏幕上。输入模式用于完成文本录入工作。

  3. 末行模式(Last line mode)
  末行模式也称为ex转义模式。在末行模式下,光标停留在屏幕的最末行,在此接收输入的命令并执行。末行模式用于执行一些全局性操作,如文件操作、参数设置、查找与替换、拷贝与粘贴、执行Shell命令等。
  在文本编辑过程中,用户可以控制vi在这三种工作模式之间进行切换,完成各种编辑工作。三种模式之间的转换关系如图3-1所示。

图3‑1  vi工作模式的转换

3.1.3  vi的启动与退出
  在Shell下输入vi命令后,便进入全屏幕编辑环境,命令格式是:vi [文件名]
  vi的启动过程是:先建立一个编辑缓冲区,若指定了文件且该文件已存在,则将其内容读到编辑缓冲区中;若指定的文件不存在,则建立此文件。然后将光标定位在第1行第1列的位置上。图3-2是vi启动后的初始界面。屏幕末行显示的是文件的名称、状态、行数和字符数、光标位置(行号,列号)等信息。光标位置的字符通常用反显方式或下划线方式显示。“~”表示编辑区的空行,它们不是文件的组成部分。

图3‑2  vi的初启界面

  vi启动后首先进入命令模式。此时,用户可以使用vi的编辑命令进行文本的输入和修改。具体的用法在第3.2节介绍。注意:编辑命令只是修改调入编辑缓冲区中的文件的副本,文件本身不会被修改。所以,编辑完成后,要用:wq命令将修改后的内容保存到文件中并退出vi。若此次运行未对原文件作任何修改,则可用:q命令退出。图3-3示意了退出命令的用法,更多的文件操作和退出命令在第3.3节介绍。

图3‑3  vi的退出

3.2  vi基 本 命 令
  vi的命令繁多,但通常的编辑工作只需要掌握其中一小部分命令。而对于一些特殊的操作或编辑任务,总能够在vi手册中找到适当的命令。
  vi的常用编辑命令分为以下几类:
  ● 屏幕翻滚命令;
  ● 移动光标命令;
  ● 插入与删除命令;
  ● 修改与替换命令;
  ● 拷贝与粘贴命令;
  ● 复原与重复命令。

  vi的命令通常是简单的字符(如a、s、c)或是字符组合(如dw、cc),还有少数几个控制键组合字符(如Ctrl+u)。这就是说,仅仅通过普通键盘就可以实现所有编辑工作,完全不需要用鼠标,也不倚赖于某些控制键。比起使用鼠标和复杂控制组合键来说,键入字符命令的速度要快得多。因此,熟练使用这些字符命令能够提高编辑的效率。
  尽管只用字符命令就可以完成所有编辑工作,vi还是提供了对现代键盘上的编辑键的支持。适当地使用这些熟悉的按键将使编辑操作更加轻松。表3-1列出了这些键在不同模式下的作用。

  以下分类介绍常用的vi命令。注意:在命令模式下输入的字符都被vi解释为命令,不在屏幕上显示。若输入的是非法命令则响铃报警。此外,vi的命令是区别大小写的,即大写字母和小写字母代表的是不同的命令。

3.2.1  屏幕翻滚
  当编辑的文件比较大时,使用翻屏命令可以快速地将要编辑的区域调入屏幕显示区。用PageDown和PageUp键可以方便地实现上下翻屏,但在有些场合下需要用命令来实现更灵活的翻屏操作。常用的几个翻屏命令介绍如下。
  翻屏命令:
  Ctrl+u:  向上翻半屏。
  Ctrl+d:  向下翻半屏。
  Ctrl+f:  向下翻一屏。同PageDown键。
  Ctrl+b:  向上翻一屏。同PageUp键。
  [n]z+Enter:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

3.2.2  光标定位与移动
  在输入或修改文本前,应先将光标移到适当的位置。vi不支持用鼠标移动光标的方式,但以下命令可以更加高效地定位和移动光标。
  光标定位命令:
  0     光标移至行首。同Home键。
  ^     光标移至行首第1个非空格字符。
  $     光标移至行尾。同End键。
  [n]G     光标移到第n行,未指定n时移到末行。
  [n]|     光标移到第n列,未指定n时移到首列。
  H、M、L  光标移到屏幕首、中、尾行行首。

  光标移动命令:
  h、j、k、l  光标向左、下、上、右移一个字符。同
         箭头键。
  b、w  光标移到上一个词、下一个词首。
  e  光标移到词尾。
  (、)  光标移到句首、句尾。
  {、}  光标移到段首、段尾。
  注:以上光标移动命令前带数字n时,表示重复移动n次。如:2h为左移2格,3e为移到后面第3个词的词尾。

3.2.3  文本输入与删除
  1. 文本的输入
  在输入文本内容之前,应先将光标定位在要输入的位置上,然后执行插入命令,进入输入模式。处于输入模式时,屏幕底部会显示“—插入—”提示,表示后续的输入都作为文件的输入内容。输入完成后按Esc键就可返回命令模式。
  插入(insert)命令都是单字符命令,可以灵活地实现在当前光标位置的前、后、行首、行尾、上一行、下一行开始输入。

  插入命令:
  a、A  在光标位置后、行尾后开始插入。
  i、I  在光标位置前、行首前开始插入。i的
         作用与Insert键相同。
  o、O  在光标所在行之后、光标所在行之前的新行开始插入。
  图3-4所示为插入命令的用法。

图3‑4  插入命令用法示意

  2. 文本的删除
  删除(delete)文本的最简单方法是将光标移到要删除的字符上,然后,每按一下x键或Delete键就会删掉一个字符。若要删除的文本较多时,可以使用下面更加灵活的删除命令。
  删除命令:
  x、X  删除光标处、光标前的字符。x的作用与Delete键相同。
  dd  删除光标所在的行。
  D  删除光标右面的文本。
  J  删除当前行尾的换行符,使当前行与下一行合并为一行。

  d+定位符    删除从光标位置到指定位置范围内的字符。常用的有:
  d0、d^  删除光标左面的文本。0或^代表行首。
  d$      删除光标右面的文本。$代表行尾。
  dG      删除光标所在行之后的所有行。G代表最后一行。
  db      删除光标处前的字符直到词首。b代表词首。
  de  删除光标处的字符直到词尾。e代表词尾。
  dw      删除光标处的字符直到下一个词的词首。w代表下一
         词词首。
  注:以上命令前带数字n时,表示删除的范围扩大n倍。如:3dd为删除3行,2de为删除从光标开始的2个词。
  图3-5所示为删除命令的用法。

图3‑5  删除命令用法示意

3.2.4  文本修改与替换
  1. 文本的修改
  文本修改(correct)是指改写一部分文本的内容,修改的过程是:先删除指定范围内的文本,然后插入新文本,最后用Esc键结束插入。以下介绍几个常用的修改命令。
  修改命令:
  cc  修改光标所在的行。
  C  修改光标处到行尾的文本。
  c +定位符  修改光标到指定范围内的文本。常用的有:
   c0、c^  修改光标左面的文本。
   c$  修改光标右面的文本。
   cG  修改光标所在行之后的所有行。

   cb  修改光标处前的字符直到词首。
   cw  修改光标处的字符直到词尾。
   cl  修改光标处的字符。
  注:以上命令前带数字n时,表示修改的范围扩大n倍。如:5cc为修改从光标所在行开始的5行,3cw为修改从光标开始的3个词。
  例3.1  修改命令的用法:
  原文本行:  Who’s afraid of the big wolf?
  执行命令cwbear<Esc>:  Who’s afraid of the big bear?

  移动光标:         Who’s afraid of the big bear?
  执行命令Clitter lamb?<Esc>:   Who’s afraid of the litter lamb?
  移动光标:     Who’s afraid of the litter lamb?
  执行命令c^I don’t<Esc>:     I don’t afraid of the litter lamb?
  执行命令$:        I don’t afraid of the litter lamb?
  执行命令cl.<Esc>:     I don’t afraid of the litter lamb.
  执行命令ccI like the lamb.<Esc>:    I like the lamb.

  2. 文本的替换与替代
  替换(replace)是指用一个字符替换另一个字符,这是一种覆盖操作,替换后文本的长度保持不变。替代(substitute)则是指用多个字符取代一个字符或一行,是一个先删除后插入的操作。通常情况下,替代后的文本长度会发生变化。以下介绍常用的替换与替代命令。
  替换与替代命令;
  r  用输入的字符替换光标处的字符。
  R  用输入的文本逐个替换从光标处开始的各个字符,直到按下Esc键。
  s  用输入的文本替代光标处的字符,用Esc键结束输入,等同于cl。
  S  用输入的文本替代光标所在的行,用Esc键结束输入,等同于cc。

  注:以上命令前带数字n时,表示替换或替代的范围扩大n倍。如:4r为用输入的字符替换从光标处开始的4个字符,2s为用输入的文本替代从光标处的开始的2个字符。3S为用输入的文本替代从光标所在的行开始的3行。
  例3.2  替换与替代命令的用法:
  设原文本行的内容是:  Thos is a test.
  执行命令ri:  This is a test.
  执行命令Rat<Esc>:  That is a test.
  执行命令2w:  That is a test.
  执行命令snot a<Esc>:  That is not a test.
  执行命令2l:  That is not a test.
  执行命令4sexample<Esc>:  That is not an example.
  执行命令SThose are tests.<Esc>:Those are tests.

3.2.5  文本拷贝与粘贴
  拷贝(copy)操作是将光标处的文本复制到一个缓冲区中(类似于Windows中的剪贴板);粘贴(paste)操作是将缓冲区中的内容插入到光标处。以下介绍常用的拷贝粘贴命令。
  拷贝与粘贴命令:
  yy  拷贝光标所在行至缓冲区。
  y+定位符  拷贝光标到指定范围内的文本。常用的有:
   y0、c^  拷贝光标左面的文本。
   y$  拷贝光标右面的文本。
   yG  拷贝光标所在行之后的所有行。
   yb  拷贝光标处的字符直到词首。
   yw  拷贝光标处的字符直到词尾。

  p、P  若缓冲区中的内容是完整的行,则将这些行插
      入到光标所在行之后、之前;若不是完整的
      行,则将这些文本插入到光标处之后、之前。
  注:以上命令前带数字n时,表示拷贝和粘贴的范围扩大n倍。如:2yy为拷贝从光标所在行开始的2行,3yw为拷贝从光标开始的3个词。
  图3-6所示为拷贝与粘贴命令的用法。

图3‑6  拷贝与粘贴命令用法示意

  此外,vim还支持鼠标粘贴与复制。在输入模式下,将光标移到要粘贴的位置,用鼠标选中要复制的文本,再按鼠标中键即可。

3.2.6  撤销与重做
  撤销(undo)即消除上一个命令所做的修改,恢复到命令执行前的样子。重做(redo)就是重复执行上一个命令。
  撤销与重做命令:
  u   撤销上一个命令所做的修改。
  U   撤销最近针对一行所做的全部修改。在对一行
    连续做了多处修改后,用此命令可以一次恢复全行。
  .   重复前一个命令。
  利用撤销和重做命令可以提高编辑的效率,减少击键次数,如图3‑7所示。

图3‑7  撤销与重做命令用法示意

     3.3  vi常用末行命令
  在命令模式下,输入“:”、“/”或“?”字符(称为ex转义字符)都将进入末行模式,随后的输入被解释为行命令,在屏幕末行显示。输入完成后按Enter键执行。末行命令执行结束后返回命令模式,或退出vi。
  末行命令主要有以下几类:
  ● 字符串搜索与替换命令;
  ● 文件操作与退出命令;
  ● 其他命令。

3.3.1  搜索与替换命令
  1. 字符串搜索
  要在一个大文件中查找某个字符串,可以用字符串搜索命令。执行搜索命令后,光标将停留在第一个匹配字符串的首字符处。按“n”或“N”则移到下一个匹配字符串之首。如果不存在匹配的字符串,则会在末行上显示“找不到模式”。搜索命令有以下两种:
  /模式  从光标处向后搜索与指定模式匹配的字符串。按n向后
        继续找
  ?模式  从光标处向前搜索与指定模式匹配的字符串。按N向前
        继续找。
  例如:执行/and命令,光标将从当前位置移到后面第一个“and”的字符“a”上。按n移到下一个“and”上。当搜索到文件尾时,再按n则返回到文件头继续搜索。

  2. 字符串替换
  字符串替换使用s命令,它的功能是在指定的行中搜索与指定模式相匹配的字符串,并用另一个字符串替换它。
  s命令的一般格式是::[n1,n2]s/p1/p2/[g][c]
  其中n1, n2表示目标行的行号范围,可以用“%”代表所有行;未指定范围时,目标行就是光标所在的当前行。p1是用做搜索的字符串模式,p2是用做替换的字符串模式。模式中可以用“^”代表行首,“$”代表行尾。s命令可以带g和c选项。g表示替换目标行中所有匹配的字符串,没有g的话则只替换目标行中第一个匹配的字符串。选项c表示替换前要求用户确认。

  例3.3  s命令的用法:
  :s/the/The/   将当前行中第1个the改为The。
  :s/is/are/g   将当前行中所有is改为are。
  :s/is a/has a/gc   将当前行中所有is a改为has a。替换
          前提示用户确认。
  :1,6s/IF/if /g   将第1至6行中的所有IF用if替代。
  :%s/^/    /g   在所有行的行首处加4个空格。

  3. 全局命令
  全局命令g(global)的功能是在全文中搜索含有与指定模式相匹配的字符串的行,对匹配的行做标记。g命令的格式是:
  :g/p1  搜索所有包含p1字符串模式的行。
  :g!/p1  搜索所有不包含p1字符串模式的行。
  例如::g/and命令将找出所有含有“and”的行;:g!/and/命令找出所有不含“and”的行。
  vi的许多末行命令都是针对行的编辑命令(见3.3.3小节)。g命令可以与这些面向行的命令联合使用,它的作用是修饰这些命令,为其确定满足某个条件的目标行。在g命令的修饰下,这些行编辑命令就可用来完成面向全文的、按模式筛选的编辑操作。g命令与其他命令联合使用的格式是:

  :g/p1/命令  对所有包含p1的行执行指定的命令。
  :g!/p1/命令  对所有不包含p1的行执行指定的命令。
  例如:p命令的功能是显示行,:g/and/p命令将显示所有含有“and”的行;d命令的功能是删除行,:g!/Note/d命令将删除所有不含“Note”的行。

  4. 全局替换
  s命令是面向行的字符串替换命令。s命令经常与g命令联合使用,实现更灵活更细致的全局替换功能。
  全局替换命令的一般格式是:g命令/s命令。其含义是:先用g命令在文件中搜索含有某个模式的行,并做标记,然后用s命令对所有有标记的行执行搜索和替换。
  常用的全局替换命令的格式有:
  :g/p1/s/p2/p3/g   将文件中所有含有p1的行中的p2用p3
          替换。
  :g!/p1/s/p2/p3/g   将文件中所有不含有p1的行中的p2用
          p3替换。

  :g/p1/s//p2/g    将文件中所有的p1用p2替换。这里:g/p1/s//p2/g
         是:g/p1/s/p1/p2/g的简写,即当s命令的搜索模式与g
         命令的搜索模式相同时,可以省略s中的搜索模式。
         注意:此处//之间没有空格。
  例3.4  全局替换命令的用法:
  :g/the/s//The/  将文中所有行的第1个the改为The。
  :g/is/s//are/g  将文中所有is改为are。
  :g/Mary/s/1988//g  将所有含有Mary的行中的所有1988去掉。
  :g/printf/s/val/sum/gc  将所有含有printf的行中的所有val改为sum。替
           换前先确认。
  :g!/*/s/IF/if /g  将所有不包含‘*’的行中的所有IF用if替代。

3.3.2  文件操作与退出命令
  文件操作命令包括读文件和写文件操作。读文件就是将文件的内容读入编辑缓冲区中,写文件就是将编辑缓冲区的内容保存到文件中。在退出vi时,可以选择是否保存文件。以下是常用的退出和文件操作命令:
  :w [文件名]  写入指定文件。若未指定文件则写入当前文件,即vi启
        动时打开的文件。
  :q  未修改原文件,不保存文件,直接退出。
  :wq、:x  保存文件并退出。
  :q!  放弃修改,不保存文件,退出。
  :e!  放弃修改,编辑区恢复为文件原样。
  :e 文件名  打开指定的文件,调入编辑区。
  :r 文件名  读入指定的文件,将文件内容插入到光标位置。
  :f  在屏幕末行显示文件相关信息。

3.3.3  其他常用命令
  1. 行编辑命令
  行编辑命令用于对指定的行进行编辑。在指定行范围时,可以用“.”代表当前行,用“$”代表最后一行,用“%”代表所有行。常用的行编辑命令如下:
  :n   跳至第n行。
  :n1,n2con3   将第n1至n2行之间的内容拷贝到第n3行下。
        如::3,7co$表示将第3到7行的文字复制到文件末尾处。
  :n1,n2mn3   将第n1至n2行之间的内容移至第n3行下。如::.m10
        表示将当前行移动到第10行下。
  :n1,n2d   将第n1至n2行之间的内容删除。如::3,7d表示删除第
         3到7行。
  :p   显示当前行的内容。
  :nu   显示当前行的行号和内容。

  2. 执行Shell命令
  用vi编辑文件时,可以在不退出vi的情况下执行Shell命令。执行命令期间vi暂时挂起,待命令执行结束后返回vi继续运行。
  执行Shell命令的格式是:
  :!命令  执行指定的Shell命令。
  图3-8所示为在vi中执行Shell命令的结果。

图3‑8  在vi中执行Shell命令

  3. 设定vi选项
  vi是一个高度可定制的编辑器,用户可以通过设置vi的选项来规定vi的一些外观和行为特性,使其满足特定的需求。设定vi选项的方法之一是使用set命令。常用的选项如下:
  :set all  显示所有选项。
  :set ai、:set noai  设定、取消自动缩进,如图3-9(a)所示。
  :set nu、:set nonu  设定、取消行号显示,如图3-9(b)所示。
  :set hlsearch  设定高亮显示搜索到的字符串。
  :set nohlsearch  取消高亮显示搜索到的字符串。
  :set ic、:set noic  设定、取消搜索命令中忽略大小写。

图3‑9  设定vi的选项

习    题
  3-1  vi编辑器的工作方式有哪些?相互之间如何转换?
  3-2  用vi --help命令查看如何用vi打开一个文件,并将光标定位在第10行上。
  3-3  解释下述vi命令的功能:
    20G   18|   dM  cw   10cc   3rk   5s   7S   /this   :g/int/
  3-4  要将文件中的所有字符串str1全部用字符串str2替换,应使用什么命令?若只替换一行中的第一个str1,应使用什么命令?

  3-5  在vi中拷贝一行文字并粘贴到另一位置用什么命令?
  3-6  如何在vi中显示文本的行号?
  3-7  如何恢复对一行文本所作过的修改?如何重复上一次修改操作?
  3-8  如何放弃对一个文件的修改并退出?如何将编辑过的文件用不同的文件名保存?

linux操作系统 第03章 vi文本编辑器相关推荐

  1. 常见的Linux查看检索归档文件及vi文本编辑器操作大全

    常见的Linux查看检索归档文件及vi文本编辑器操作大全 一.Linux目录结构 1.1 树形目录结构 1.2 根目录 1.3 常见的子目录 二.查看及检索文件 2.1 查看文件内容 -- cat命令 ...

  2. Linux系列 使用vi文本编辑器

    作者简介:一名云计算网络运维人员.每天分享网络与运维的技术与干货.   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.vi文本编辑器 1.使用vi文本编辑器 2.vi ...

  3. linux麒麟编码方式,麒麟Linux系统vi文本编辑器介绍(24页)-原创力文档

    中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统vi文本编辑器介绍 技术创新,变革未来 本章目标 • vi 和vim 的三种主要模式 • vi 的基本使用 vi •vi是一种广泛存在于 ...

  4. (三)Linux vi 文本编辑器,用户管理,组管理,Sudo命令,时间管理

    文章目录 具体内容 1.1 vi 文本编辑器 1.2 用户权限管理,组管理和时间管理 1.2.1 用户管理 1)保存用户信息的文件:/etc/passwd 2)保存用户密码信息的文件:/etc/sha ...

  5. Linux VI文本编辑器

    VI文本编辑器   学会使用 vi 编辑器是学习 Linux 系统的必备技术之一,因为一般的 Linux 服务器是没有 GUI 界面的,Linux 运维及开发人员基本上都是通过命令行的方式进行文本编辑 ...

  6. linux 中vi中复制命令,使用vi文本编辑器及Linux复制粘贴小技巧

    想成为一个高效的DBA,离不开熟练使用vi编辑器,尤其是准备OCM考试的人员更为如此.另外,在Linux系统中,通过鼠标左键选中的文字,再通过按住鼠标中间滚动条来粘贴功能也是需要掌握的小技巧.我接触L ...

  7. linux复制粘贴保证内容完整,使用vi文本编辑器及Linux复制粘贴小技巧

    想成为一个高效的DBA,离不开熟练使用vi编辑器,尤其是准备OCM考试的人员更为如此.另外,在Linux系统中,通过鼠标左键选中的文字,再 通过按住鼠标中间滚动条来粘贴功能也是需要掌握的小技巧.我接触 ...

  8. linux实验六vi文本编辑器,Linux-实验六-vi文本编辑器.docx

    实验六Vi文本编辑器 上机实验容: 练习一: 请在/root这个目录下建立一个名为vitest的目录; [root@localhost [root(aiocalhost [rooWlocalhost ...

  9. 《Linux指令从入门到精通》——4.2 Linux下的简单文字模式文本编辑器

    本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.2节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

最新文章

  1. 单片机和嵌入式哪个好?单片机会被嵌入式取代吗?
  2. 中科曙光携手甘肃酒泉,积极构建新型智慧城市
  3. python第三方库numpy-Python第三方库之Numpy库
  4. Docker(四):使用Docker部署tomcat、mysql、nginx静态服务器
  5. onethink二级导航调用
  6. 【图像处理】——Python实现图像特征提取BP神经网络实现图像二分类
  7. 【DP】Mod Mod Mod(CF889E)
  8. 不常用却很有妙用的事件及方法
  9. 基于MDC300的神经网络开发
  10. pe我的手机服务器存档文件,我的世界手机版怎么导出存档 pe版怎么把存档给别人用...
  11. 基于ZStack构建深度学习云平台
  12. 微信小程序测试需要考虑哪些方面?一分钟快速掌握(小白必看!)
  13. 基于GEE使用Landsat 8和Landsat 5影像进行分类
  14. mysql redo查看_mysql redo
  15. 机器学习笔记 - 时间序列的季节性
  16. Echarts与bmap结合使用百度地图系统自带的12个个性化模板mapStyle列表
  17. 牛客网赛码网 输入输出格式
  18. 英语作文模板句型,考试必背!
  19. 基于JSP的网上订餐管理系统的设计与实现(包调试成功)
  20. DN2540的 spice 模型

热门文章

  1. Collection,List,ArrayList,LinkedList集合
  2. 【技术】风电机组齿轮箱状态监测及故障诊断
  3. ▷Scratch课堂丨空战游戏-保卫南海
  4. 大冤种硕士毕业论文书写心得体会总结
  5. [英语阅读]“机器猫”担任日本“动漫大使”
  6. 重复性管理——抽象的重要性(下)
  7. 订货软件-为什么要选择合适的订货软件
  8. word文档批注后显示最终状态,打开后还有批注。
  9. 利用Realsense D435和Mocap制作TUM数据集
  10. 今晨下了第一场春雨~~~~~~~~~~~~~