第3章 文本编辑器

第3章 文本编辑器

Linux/Unix操作系统下使用的文本编辑器有很多,例如,图形模式下的编辑器有gedit、kwrite、OpenOffice等,文本模式下的编辑器有vi、vim(vi的增强版)和nanovi和vim是Linux/UNIX中最常用的。

3.1 vi编辑器概述

3.1.1 vi的三种工作方式

vi共有3种工作模式:命令模式、插入模式和末行模式。不同的工作模式提供了不同的文本操作方法。

1.命令模式

当使用vi创建或打开一个文件时,默认的模式就是命令模式。在此模式下输入的字符都将作为命令来解析。如果在此模式下输入i或a或o字符,则立刻转入到“插入模式”

2.插入模式

插入模式又称为文本编辑模式,顾名思义,在该模式下可以像在记事本中一样编辑文本,包括输入、删除等操作。输入的任何字符都会当作文本内容。在当前模式下如果按ESC键则会切换到“命令模式”

3.末行模式

末行模式又称为底行模式。在命令模式下输入冒号“:”即可切换到末行模式。在此模式下可以输入相应的命令来完成文本的搜索、替换、保存等工作,命令执行完后自动切换到命令模式

3.1.2 vi的初体验

既然vi是文本编辑器,所以使用vi无非就是完成文件的创建或打开以及文件的编辑和保存。

示例1:操作步骤如下:
(1)在终端输入命令:

vi  test.txt   (如果text.txt不存在则创建,存在即打开) 

(2)执行第(1)步操作后,进入vi界面,工作模式为命令模式,此时按键盘的“i”,“a”,"o"键进入插入模式。

(3) 插入模式下,输入一些文本,然后按Esc键进入命令模式(在插入模式下不能实现文本的保存,输入的所有字符都将视为文件内容),此时连续输入两次大写的“Z”,则完成保存退出操作。或者按“:"键进入末行模式,在末行模式下输入命令wq,也可以完成文件的保存退出操作。

3.2 命令模式下的文本块操作

在命令模式下可以完成文本块的复制、移动、删除、撤销与重复、查找、搜索与替换等操作。接下来介绍相应的操作命令和使用方法。

3.2.1 行的定位

在使用vi操作文本文件时,常常涉及行的定位,例如,对文件的第5行进行操作,首先将光标移动到改行,第一种办法就是使用方向键,但对于行与行之间距离较大的情况下,这种办法效率较低。第二种办法是在命令模式下,先按下键盘上需要定位到的行号,然后再按键盘上的”G“键,就可以将光标迅速定位到改行了。

例如:当前光标在第2行,希望定位到第120行。相应操作如下:

依次按下数字键1、2、0,再按"G"

命令行模式下的定位:如何切换为命令行模式,按Esc键

操作键功能
0光标移至行首
h光标左移一格
l光标右移一格
j光标下移一行
k光标上移一行
$+A将光标移动到改行最后
PageDn向下移动一页
PageUp向上移动一页

编辑模式切换

3.2.2 文本块的复制、移动和删除
1.复制

(1)在命令行模式下输入yy或nyy,表示复制当前行或当前行开始的连续n行到缓冲区,n是一个具体的整数。

例如:输入“6yy”表示复制从光标所在的改行“往下数”(包括光标所在行)6行文字到缓冲区(即放到剪切板)。

(2)在命令行模式下按下P或p键将缓冲区的字符粘贴到光标所在位置。其中,P是粘贴到光标所在行的上面p是粘贴到光标所在行的下面(大写是上面,小写是下面)。

2.移动

(1)在命令行模式下输入dd或ndd,表示剪切当前行或当前行开始的连续n行到缓冲区,n是一个整体的整数。

例如:"6dd"表示剪切从光标所在的改行“往下数”(包括光标所在行)6行文字到缓冲区

(2)在命令行模式下按下P或p键将缓冲区的字符粘贴到光标所在位置。其中,P是粘贴到光标所在行的上面,p是粘贴到光标所在行的下面。

3.删除

在命令模式下的删除操作如下:

