vi编辑器是linux系统下的标准正文编辑器,有三种基本模式:命令行模式、插入模式和底行命令模式。

1.命令行模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式或底行命令模式下。

2. 插入模式:只有在这个模式下,才可以做文字输入,按「ESC」键可回到命令行模式。

3.底行命令模式: 将文件保存或退出vi,也可以设置编辑环境,如查找字符串、列出行号等。

一、三种模式的切换

进入vi:vi  filename,刚进入vi编辑器时,处于命令行模式,如下图进行三种模式之间的切换:

vi -r filename  //打开文件(恢复奔溃文件)编辑

vi -R filename  //以只读的方式打开一个文件

二、vi编辑器中的命令

vi编辑器中的命令非常多,无需刻意记忆,只需多在练习中使用,增强熟练度,才能慢慢的把vi编辑器用好用熟练。

1.命令行模式下的命令

(1)光标移动命令

h  左移光标一个字符

l  右移光标一个字符

k  光标上移一行

j  光标下移一行

^  光标移动至行首

0  数字“0”,光标移至文章的开头

G  光标移至文章的最后

$  光标移动至行尾

(2)翻页组合键

Ctrl+f  向前翻屏

Ctrl+b  向后翻屏

Ctrl+d  向前翻半屏

Ctrl+u  向后翻半屏

(3)命令模式下的编辑操作

i  在光标位置前插入字符

a  在光标所在位置的后一个字符开始增加

o  插入新的一行,从行首开始输入

ESC  从输入状态退至命令状态

x  删除光标后面的字符

nx  删除光标后的n个字符

X (大写X)  删除光标前面的字符

nX  删除光标前面的n个字符

dd  删除光标所在的行

ndd  删除光标所在行数后面的n行

yw  复制光标所在位置的一个字

nyw  复制光标所在位置的n个字

yy  复制光标所在位置的一行

nyy  复制光标所在行数后面的n行

p  粘贴

cw  更改光标所在位置的一个字

ncw  更改光标所在位置的n个字

(4)搜索关键字

/关键字  向下搜索关键字

?关键字  向上搜索关键字

n  继续进行同方向的搜索

N  继续进行反方向的搜索

\  搜索特殊字符(* ^ $ [ / \ |),在前面加\转义字符

(5)复原命令

  u  取消最近一次的操作

  U  把当前行恢复成被编辑之前的状态

2.底行命令模式下的命令

:wq  在命令模式下,执行存盘退出操作

:w  在命令模式下,执行存盘操作

:w!  在命令模式下,执行强制存盘操作

:q  在命令模式下,执行退出vi操作

:q!  在命令模式下,执行强制退出vi操作

:e文件名  在命令模式下,打开并编辑指定名称的文件

:n  在命令模式下,如果同时打开多个文件,则继续编辑下一个文件

:f  在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例

:set number  在命令模式下,用于在最左端显示行号

:set nonumber  在命令模式下,用于在最左端不显示行号

:20 <回车>  光标移到第20行的行首

  :/关键字/  向下搜索关键字

  :?关键字?  向上搜索关键字

  全局替换命令

  :! command  执行Shell命令

  :r ! command  读取Shell命令的输出内容并插入文本

  :recover  未正常退出时恢复原文件

:set all  显示所有设置列表

:set list  行结尾符显示$

:set autoindent  正文自动缩进

:set lines=24  设置默认缓冲显示行

三、文本移动和编辑多个文件

1.缓冲区方式的文本移动

用户在用vi编辑器编辑文件时,是在临时编辑缓冲区中进行的。命名缓冲区是表示临时存储的缓存区,就如同windows中的复制和剪切,由字母a-z命名不同的命名缓冲区,可以将不同的内容复制或剪切到不同的命名缓冲区中,回到编辑缓冲区执行粘贴命令,到达文本的移动目的。

(1)从编辑缓冲区到命名缓冲区(复制或剪切)

命令格式:"字母名+行号+操作命令(Y,dd)

(2)从命名缓冲区到编辑缓冲区(粘贴)

命令格式:"字母名+操作命令(P,p)

(3)删除缓冲区

删除缓冲区可以由数字1-9指定,如"25dd,表示把光标所在行的下5行删除并放到2删除缓冲区里。用"2p再粘贴回去。

2.按行操作的文本移动

在底行命令模式下,执行按行操作文本移动。

(1)按行复制(co命令)

  :1,3 co .  把1-3行文本复制到光标所在位置

  :1,3 co 7  把1-3行文本复制到第7行位置

(2)文本块移动(m命令)

  :1,3 m 7  把1-3行文本移动到第7行的位置

(3)文件间的文本移动(w命令)

  :2,5 w filename  把2-5行文本写到另一个新文件中

  :2,5 w >> filename  把2-5行文本追加到另一个文件中

3.编辑多个文件

vi filename1 filename2……  同时打开多个文件进行编辑

:n  编辑下一个文件命令

:e filename3  编辑指定文件

:e #  返回刚才编辑的文件

Linux命令(八)——vi编辑器的使用的更多相关文章

  1. Linux命令之vi/vim(一)

    vi仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但不具备windows下word的排版功能.Vim是Vi improved的缩写,是vi的改进版. vi和vim的区别: 多级撤销.在vi中按u ...

  2. Linux 操作系统下 VI 编辑器常用命令详细介绍

    一.Vi 简介 vi是unix世界中最通用的全屏编辑器,linux中是用的是vi的加强版vim,vim同vi完全兼容,vi就是"visual interface"的缩写.它可以执行 ...

  3. Linux基础(3)- 正文处理命令及tar命令、vi编辑器、硬盘分区、格式化及文件系统的管理和软连接、硬连接

    一.正文处理命令及tar命令 1)  将用户信息数据库文件和组信息数据库文件纵向合并为一个文件1.txt(覆盖) 2)  将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件2.txt(追加) ...

  4. Linux 正文处理命令及tar命令 利用vi编辑器创建和编辑正文文件

    要点回顾 1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cp /etc/passwd . cat ./passwd >1.txt cp /etc/group ...

  5. LINUX中,Vi编辑器的几种模式及保存、退出等命令

    vi编辑器有三种模式: 命令模式,编辑模式,末行模式 打开vi后首先是命令模式,用i,o,a等进入编辑模式,按esc退出编辑模式,回到命令模式. 在命令模式下输入:wq表示保存退出,:wq!强制保存退 ...

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

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

  7. Linux下的vi编辑器与gcc工具的使用

    最近在网上找了些视频,自学了一点Linux环境下,C编程的方法. 注 vi与vim是有区别的,vim打开的源码文件其中的关键字是有颜色的. vi编辑器有3种模式,命令行模式,插入模式,底行模式. 如果 ...

  8. 【Linux基础】VI 编辑器基本使用方法

    vi编辑器是所有Unix及Linux系统下标准的编辑器.对Unix及Linux系统的任何版本,vi编辑器是完全相同的,它是Linux中最基本的文本编辑器. 第一章vi的三种模式 第二章vi文本编辑器 ...

  9. linux操作系统3 vi编辑器

    知识内容: 1.Linux基础命令复习 2.vi模式和基本操作 3.vi常用快捷键 一.Linux基础命令复习 目录(文件夹)操作 cd 进入目录 (tab自动补全) pwd 查看当前目录 mkdir ...

  10. linux系统之-vi编辑器

    在linux系统使用中,掌握熟练的vi编辑器,可以提高linux工作效率.那么vi编辑器的使用方法有哪些呢? vi编辑器可在绝大部分linux发行版中使用. Vi编辑器的作用:创建或修改文件:维护li ...

