建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
温馨提示

抱歉,您需设置社区昵称后才能参与社区互动!

前往修改
我再想想

linux笔记-文本编辑(5)

2020/8/4 789

# 第五章 文本编辑

## 5.1 进入和退出vi

   vi是visual  interface的简称。在Linux系统中,还提供了vim(Vi IMproved)编辑器,它是vi的增强版本,与vi向上兼容。

### 5.1.1 进入

**一般格式**

```

vi [文件名]

```

**说明**

```

在系统提示符(设为$ )下

输入命令vi和想要编辑

(建立)的文件名,便可进入

vi。

```

## 5.1.2 退出

**一般格式**

```

:wq

:ZZ

:x

:q! 

```

## 5.2 vi的工作方式

**命令方式**

```

输入命令vi进入编辑器时,就处于vi的命令方式。从键盘上输入的任何字符都被当作编辑命令来解释 ,在命令方式下输入的表示命令的字符并不在屏幕上显示出来。

```

**插入方式**

```

输入插入命令( i )、附加命令( a )、打开命令(o )、替换命令( s )、修改命令( c )或取代命令( r )可以从命令方式进入到插入方式。

```

**ex转义字符**

```

在命令方式下输入一个冒号(:)就进入 ex转义方式。

```

## 5.3 文本输入

### 5.3.1 插入命令

**插入字符**

```

i  插在光标位置之前

I  在光标所在行的行首插入新增文本

```

### 5.3.2 附加命令

**附加字符**

```

a 在该命令之后输入的字符都插到光标之后。

A 在光标所在行的行尾添加文本。

```

### 5.3.3 打开命令

**打开字符**

```

o 在光标所在行的下面新开辟一行,随后输入的文本就插入在这一行上。

O 在光标所在行的上面新开辟一行,随后输入的文本就插入在这一行上。

```

### 5.3.4 插入方式下光标移动

利用键盘上的四个方向可以在插入方式下移动光标。

利用<Backspace>可将光标从当前行上回退一个字符,并且删除光标之前的一个字符。

## 5.4 光标移动命令

> 注:如果在相应命令的前面加上一个数字n ,那么,就把光标相应移动n个字符。例:

>

> 6l,则向右移6个字符(但不能跨行);  4h ,则向左移动4个字符 (但不能跨行); 

>

> 3+,则向下移3行,光标位于行首;    6k ,则光标上移6行,列数不变。 

**向右(向前)移动一个字符**

```

使用命令(键)l(小写字母)、&lt;Space&gt; 、右向键将光标向右移动一个字符。

```

**向左(向后)移动一个字符**

```

使用命令(键)h (小写字母)、&lt;Backspace&gt;、左向键将光标向左移动一个字符。

```

**移到下一行**

```

使用命令(键)+、&lt;Enter&gt;将光标移到下一行的开头。命令(键)j、&lt;Ctrl&gt;n和下向键分别将光标向下移一行,但所在列不变。

```

**移到上一行**

```

使用命令(键)-、k(小写字母)、&lt;Ctrl&gt;P 、上向键将光标上移一行。

```

![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202008/04/164138lfxjhsdsddck0oyx.png)

**移动至首行**

```

使用命令(键)^ 或0(数字0)将光标移到当前行的开头。

```

**移动至行尾**

```

使用命令(键)$将光标移至当前行的行尾,停在最后一个字符上。

```

**移至指定行**

```

使用命令(键)[行号]G将光标移至由行号所指定的行的开头。

```

**移至指定列**

```

使用命令(键)[列号]|  将光标移至当前行指定的列上。

```

## 5.5 文本修改

### 5.5.1 删除

**删除字符**

```

命令x(小写字母)删除光标所在的字符。

命令X(大写字母)删除光标前面的那个字符。

```

**删除文本对象**

```

命令dd删除光标所在的整行。

命令D从光标位置开始删除到行尾。

组合命令d+&lt;光标移动命令&gt;删除从光标位置开始至光标移动命令限定的位置之间的所有字符。

```

### 5.5.2 复制

**复制字符**

```

u 取消前面刚执行的插入或删除命令的效果,恢复到此前的情况。

U 总是把当前行恢复成它被编辑之前的状态。

```

### 5.5.3 重复

**重复字符**

**·**

```

·(圆点)在命令方式下,重复执行前面最近一次插入命令或删除命令。

```

### 5.5.4 修改

**修改字符**

**c**

```

c后面紧随光标移动命令(用来限定删除文本的范围),之后是新输入的文本,最后单击 &lt; Esc &gt;键。

```

**C**

```

C后面紧接新输入的文本,最后单击&lt; Esc &gt;键。它等价于:c$

```

**cc**

```

命令cc删除光标所在行整行(不是行的一部分),用随后输入字符串替代。其余作用与C命令相同。

```

### 5.5.5 取代

**取代字符**

**r**

```

命令r用随后输入的单个字符取代光标所在的字符

```

**R**

```

命令R用随后输入的文本取代光标所在字符及其右面的若干字符。

```

### 5.5.6 替换

**替换字符**

**s**

```

命令s(小写)用随后输入的的正文替换光标所在的字符。

```

**S**

```

命令S(大写)用新输入的正文替换整个当前一行

```

## 5.6 字符串检索

### **向前检索**

**一般格式**

```

命令基本格式是:   /模式〈Enter〉

```

### 向后检索

**一般格式**

```

命令基本格式是:?模式 〈Enter〉

```


回复 (0)

没有评论
上划加载中
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

角色:校园大使

话题:46

