1、命令模式(command mode)—执行命令

  在该模式中,可以输入命令来执行许多种功能。控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

  2、输入模式(Insert mode)—输入文本

  vi被运行时,通常处在命令模式下,键入以下命令 可以使vi退出命令模式,进入输入模式:I(i)、A(a)、O(o)。

  3、末行模式(last line mode)—执行待定命令

  将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。不过一般我们在使用时把vi简化成两个模式,就是将末行模式(last line mode)也算入命令行模式command mode)。

vi编辑器的启动与退出

  •   1. vi的启动

      输入vi命令后,便进入全屏幕编辑环境,此时的状态为命令模式

      (1) vi

      进入vi的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上。

      (2) vi file1

      如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在该缓冲区第1行第1列的位置上。

      (3) vi + file1

      如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件最后1行第1列的位置上。

      (4) vi +N file1(N:为数字)

      如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件第N行第1列的位置上。

      (5) vi +/string file1

      如果file1文件不存在将建立此文件;如该文件存在则将其拷贝到一个临时缓冲区。光标定位在文件中第一次出现字符串string的行首位置。

      2. 退出vi(末行模式(last line mode))

      建议在退出vi前,先按ESC键,以确保当前vi的状态为命令方式,然后再键入“:”(冒号),输入下列命令,退出vi

      (1) :w

      将编辑缓冲区的内容写入文件,则新的内容就替代了原始文件。这时并没有退出vi,必须进一步输入下述命令才能退出vi

      :w filename(存入指定文件)

      :q

      (2) :wq

      即将上面的两步操作可以合成一步来完成,先执行w,后执行q。

      (3) :x和ZZ(注意: ZZ前面没有“:”)

      功能与(2)等价。

      (4) :q!(或:quit)

      强行退出vi,使被更新的内容不写回文件中。仅键入命令:q时,如vi发现文本内容已被更改,将提示用户使用“:quit”命令退出。

vi编辑器常用命令

  •   1、在文件中移动光标

      h:向左移动一个字符

      l:向右移动一个字符

      j:向下移动一行

      k:向上移动一行

      ^(即Shift+6):移动到当前行的开头处

      $(即Shift+4):移动到当前行的结尾处

      H(大写):使光标移动到屏幕的顶部

      M(大写):使光标移动到屏幕的中间

      L(大写):使光标移动到屏幕的底部

      Ctrl+b:上滚一屏。

      Ctrl+f:下滚一屏。

      Ctrl+d:下滚半屏。

      Ctrl+u: 上滚半屏。

      2、插入文本

      (1)添加:

      ●输入a后,在光标的右边插入文本

      ●输入A,在一行的结尾处添加文本

      (2)插入:

      ●通过在命令模式下输入i,在光标的左边插入文本

      ●通过在命令模式下输入I,在行首插入文本

      (3)插入新行:

      ●输入o,在当前光标位置下面打开一行

      ●输入O,在当前光标位置上面打开一行

      3、撤消更改

      (1)撤消前一个命令:在最后一个命令之后立即输入u来撤消该命令

      (2)重复某个命令:“.”

      (3)撤消对一行的更改:输入U来撤消你对一行所做的所有更改,这个命令只有在你没将光标移动到该行以外时才生效。

      4、删除文本

      (1)删除一个字符:

      ●为删除一个字符,需将光标放置在要删除的字符上并输入x

      ●为删除光标之前(其左边)的一个字符,需输入X

      (2)删除一个词或词的部分内容:

      ●为删除一个词,需将光标放置到该词的开头并输入dw

      ●为删除词的部分内容,需将光标放置到该词要保存部分的右边。输入dw来删除该词余下的部分

      (3)删除一行:将光标放置到该行的任意处并输入dd

      (4)删除多行:ndd

      (5)删除行的部分内容:将光标放置到该行要保存部分的右边,并输入D。为删除光标左边的所有内容,须将光标放置到该行要删除部分的右边,并输入d0(d-零)。

      (6)删除到文件的结尾:为删除从当前行到文件结尾的所有内容,需输入dG

      5、复制和移动文本

      ●复制一行命令:yy

      ●粘贴命令:p

      ●移动文本:先将要移动的部分用删除命令删除,然后再粘贴就可以了

      ●复制指定文件的内容

      : r filename

      6、查找一个字符串

      ●输入/,并在/后面输入要查找的串,然后按下回车

      ●输入“n”跳转到该串的下一个出现处

      ●输入“N”跳转到该串的上一个出现处

      7、替换一个字符串

      ●在一行内替换头一个字符串old为新的字符串new

      :s/old/new

      ●在一行内替换所有的字符串old为新的字符串new

      :s/old/new/g

      ●在两行内替换所有的字符串old为新的字符串new

      :#,#s/old/new/g

      ●在文件内替换所有的字符串old为新的字符串new

      :%s/old/new/g

      ●进行全文替换时询问用户确认每个替换需添加c选项

      :%s/old/new/gc

      8、设置vi

      ●显示行号

      :set number

      ●取消行号显示

      :set nonumber

      ●设置显示用户模式

      :set showmode

      ●设置文件只读

      :set readonly

