VIM的一丢丢东西

Vim中的查找替换基本语法

 :[范围]s/查找内容/替换为的内容/[标志]
  • 范围:可以是一个行号,一对行号(用,分隔),或者特殊标记。例如,1,10表示从第1行到第10行;%表示整个文件。

  • 查找内容:是你想要查找的文本,可以使用正则表达式来指定更复杂的搜索模式。

  • 替换为的内容:是当查找内容被找到时,你想要替换成的文本。

  • 标志:控制替换的行为。常用的标志有:

    • g(global):不加此标志时,每行只替换第一个匹配的内容;加上g后,替换每行中所有匹配的内容。

    • c(confirm):对每个替换进行确认。

    • i(ignore case):忽略大小写进行匹配。

常用示例

  1. 替换当前行第一个匹配的内容

     :s/old/new/

    这会在当前行查找"old",并将其替换为"new"。

  2. 替换当前行所有匹配的内容

     :s/old/new/g

    加上g标志,意味着替换该行内所有"old"为"new"。

  3. 全文件替换第一个匹配的内容

     :%s/old/new/

    使用%表示整个文件,但由于没有g标志,每行只替换首次出现的"old"。

  4. 全文件替换所有匹配的内容,并要求确认

     :%s/old/new/gc

    在整个文件中替换所有的"old"为"new",并且每次替换前都会要求确认。

  5. 区间替换

     :10,20s/old/new/g

    只在第10行到第20行之间替换所有的"old"为"new"。

  6. 忽略大小写替换

     :%s/old/new/gi

    在整个文件中替换所有的"old"为"new",忽略大小写。

vim分屏显示

1、水平分割打开两个文件
 vim -o test1.txt test2.txt 
2、垂直分割打开两个文件
 vim -O test1.txt test2.txt

在这里插入图片描述

三、中途分屏打开新文件

我们先打开一个文件test1.txt

 vim test1.txt

如下 在这里插入图片描述

然后想中途分屏打开另一个文件test2.txt,此时在vim当前状态下,按Esc,然后输入:vs test2.txt,按回车,此时就可以以分屏的方式打开test2.txt 在这里插入图片描述

如果想水平分割打开,则用:sp test2.txt

四、中途创建空白分屏

vim当前状态下,按Esc,然后输入:new,按回车 如下 在这里插入图片描述

五、关闭分屏

vim当前状态下,按Esc,然后输入:only,按回车 如下 在这里插入图片描述 如果想退出某个分屏,则在那个分屏下,执行:q即可。

六、多个分屏之间切换

vim当前状态下,按Esc,然后按住CTRL不放,连按两次w,即可按顺序在分屏之间切换 如下 在这里插入图片描述 补充, [CTRL] [w] h 跳转到左边的窗口 [CTRL] [w] j 跳转到下边的窗口 [CTRL] [w] k 跳转到上边的窗口 [CTRL] [w] l 跳转到右边的窗口 [CTRL] [w] t 跳转到最顶上的窗口 [CTRL] [w] b 跳转到最顶下的窗口

其中[CTRL] [w]表示按住CTRL + w不放的意思。

vim报错E325

这就启发了我们,原来我们在编辑文件的时候,并不是对原有文件进行修改和覆盖的,而是新建一个副本,名字叫xx.swp,我们对文件的编辑都放在了这个副本里面,这也是为什么我们能进行撤销的原因,我们并没有对原有的文件进行修改。当我们正常退出时,这个文件就正常消失,而当我们异常退出时,这个文件就会作为隐藏文件,当我们下次启动vim时,它就会提示我们上次编辑时,有一个文件异常退出了,是否要进行恢复。也就是弹出E325错误。当我们异常退出时,这个隐藏文件会帮助我们还原到上次编辑的状态。也就相当于是一个自动保存的功能。

[O]pen Read-Only:以只读模式打开文件,这样你就可以查看文件的内容,但不能进行编辑。 (E)dit anyway:强制编辑文件,即使存在交换文件。这种情况下,交换文件将被忽略,但是如果有其他进程正在编辑同一个文件,可能会导致编辑冲突,因此要小心操作。 (R)ecover:恢复上一次编辑会话的内容,以免意外丢失更改。 (Q)uit:退出编辑器,不做任何更改。 (A)bort:放弃当前编辑会话,退出编辑器,并删除交换文件。

解决办法: 当我们知道了这个机制,我们就要考虑如何去解决这种问题。

(1)还原到上次编辑的状态,然后再删除掉.swp文件,做法:vim -r filename(你上次未保存的文件名),会出现以下界面

左侧会出现一个Recovery completed,告诉你文件已经还原到了上次编辑的状态,而右侧会多出一个swo文件,这个文件类似于swp用来保存你修改文件的副本,而swp文件是我们用来还原的副本。当我们还原之后,可以使用rm -f xx.swp 删除掉这个副本。

(2)当我们不需要还原的时候,只需要我们直接删除这个副本就可以了。利用rm命令直接删除这个副本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值