发消息
发表于2020年08月04日 16:52:32 7890
直达本楼层的链接
楼主
倒序浏览 只看该作者
linux笔记-文本编辑(5)

# 第五章 文本编辑

## 5.1 进入和退出vi

   vi是visual  interface的简称。在Linux系统中,还提供了vim(Vi IMproved)编辑器,它是vi的增强版本,与vi向上兼容。

### 5.1.1 进入

**一般格式**

```

vi [文件名]

```

**说明**

```

在系统提示符(设为$ )下

输入命令vi和想要编辑

(建立)的文件名,便可进入

vi。

```

## 5.1.2 退出

**一般格式**

```

:wq

:ZZ

:x

:q! 

```

## 5.2 vi的工作方式

**命令方式**

```

输入命令vi进入编辑器时,就处于vi的命令方式。从键盘上输入的任何字符都被当作编辑命令来解释 ,在命令方式下输入的表示命令的字符并不在屏幕上显示出来。

```

**插入方式**

```

输入插入命令( i )、附加命令( a )、打开命令(o )、替换命令( s )、修改命令( c )或取代命令( r )可以从命令方式进入到插入方式。

```

**ex转义字符**

```

在命令方式下输入一个冒号(:)就进入 ex转义方式。

```

## 5.3 文本输入

### 5.3.1 插入命令

**插入字符**

```

i  插在光标位置之前

I  在光标所在行的行首插入新增文本

```

### 5.3.2 附加命令

**附加字符**

```

a 在该命令之后输入的字符都插到光标之后。

A 在光标所在行的行尾添加文本。

```

### 5.3.3 打开命令

**打开字符**

```

o 在光标所在行的下面新开辟一行,随后输入的文本就插入在这一行上。

O 在光标所在行的上面新开辟一行,随后输入的文本就插入在这一行上。

```

### 5.3.4 插入方式下光标移动

利用键盘上的四个方向可以在插入方式下移动光标。

利用<Backspace>可将光标从当前行上回退一个字符,并且删除光标之前的一个字符。

## 5.4 光标移动命令

> 注:如果在相应命令的前面加上一个数字n ,那么,就把光标相应移动n个字符。例:

>

> 6l,则向右移6个字符(但不能跨行);  4h ,则向左移动4个字符 (但不能跨行); 

>

> 3+,则向下移3行,光标位于行首;    6k ,则光标上移6行,列数不变。 

**向右(向前)移动一个字符**

```

使用命令(键)l(小写字母)、&lt;Space&gt; 、右向键将光标向右移动一个字符。

```

**向左(向后)移动一个字符**

```

使用命令(键)h (小写字母)、&lt;Backspace&gt;、左向键将光标向左移动一个字符。

```

**移到下一行**

```

使用命令(键)+、&lt;Enter&gt;将光标移到下一行的开头。命令(键)j、&lt;Ctrl&gt;n和下向键分别将光标向下移一行,但所在列不变。

```

**移到上一行**

```

使用命令(键)-、k(小写字母)、&lt;Ctrl&gt;P 、上向键将光标上移一行。

```

![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202008/04/164138lfxjhsdsddck0oyx.png)

**移动至首行**

```

使用命令(键)^ 或0(数字0)将光标移到当前行的开头。

```

**移动至行尾**

```

使用命令(键)$将光标移至当前行的行尾,停在最后一个字符上。

```

**移至指定行**

```

使用命令(键)[行号]G将光标移至由行号所指定的行的开头。

```

**移至指定列**

```

使用命令(键)[列号]|  将光标移至当前行指定的列上。

```

## 5.5 文本修改

### 5.5.1 删除

**删除字符**

```

命令x(小写字母)删除光标所在的字符。

命令X(大写字母)删除光标前面的那个字符。

```

**删除文本对象**

```

命令dd删除光标所在的整行。

命令D从光标位置开始删除到行尾。

组合命令d+&lt;光标移动命令&gt;删除从光标位置开始至光标移动命令限定的位置之间的所有字符。

```

### 5.5.2 复制

**复制字符**

```

u 取消前面刚执行的插入或删除命令的效果,恢复到此前的情况。

U 总是把当前行恢复成它被编辑之前的状态。

```

### 5.5.3 重复

**重复字符**

**·**

```

·(圆点)在命令方式下,重复执行前面最近一次插入命令或删除命令。

```

### 5.5.4 修改

**修改字符**

**c**

```

c后面紧随光标移动命令(用来限定删除文本的范围),之后是新输入的文本,最后单击 &lt; Esc &gt;键。

```

**C**

```

C后面紧接新输入的文本,最后单击&lt; Esc &gt;键。它等价于:c$

```

**cc**

```

命令cc删除光标所在行整行(不是行的一部分),用随后输入字符串替代。其余作用与C命令相同。

```

### 5.5.5 取代

**取代字符**

**r**

```

命令r用随后输入的单个字符取代光标所在的字符

```

**R**

```

命令R用随后输入的文本取代光标所在字符及其右面的若干字符。

```

### 5.5.6 替换

**替换字符**

**s**

```

命令s(小写)用随后输入的的正文替换光标所在的字符。

```

**S**

```

命令S(大写)用新输入的正文替换整个当前一行

```

## 5.6 字符串检索

### **向前检索**

**一般格式**

```

命令基本格式是:   /模式〈Enter〉

```

### 向后检索

**一般格式**

```

命令基本格式是:?模式 〈Enter〉

```


点赞 举报
分享

分享文章到朋友圈

分享文章到微博

游客

您需要登录后才可以回帖 登录 | 立即注册