阶段1--了解Linux中的各种文本编辑器
目录
一、文本编辑器
1.1.简介
文本编辑是基于Linux的系统的最基本计算活动之一,Linux设计用于良好的处理文本,文本通常是以ASCII字符集的形式处理。可使用文本编辑器编辑文本,例如:vi、vim、emacs和joe,其中很多都是从我们的unix系统上继承的。这些文本编辑器能使我们添加和编辑和操作文本。并且Linux中的没有图形化的环境,而是直接在我们的终端窗口中使用我们的文本编辑器。
1.2.编辑器的功能
创建文件:允许创建文件并向文件中写入数据,并在存储介质上存储文件
打开现有文件:允许打开现有的文件、修改文件内容并保存已修改文件。此外,编辑器可以实现同时处理多个文档。它还支持其他编辑器创建的文件
复制和粘贴文本
搜索文本:允许搜索特定表达式或词。还可使用通配符搜索,很多编辑器都支持全局搜索和替换操作,此功能帮助更改特定词或字符串的多个实例
1.3.适用于Linux的编辑器
其中最常使用的是前三个,这些编辑器都能够处理大文件
vi(可视化编辑器)
vim(可视化编辑器的增强版)
emacs(编辑宏编辑器)
Sed(流编辑器)
Ed(行编辑器)
Red(受限的Ed编辑器)
Joe(Joe`s Own编辑器)
Rjoe(受限的Joe编辑器)
Pico(pine composer)
Jstar(与WordStar兼容的joe编辑器版本)
1.3.1.vi编辑器的三种模式
vi文本编辑有三种模式
| 模式 | 说明 |
|---|---|
| 命令模式(Command Mode) | vi启动之后默认进入的模式就是命令模式,从这个模式使用命令就可以切换到另外的两种模式。 |
| 输入模式(Insert Mode) | 在此模式下,我们可以进行编辑、修改、输入的编辑工作,并且在此模式下,编辑器的最后一行将会显示--INSERT--的字样。 |
| 末行模式(Last Line Mode) |
在命令模式输入“ :”即可进入到该模式,在末行模式中可以输入许多的命令。 |
1.3.2.vi编辑器中的相关指令
q对应quit,意为退出
w对应write,意为将修改写入
!对应的就是强制执行
| 命令 | 操作 |
|---|---|
| k、l、j、h | 键盘对应的就是上右下左 |
| x | 删除当前光标位置的字符 |
| dd | 删除行 |
| :wq + enter | 保存所有更改并退出 |
| :w + enter | 保存文件 |
| :q! + enter | 不保存更改退出 |
| :e <filename> + enter | 打开特定的文件 |
| :w <filename> + enter | 写入不同的文件 |
| :w! <filename> + Enter | 强制写入到另一个文件 |
| :!<command name> + Enter | 执行 shell命令 |
案例:

创建两个文件

验证我们e <file_name> + Enter


1.3.3.vi编辑器光标移动命令
| 命令 | 操作 |
|---|---|
| ctrl + d或则D,d其实表示的就是down | 向下滚动半个屏幕 |
| ctrl + u或则U,u其实表示的就是up | 向上滚动半个屏幕 |
| ctrl + F,对应front | 向前翻一页 |
| ctrl + B,对应back | 向后翻一页 |
| nG | 移动到第n行 |
| 0(数字0) | 移动到行首 |
| $ | 移动到行尾 |
| H,对应英文的head | 移动到屏幕第一行 |
| M,对应英文的middle | 移动到屏幕的中间行 |
| L,对应英文的last | 移动到屏幕的最后一行 |
| z + Enter | 使当前行成为屏幕的第一行 |
案例:

1.3.4.vi高级读取和保存命令
| 命令 | 操作 |
|---|---|
| :r file name | 将另一个文件file_name读入当前文件。将file_name文件的内容放置在新行的光标位置后 |
| :r !cmd_name | 将命令cmd.name的输出读入当前文件。将特定命令的行放置在新行的光标位置后 |
| :5,10w file_name | 将当前文件第5行到第十行的内容保存到文件file name中,相当于选取内容后另存为其他文件,当文件名存在时会出冲突,也可以强制写入。 |
| :5,10w >> file_name | 将当前文件第5行到第10行附加到文件file_name中。也就是选取内容后追加 |
| :.,$w file_name | 保存file_name文件中从当前光标位置到文件结束的行 |
| :n file_name | 可不退出vi编辑器编辑除当前文件以外的其他文件file_name |
| :n# | 如果打开多个文件,可编辑上一个文件。此命令可帮助在两个文件间切换 |
案例:


执行:1,5w 新文件名


1.3.5.vi插入和替换命令
| 命令 | 操作 |
|---|---|
| a | 附加于当前字符后 |
| A | 附加于行末 |
| i | 在当前字符前插入 |
| I | 在行首插入 |
| o | 在下面插入空白行并允许插入,也即是在当前行下插入一行空白行,并把模式设置为输入模式 |
| O | 在上面插入空白行并允许插入 |
| rx | 用字符x替换当前字符 |
| Rtext | 用文本替换字符(直到按下ESC键),此命令用替换模式代替了附加模式 |
案例:


1.3.6.vi编辑器中删除和修改命令
| 命令 | 操作 |
|---|---|
| dw | 删除词 |
| dd | 删除行 |
| cw | 更改词 |
| cc | 更改当前行 |
| x | 删除当前光标位置的字符 |
| j | 连接行 |
| u | 撤销上次更改 |
| U | 撤销当前行的所有更改 |
| . (dot) | 重复上次更改 |
案例:


1.3.7.vi编辑器中的复制命令
| 命令 | 操作 |
|---|---|
| yiw | 复制当前单词 |
| yw | 复制当前光标位置到词末 |
| yy | 复制当前行 |
| P | 将拉出的文本放置在当前光标位置后,此命令类似于windows中的粘贴操作 |
| p | 将拉出的文本放置在当前的光标位置前 |
案例:

1.3.8.vi编辑器中的搜索命令
要在vi编辑器中搜索时,状态必须处于正常(命令)模式。当启动vi编辑器时,默认就是处于正常模式,其使用语法时:
向下搜索按/
向上搜索按?然后进入搜索模式,然后按Enter键运行搜索
例如:/hello,表示向上搜索hello这个字符串
搜索的表清单命令:
| 命令 | 操作 |
|---|---|
| /\<word\> | 搜索整个单词 |
| n | 搜索下一个出现的位置 |
| N | 搜索上一个出现的位置 |
案例:

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)