Linux的文件编辑器及相关命令

Linux的文件编辑器

vim是Linux中重要的文本编辑器,我们使用vim可以在Linux中编辑文件,vim可以看做是之前vi编辑器的升级版本

2. 文件编辑过程中的三种模式

一般模式(无法编辑):通过按键控制VIM工作

编辑模式(可以编辑无法保存):可以自由输入

指令模式(可以执行保存、查找等操作):通过执行指令完成一些特殊操作

3. 一般模式下的按键操作

vim 要编辑的文件路径可以进入到一般模式,此时我们无法自由编辑文件,但是可以进行整行的复制、粘贴、删除

  • yy复制光标所在行

  • p在下方粘贴一行

  • dd删除光标所在行

  • u撤销前一步操作

  • Ctrl + r重做刚刚撤销的操作

  • r 替换光标所在位置的一个字符,第一步:按一下r键,第二步:输入新的字符

  • gg将光标移动到第一行的开头

  • G将光标移动到最后一行的开头

  • 行数G将光标移动到指定行的开头

4. 进入编辑模式

因为一般模式下我们无法自由编辑内容,所以需要进入编辑模式来进行文件的编辑,进入编辑模式的方式有如下一些:

按键大小写 说明光标动作
i小写不动,就在当前位置,开始输入
I大写移动到行的开头,开始输入
a小写光标向后移动一格,然后开始输入
A大写光标移动到行的末尾,然后开始输入
o小写先在光标所在行的下面插入空行 然后把光标移动到空行的开头,再开始输入

在编辑模式下我们可以进行自由编辑,如果想回退到普通模式进行操作,则需要按Esc按键,编辑模式下我们无法进行查找、保存等等操作,需要进入指令模式才能完成。而进入指令模式需要从一般模式进入,所以需要先Esc退回一般模式

5. 指令模式下的操作

5.1 进入指令模式

5.1.1 进入特殊指令操作的指令模式

在一般模式下输入英文的:,其实就是同时按Shift:就可以看到文档最下方出现了一个:,并且光标也出现在了:后面,就表示进入了指令模式,此时我们就可以输入指令进行一些操作

5.1.2 进入用于全文搜索的指令模式

在一般模式下输入/,可以进入用于全文搜索的指令模式

5.2 在全文搜索的指令模式下进行搜索

5.2.1 搜索的具体步骤

  1. /的光标处输入搜索关键字,然后按回车按钮进行搜索,搜索出来匹配关键字部分的内容,会高亮显示

  2. 遍历匹配内容: 输入n向下遍历查找,输入N向上遍历查找

  3. 取消高亮显示: :noh

5.3 指令模式下常用的指令操作

5.3.1 显示行号

set nu指令可以显示文本的行号

5.3.2 保存已编辑的内容

w指令可以保存已编辑的内容

5.3.3 退出vim编辑器

q指令可以退出vim编辑,但是当部分修改还没有保存,那么会看到下面的提示:

当我们想要放弃对文件的修改,不保存直接退出就使用:q!来代替q进行退出

5.3.4 保存当前编辑并退出

wq指令可以先保存当前编辑的内容,然后再退出vim编辑器

5.3.5 全文替换

  1. 准备文本内容

TIP
​
Oh,hello tom!Do you think this is a good time for me to say hello to Lily?
​
Oh,hello tom!Do you think this is a good time for me to say hello to Lily?
​
Oh,hello tom!Do you think this is a good time for me to say hello to Lily?
​
Oh,hello tom!Do you think this is a good time for me to say hello to Lily?
​
Oh,hello tom!Do you think this is a good time for me to say hello to Lily?
​
Oh,hello tom!Do you think this is a good time for me to say hello to Lily?
​
Oh,hello tom!Do you think this is a good time for me to say hello to Lily?
​
Oh,hello tom!Do you think this is a good time for me to say hello to Lily?
​
Oh,hello tom!Do you think this is a good time for me to say hello to Lily?

执行替换:将hello替换成hi:

%s/hello/hi,替换后的效果是:

这时我们看到每一行只有第一个匹配的内容被替换了,后面的没有被替换。这是因为对正则表达式来说,它是以行为单位查找匹配的内容。每一行只要找到第一个匹配那么就可以判断这一行就是匹配的,没有必要继续向后查找了。如果我们需要将一行中的每一个匹配都替换,可以在指令后加/g

6. 常见的问题

6.1 提示存在交换文件

6.1.1 错误示例

6.1.2 错误原因

vim在打开一个文件的时候会同时创建一个临时文件,命名方式是“.原文件名.swp”,这就是所谓的交换文件。而当vim正常退出时,这个交换文件会被删除。所以如果正常操作我们是看不到这个提示界面的。

而之所以会出现上面的提示,是因为当前的vim命令在创建新的交换文件之前就已经检测到了已存在的交换文件

再往前推理一步,为什么会有交换文件残留?

  • 可能原因1:其他窗口正在使用vim打开同一个文件

  • 可能原因2:非正常关机等原因导致vim没有正常退出

6.1.3 解决方法

先根据最下面的提示输入Q退出,然后检查是否在其他窗口已经用vim打开了这个文件:

  • 是:继续在这个vim中编辑文件。

  • 否:删除交换文件,重新编辑。

6.2 屏幕被锁

在Windows环境下大家已经习惯了使用Ctrl+s保存文档,但是在Linux环境下Ctrl+s是锁屏。如果是因为Ctrl+s锁屏那么可以使用Ctrl+q解锁,然后继续操作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值