随机推荐

  1. Python描述符:property()函数的小秘密

    描述符:将某种特殊类型的类的实例指派给另一个类的属性(注意:这里是类属性,而不是对象属性).而这种特殊类型的类就是实现了__get__,__set__,__delete__这三个方法中的一个或多个的新 ...

  2. JQuery+Bootstrap总结

    ================JQuery=========== JQuery 1. jQuery是什么? 一个js插件, 相比较原生的DOM操作更简单.开发效率更高 2. jQuery使用 1. ...

  3. CentOS7 搭建Kafka(一)zookeeper篇

    CentOS7 搭建Kafka(一)zookeeper篇 近几年当红小生Kafka备受各路英雄好汉追捧,一点不比老前辈RabbitMQ和ActiveMQ差,因为流行,所以你就得学啊:我这么懒,肯定是不 ...

  4. 微信图片不可显示java解决方法

    先看知乎:https://www.zhihu.com/question/35044484 场景: 微信上传了图片素材,返回了图片url,然后不能在img标签中正常显示. 原因是微信做了图片防盗连接. ...

  5. Spring 的优秀工具类盘点---转

    第 1 部分: 文件资源操作和 Web 相关工具类 http://www.ibm.com/developerworks/cn/java/j-lo-spring-utils1/ 文件资源操作 文件资源的 ...

  6. react中withRouter解决props返回为空

    利用 react + antd 框架书写导航栏时,遇到了几个坑,分别是一级菜单和二级菜单在点击的情况下,高亮没有任何问题,但是再点击浏览器返回按钮时,却就乱套了. 1. 二级菜单中,我们可以通过 pr ...

  7. css3基础篇一

    CSS3 选择器 选择器 例子 例子描述 CSS .class .intro 选择 class="intro" 的所有元素. 1 #id #firstname 选择 id=&quo ...

  8. (转) OpenLayers3基础教程——加载资源

    概述: 本节讲述如何在Ol3中加载wms图层并显示到地图中. Ol3下载: 你可以在OL官网去下载,下载地址为http://openlayers.org/download/,也可以去我的百度云盘下载, ...

  9. springboot 多数据源的实现

    相关的依赖 yml配置 java配置类: DataSourceConfigurerjava /** * Created by zhiqi.shao on 2017/11/20. */ @Configu ...

  10. react工具库

    采用了react框架后,需要找到一些常用的库,常见的需求比如: 1)react生成二维码 2)react的轮播banner图 随着react的社区的壮大,以上的需求都有专门的库帮我们做这个: 1)re ...