vi编辑器使用相关
一、vi的使用
1.vi一共分为3种模式,分别是一般模式、编辑模式和命令行模式
2.一般模式:以vi打开一个文件就直接进入一般模式(也是默认的模式)。
在这个模式下可以使用上下左右移动光标,还可以删除字符或删除整行,还可以复制、粘贴文件数据
3.编辑模式
一般模式下按i,I,o,O,a,A,r,R等任何一个字母进入编辑模式(界面左下方变成INSERT或REPLACE)
编辑模式下按ESC按键回到一般模式
4.命令行模式
<1>一般模式下按 : / ? 按钮中的任意一个可进入命令行模式,此时光标会移动到最下面一行
<2>该模式可提供数据查找的操作,并且读取、保存、替换大量字符、离开vi、显示行号等操作也是在此模式中完成
<3>同样是按ESC返回一般模式
二、简单执行
1. vi test.txt
若当前目录已存在该文件,则打开,否则新建
2.按下i、o、a进入编辑模式(左下角变为INSERT)
此时除ESC外的任意按键都会作为一般的输入
注意:在vi中TAB键得到的结果与空格符得到的结果是不一样的。
3.按下ESC返回一般模式
4.输入 :wq 保存后离开vi
注意:可以用 :wq!强制保存(要求权限可以改变)
三、一般模式下可用的按键说明
移动光标
h j k l 分别为往左 下 上 右移动(上下左右按键也可以)
若想往下移动30行,可以30j或30下
ctrl+f 往下翻一页 ctrl+b 往上翻一页
ctrl+u 往上移动半页
+光标移动到非空格符的下一行 -光标移动到非空格符的上一行
n<space> 光标往后移动n个字符 如20<space>
0或home 移动到行首 $或End 移动到行尾
H M L 光标分别移动到当前屏幕的第一行 中间行 最后一行
G 移动到文件的最后一行
nG 移动到第n行
gg 移动到第一行(相当于1G)
.N[enter] 光标向下移动n行
查找与替换
/word 向下查找字符串word
?word 向上查找字符串word
n 重复前一次查找操作
N 反向重复前一次的查找操作
n1,n2s/word1/word2/g 查找n1-n2行之间的word1并替换为word2
1,$s/word1/word2/g 第一行到最后一行查找word1并替换为word2
1,$s/word1/word2/gc 第一行到最后一行查找word1并替换为word2,替换时进行确认
删除、复制与粘贴
x,X x向后删除一个字符(Del) X向前删除一个字符(BackSpace)
nx 连续向后删除n个字符
dd 删除光标所在行
ndd 删除光标坐在的向下n行
d1G 删除光标所在处到第一行的所有数据
dG 删除光标所在处到最后一行的所有数据
d$ 删除光标所在处到该行的最后一个字符
d0 删除光标所在处到该行的第一个字符
yy 复制光标所在行
nyy 复制光标坐在的向下n行
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到最后一行的所有数据
y0 复制光标所在处到行首的字符
y$ 复制光标所在处到行尾的所有字符
p 粘贴在下一行 P 粘贴在上一行
J 将光标所在行和下一行合为一行
c 重复删除多个数据,例如向下删除10行
u 复原前一个操作(插销一步)
ctrl+r 重做上一个操作 小数点也可以 .
四、一般模式切换到编辑模式
i 从光标所在处插入 I 目前所在行的第一个非空格处开始插入
a 冲光标所在处的后一个字符开始插入 A从光标所在行的最后一个字符处开始插入
o 从光标所在行的下一行开始插入 O光标所在行的上一行开始插入
r,R r替换光标坐在那一个字符一次 R会一直替换光标所在文字
ESC 从编辑模式退回一般模式
五、一般模式到命令行模式可以用的命令
:w 保存
:w! 文件只读时,可强制写入,但要求权限
:q 退出vi
:q! 若修改过文件写不想存储, q!强制退出不保存
:wq 保存后退出
ZZ 若文件没有更动,则不保存离开,若已经更动,保存后离开
:w[filename] 另存为
:r[filename] 在编辑的数据中读入另一个文件的数据,即将"filename"这个文件内容加到光标所在行的后面
:n1, n2 w[filename] n1-n2行的内容保存成filename
:!command 暂时离开vi到命令行下执行command的显示结果
如 :!ls /home
:set nu 显示行号
:set nonu 取消行号
常用命令 最好记忆
----------------------------------------------------------------------------------
移动
ctrl+f
ctrl+b
0[Home]
$[End]
G
gg
N[enter]
查询与替换
/word
n1,n2s/word1/word2/g
1,$s/word1/word2/g
1,$s/word1/word2/gc
删除复制与粘贴
x X
dd
ndd
yy
nyy
p P
u
ctrl+r
.
一般模式切换到编辑模式
i I
a A
o O
r R
一般模式切换到命令行模式’
:w
:wq
----------------------------------------------------------------------------------
vi编辑器使用相关的更多相关文章
- 第三天 vi编辑器使用和软件安装
[复习] 判断题: 查看某文件权限为rwxr-xr-- ,则其所属组权限为只读. 对一个目录有w权限,表示可以修改目录下文件内容. 3..tar.gz格式的压缩包可以使用tar -xjf解压缩 4.m ...
- linux vi编辑器操作手册
简介 Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功 ...
- vi编辑器简单应用(摘抄)
摘抄于 vi编辑器的使用 (2) (3) 1 vi编辑器的基本使用 1.1 vi的启动 打开: $ vi example.c 只读打开 $ vi –R example.c 1.2 vi的工作模式 1. ...
- vi编辑器使用记录
01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可 常见需要修改的文件包括: ...
- 利用vi编辑器创建和编辑正文文件(二)
末行模式下的命令 1. w:写文件,将编辑的内容保存到文件系统. 2. w!:如果只读文件,强制写入系统. 3. q!:退出vi,但文件内容修改的话,系统要提示是否 ...
- 非正常关闭vi编辑器时会生成一个.swp文件
非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备 ...
- vi编辑器的使用(2)
1.4 光标移动 vi编辑器中的很多命令都是基于光标当前位置的,因此,如何移动光标定位到所需要的位置是一项十分重要的工作,下面进行详细介绍(如无特别说明,下面所讲的命令都是在普通模式下执行). 1. ...
- Unix\Linux | 总结笔记 | vi编辑器
0 目录 新建文件夹 常用的命令 三种模式及切换 vi编辑器的启动选项及后续相关操作 其他--替换文本 其他--写入另一个文件 1 新建文件夹 vi [目录名/文件 ...
- Linux学习笔记(四) vi编辑器
一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...
随机推荐
- http知识
http请求的过程:客户端发起请求,创建端口:http服务器在端口监听客户端请求:http服务器向客户端返回状态和内容. 浏览器搜索自身的DNS缓存-->搜索操作系统自身的DNS缓存(浏览器没有 ...
- 转 一个典型的 C++ 程序员成长经历:
1. 完整的学一遍 C++ 所有语言特性,典型书籍 "The C++ Programming Language" Part1, Part2, "C++ Primer&q ...
- Redis的安装与部署
为了解决公司产品数据增长过快,初始化太耗费时间的问题,决定使用redis作为缓存服务器. Windows下的安装与部署: 可以直接参考这个文章,我也是实验了一遍:http://www.runoob.c ...
- 【转】 void与void*详解
void关键字的使用规则: 1. 如果函数没有返回值,那么应声明为void类型: 2. 如果函数无参数,那么应声明其参数为void: 3. 如果函数的参数可以是任意类型指针,那么应声明其参数为void ...
- cxf笔记记录
一.Web Service框架介绍: 1. WebService框架的作用: -- WebService只是一种思想,不是一个具体的框架. -- 它也是javaEE的规范. -- 它可以跨平台(操作平 ...
- News common vocabulary
英语新闻常用词汇与短语 经济篇 accumulated deficit 累计赤字 active trade balance 贸易顺差 adverse trade balance 贸易逆差 aid 援助 ...
- osg,vtk,ogre的区别
osg使用过一年,阅读过一部分源代码,vtk也断续使用过三四年了,ogre研究的比较深入,基本上比较熟悉它的整体结构,说说个人的看法 vtk是一个算法库,里面包括了很多挺不错的算法,如果做有限元云图, ...
- OC面向对象—多态
OC面向对象—多态 一.基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态. 在使用多态是,会进行动态检测,以调用真实的对象方法. 多态在代码中的体现即父类指针指向子类对象. ...
- MySQL 入门知识点
参考网址:http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 1.数值类数据列类型 数据列类型 存储空间 描述 TINYINT ...
- 设计模式六大原则(5)—迪米特法则
定义: 一个对象应该对其它的对象保持最少的了解.迪米特法则又称为最少知识法则,英文全称为Least Knowledge Principle ,简称为LKP. 个人理解: 迪米特法则主要目的是类间解耦, ...