操作键功能
x删除光标所在的文字
nx删除光标后面的n个字符
X删除光标前面的1个字符
nX删除光标前面的n个字符
dd删除光标所在行
ndd删除光标所在行向下n行
3.2.3 撤销和重复

“U”键可以撤销上一步的操作,按Ctrl+R快捷键可以恢复(即撤销上次的撤销操作)。

“.”键将重复上一步操作

3.2.4 字符串的查找

在命令模式下的字符串查找命令,如下表

命令模式下的操作命令功能
/字符串在命令模式下,先按“/”键,然后输入要查找的字符串。如果找到,光标停留在该字符串的首字母上。搜索范围是从光标当前位置开始向文件尾查找
? 字符串先按“?”键,然后输入要查找的字符串。如果找到,光标停留在该字符串的首字母上。搜索范围是从光标当前位置开始向文件头查找。
n继续查找满足条件的字符串
N改变查找的方向,继续查找满足条件的字符串

3.3 末行模式下的常用操作

在末行模式下的常用操作包括文本的复制、移动、删除和文本的查找和替换等。末行模式下的各项命令及功能如下表:

末行模式下的操作命令功能
n1,n2 co n3将n1(包括n1)行到n2(包括n2)行的所有文本复制到n3行之后
n1,n2 m n3将n1(包括n1)行到n2(包括n2)行的所有文本移动到n3行之后
n1,n2 d删除n1(包括n1)行到n2(包括n2)行的所有文本
n1,n2 s/字符串1/字符串2/g将n1(包括n1)行到n2(包括n2)行的所有字符串1替换为字符串2
%s/字符串1/字符串2/g把整个文件每行中所有字符串1替换成字符串2
set nu显示行号
set nonu不显示行号
w保存当前文件
w 新文件将当前文件的内容另存到新文件中
wq保存当前文件并退出
x保存当前文件并退出
q退出vi
q!强制退出(不保存)

3.4 vi环境定制

vi的环境配置文件为.vim.rc,它是一个隐藏文件,可以在用户的/home目录中手动创建,然后将希望的设置值写入,这样每次启动vi时就会自动读取配置文件的内容,从而得到定制好的环境。vi环境配置文件设置参数见表。

设置参数功能
:set nu 或 :set number设置显示行号
:set noun取消显示行号
:set hlsearchhlsearch就是high light search(高亮度查找)。设置是否将查找的字符串反白显示。默认是hlsearch
:set nohlsearch设置不将查找的字符串反白显示
:set autoinden表示自动缩进
:set noautoinden不产生自动缩进
:set bg=dark用以显示不同颜色的色调
:set bg=light颜色色调默认为light
:syntax on设置程序不同,语法会显示不同颜色,默认为此设置
:syntax off程序不同,语法颜色不做区别

案例:

①创建~/.vimrc文件,并进行设置
创建~/.vimrc文件
设置属性
②新建test.c文件
显示行数

3.5 小结

习题

一、填空题

1.vi编辑器工作的三种模式分别是:插入模式、命令模式和末行模式(底行模式)

2.vi的三种工作模式中,插入模式和末行模式之间是不能直接进行切换的

3.从插入模式切换到命令模式,应该按Esc键

4.在命令模式下,若想将光标所在行复制到第5行之后,操作方法是先按yy,然后按5G,最后按p

5.在命令模式下,若想要迅速定位到第12行,按12,然后按G键。

6.在末行模式下,将第3行到第16行所有的文本移动到第20行后,操作如下

3,16 m 20

7.在末行模式下将字符串“hello”替换为“helloworld”的操作方法是

%s/hello/helloworld/g

替换前
替换后
8.列举使用vi进行保存的命令:wq或x

9.在命令行查找字符串的命令:

/ 字符串 #从光标处到文件尾查找

? 字符串 #从光标处到文件头查找

n #继续查找

N #反向查找

10.vi环境定制的文件通常是放在用户的主目录中,文件名为:.vimrc

此处跳转上一篇文章第2章 Linux的基本操作

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西里小诸葛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值