vi编辑器的常规使用的更多相关文章

  1. 初识vi编辑器

    vi基本概念既不介绍了,百度,wiki上都有.下面稍微总结下我所学的vi吧 1.vi分为三种状态:命令模式(command mode);插入模式(insert mode);底行模式(last line ...

  2. 二:Linux 的基本命令、VI编辑器、Linux中软件安装

    Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E--盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...

  3. vi编辑器使用记录

    01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可 常见需要修改的文件包括: ...

  4. LinuX操作系统基础------>软件的安装方式,chmod权限,vi编辑器的使用

    RPM包管理 -rpm命令管理 RPM包管理 -yum在线管理 文件权限管理 vi编辑器的使用和常用的快捷键 1.RPM包管理: 一种用于互联网下载包的打包及安装工具,RPM包管理分为rpm命令管理和 ...

  5. vi编辑器使用

    显示行号 set nu 取消行号 set nonu 定位到某一行 gg 定位到首行 G 定位到最后一行 在VI编辑器中切换调用外部shell命令 :!ifconfig   在编辑过程中,看ip地址 插 ...

  6. vi编辑器命令

    Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能.v ...

  7. Linux学习之一--VI编辑器的基本使用

    vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器.可是会用的有多少呢.下面介绍一下vi编辑器的简单用法和部分命令.让你在Linux系统中畅行无阻. 基本上vi可以分为三种状态 ...

  8. vi编辑器 使用 命令

    vi编辑器 1)命令模式 打开文件后.默认处于命令模式,命令模式无法编辑文件 2)输入模式 在命令模式下 按 i 进入输入模式,便于编辑文件内容 3)末行模式 编辑内容后,按esc进入到命令模式,再按 ...

  9. Linux 中 Vi 编辑器的简单操作

    Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi  filename //打开或新 ...

随机推荐

  1. kafka综合介绍

    设计目标 高吞吐率.即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输. 支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输 同 ...

  2. MyBatis实现关联表查询

    一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关 ...

  3. SQL CREATE TABLE 语句\SQL 约束 (Constraints)\SQL NOT NULL 约束\SQL UNIQUE 约束

    CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据 ...

  4. ESXi 5.5开启并配置SNMP

    1. 安装vshpere cli 2.设定SNMP通讯字并开启SNMP功能 进入到bin目录. C:\Program Files (x86)\VMware\VMware vSphere CLI\bin ...

  5. ASP.Net的两种开发模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

  6. 在四合院里写code是什么体验(非拉仇恨)

    我工作的地点在一个幽静的四合院,后海边上.每次出了地铁还要走长长的十分钟的胡同,经过恬静的老人,嬉戏的小孩,还有就是长年不缺的游客.很多次,在夕阳将下未下时五六点的时候,小胡同里老人拿着小马扎,一群小 ...

  7. [Python笔记]序列(一)索引、分片

    Python包含6种内建序列:列表.元组.字符串.Unicode字符串.buffer对象.xrange对象. 这些序列支持通用的操作: 索引 索引是从0开始计数:当索引值为负数时,表示从最后一个元素( ...

  8. gmc银联接口开发demo

    1.接口文档 1.1 无gmc界面接口 (dll/ocx) dll调用(posinf.dll)函数名为:int bankall (char * request,char *response),其中第一 ...

  9. ACM集训的第。。。诶~不知道第几题=.=

    题目: 郭铮鹏认为排序是一种很频繁的计算任务,所以他考虑了一个简单的问题:现在最多只有三值的排序问题.一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候.在这个任务中可能的值只有三种1,2 ...

  10. 分布式缓存Memcached---开篇的话

    大数据.高并发这是最近一段时间内被IT行业提的最为火热的概念,看过<大数据时代>的同学应该不会陌生大数据的概念,尤其是对于互联网行业来说,大数据是每天都要接触的问题,简单通俗地说,每天得大 ...