Linux基础-5.利用vi编辑器创建和编辑正文文件
1、vi编辑器简介
1)掌握vi编辑器的定义:vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。
2、vi编辑器的操作模式
1)掌握vi编辑器的3种基本模式:
a)命令行模式:vi编辑器的默认模式。在这一模式中,所有的输入被解释成vi命令,可以执行修改、复制、移动、粘贴和删除正文等命令,也可以进行移动光标、搜索字符串和退出vi编辑器的操作等
b)编辑模式:在编辑模式中,可以往一个文件中输入正文。在这一模式中,输入的每一个字符都会被vi编辑器解释为输入的正文。使用ESC键返回命令行模式
c)扩展模式:在一些UNIX系统上也叫底行模式。在这一模式下,可以使用一些高级编辑命令,如查找和替换字符串、存盘或退出vi编辑器等。要进入底行模式,需要在命令行模式中输入冒号(:),冒号这一操作将光标移到屏幕的最后一行

3、在vi编辑器中光标的移动
1)掌握在vi编辑器中常用的移动光标位置的键与光标移动之间的关系,如下表:
|
[ctrl]+[b] |
屏幕往“后”移动一页 |
|
[ctr]+[f] |
屏幕往“前”移动一页 |
|
[ctrl]+[u] |
屏幕往“后”移动半页 |
|
[ctrl]+[d] |
屏幕往“前”移动半页 |
|
gg |
移动到文章的首行,相当于1G |
|
G |
移动到文章的最后 |
|
nG |
n为数字。移动到这个档案的第n行。例如20G则会移动到这个档案的第20行 |
|
h或左箭头键 |
光标向左移动一个字符 |
|
j或下箭头键 |
光标向下移动一个字符 |
|
k或上箭头键 |
光标向上移动一个字符 |
|
l或右箭头键 |
光标向右移动一个字符 |
|
n[space] |
n表示数字。按下数字后再按空格键,光标会向右移动这一行的n个字符。例如:20[space]则光标会向后移动20个字符 |
|
0或[^]或[Home] |
移动到这一行的最前面字符处 |
|
$或[End] |
移动到这一行的最后面字符处 |
|
H |
光标移动到这个屏幕的最上方那一行的第一个字符 |
|
M |
光标移动到这个屏幕的中央那一行的第一个字符 |
|
L |
光标移动到这个屏幕的最下方那一行的第一个字符 |
4、进入编辑模式
1)掌握从命令行模式进入编辑模式的命令:
a)a:进入输入模式并在光标所在的下一个字符处开始输入
b)A:进入输入模式并在光标所在行的最后一个字符处开始输入
c)i:进入输入模式并在光标所在处输入
d)I:进入输入模式并在光标所在行的第一个非空格符处开始输入
e)o:进入输入模式并在光标所在行的下一行处输入新的一行
f)O:进入输入模式并在光标所在行的上一行处输入新的一行
g)r:进入取代模式,只会取代光标所在的那一个字符一次
h)R:进入取代模式,会一直取代光标所在的文字,直到按下[ESC]键为止
5、在命令行栻上删除、复制和粘贴操作
1)掌握常用的删除、复制和粘贴的快捷键
|
x,X |
在一行字当中,x为向后删除一个字符(相当于[del]键),X为向前删除一个字符(相当于[backspace]键) |
|
nx |
n为数字,连续向后删除n个字符。举例来说,10x表连续删除10个字符 |
|
dd |
删除光标所在的那一整行 |
|
ndd |
n为数字。删除光标所在的向下 |
|
d1G |
删除光标所在行到第一行的所有数据 |
|
dG |
删除光标所在行到最后一行的所有数据 |
|
d$ |
删除光标所在处到该行的最后一个字符 |
|
d0 |
删除光标所在处到该行的最前面一个字符 |
|
yy |
复制游标所在的那一行 |
|
nyy |
n为数字。复制光标所在的向下n行。例如20yy则是复制20行 |
|
y1G |
复制光标所在的向下n行。例如20yy则是复制20行 |
|
yG |
复制光标所在行到最后一行的所有数据 |
|
y0 |
复制光标所在的那个字符到该行行首的所有数据 |
|
y$ |
复制光标所在的那个字符到该行行尾的所有数据 |
|
p,P |
p为将已复制的数据在光标的下一行粘贴,P为将已复制的数据在光标的上一行粘贴 |
|
J |
将光标所在行与下一行的数据结合成同一行 |
|
u |
复原前一个动作 |
|
[ctrl]+r |
重做上一个动作 |
|
u与[ctrl]+r是一组很常用的指令!一个是复原,另一个则是重做一次。 |
|
|
. |
小数点。意思是重复前一个动作的意思。如果你想要重复删除、重复粘贴等动作,按下小数点“.”就好了 |
6、扩展模式与文件的存储和退出
1)掌握扩展模式下常用的命令:
|
:w |
将编辑的数据写入硬盘档案中 |
|
:w! |
若文件属性为“只读”时,强制写入该档案。不过,到底能不能写成功,还是跟当前用户对该档案的权限有关 |
|
:q |
退出vi |
|
:q! |
若修改过档案,又不想储存,使用此命令强制离开不储存档案 |
|
注意:感叹号(!)在vi当中,常常具有“强制”的意思 |
|
|
:wq |
储存后离开vi |
|
:wq! |
强制储存后离开vi |
|
ZZ |
若档案没有修改,则不储存离开vi,若档案已经被修改,则储存后离开vi |
|
:w [filename] |
将编辑的数据储存成另一个档案 |
|
:r [filename] |
在编辑的数据中,读入另一个档案的数据。亦即将“filename”这个档案内容加到游标所在行后面 |
|
:n1,n2 w [filename] |
将n1到n2行的内容储存成filename这个档案 |
Linux基础-5.利用vi编辑器创建和编辑正文文件的更多相关文章
- linux基础-第九单元 利用vi编辑器创建和编辑正文文件
vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下删 ...
- 第九单元 利用vi编辑器创建和编辑正文文件
vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下 ...
- Linux 正文处理命令及tar命令 利用vi编辑器创建和编辑正文文件
要点回顾 1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cp /etc/passwd . cat ./passwd >1.txt cp /etc/group ...
- 利用vi编辑器创建和编辑正文文件(二)
末行模式下的命令 1. w:写文件,将编辑的内容保存到文件系统. 2. w!:如果只读文件,强制写入系统. 3. q!:退出vi,但文件内容修改的话,系统要提示是否 ...
- 利用vi编辑器创建和编辑正文文件(一)
1. vim是vi的升级版本. 2. vi所UNIX和Linux系统内嵌的标准文编辑器,可执行,修改,复制,移动,粘贴和删除正文等命令,也可以进行移动光标,搜索字符和退出vi的 ...
- Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接
作业一:1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group > /1.txt2) 将用户信息数据库文件和用户 ...
- Linux中非正常关闭vi编辑器产生swp文件怎么删除
Linux中非正常关闭vi编辑器产生swp文件,会导致编辑文件时提示如下内容(图我是从网上找的): 这是因为异常关闭vi编辑器产生swp文件导致,假设编辑的文件名是file.sh,那么生成的swp文件 ...
- Linux学习笔记(四) vi编辑器
一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...
- 非正常关闭vi编辑器时会生成一个.swp文件
非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备 ...
随机推荐
- 如何在Ubuntu上安装gcc-6.3
装显卡驱动推荐 gcc 6.3 版本,其实linux上多个版本的gcc是可以共存的,需要的的时候切换就好,参加之前的博客 https://www.cnblogs.com/jins-note/p/951 ...
- MyBatis学习笔记(一)
测试Demo的目录结构: com.luohao.config ->MyBatisCongfig.xml ->userMapper.xml com.luohao.Test ->Test ...
- 绛河 初识WCF5
然后我们在<Client>中添加一个终结点,这个是客户端的终结点,我们前面曾经提过,通信实际上发生在两个终结点间,客户端也有个终结点,然而请求总是从客户端首先发起,所以终结点地址应该填写为 ...
- 初识WCF3
http://www.cnblogs.com/xiangchangdong/p/3924030.html 第三篇 在IIS中寄宿服务 通过前两篇的学习,我们了解了如何搭建一个最简单的WCF通信模型,包 ...
- C#调用C++函数
一.新建C++项目 1.在VS2012中新建->项目->模版->其他语言->Win32->Win32项目->下一步->选DLL,导出符号. 2.在XX.h项目 ...
- Layui - Xtree 3.0 http://acmeworker.com/BlogContent?type=1038
2018年1月11日升级 Layui - Xtree 3.0 此版本包含了前两个版本所有的功能,同时修复了一些问题,增加了一些功能,之前的版本可以直接抛弃啦!本次升级改动较多,参数也有所更改,尽量别直 ...
- Ionic控件之——按钮(Button)
Ionic提供丰富的按钮特性,足以满足大部分的按钮实现需求. 一.HTML实现一个简单按钮: <button class="button"> 我是按钮 </but ...
- 《C++ Primer Plus》读书笔记之四—分支语句和逻辑操作符
第六章 分支语句和逻辑操作符 1.&&的优先级低于关系操作符. 2.取值范围:取值范围的每一部分都使用AND操作符将两个完整的关系表达式组合起来: if(age>17&& ...
- ZT Linux系统环境下的Socket编程详细解析
Linux系统环境下的Socket编程详细解析 来自: http://blog.163.com/jiangh_1982/blog/static/121950520082881457775/ 什么是So ...
- host 'xx' is not allowed to connect to this MySql server
update mysql.user set host = '%' where user = 'root'; FLUSH PRIVILEGES; select * from mysql.user;