在Linux系统下,Vi命令模式和编辑模式怎么切换

ESC键离开当前界面。

冒号进入命令行。

输入“I”进入编辑模式。

例如,这在 VS Code 中使用。

ESC 退出编辑模式。

Windows系统是这样工作的。

这取决于具体项目。

我不确定,但这就是经验。

Linux中vi的查找、替换、删除操作

搜索操作:
向下搜索:/abc Enter
搜索:?abc 输入
转到下一点:n
转到上一点:N
检查第一个 abc:/^abc 并按 Enter
检查行尾 test:/test$ 并按 Enter
搜索整个单词abc:/\替换操作:
当前行开始::s/vivian/sky/
当前行::s/vivian/sky/g
n 行结束::n,$s/vivian/sky/
N 行到末尾::n,$s/vivian/sky/g
第一个文件::%s/vivian/sky/
完整文件::%s/vivian/sky/g
分隔符::svivian/sky/
删除操作:
删除特定字符::%s/^V^M// (Ctrl+V Ctrl+M)
删除单行:d
删除多行:选择V行然后d
/m/M/v/V 修改规则:
默认魔法模式
行范围,$从现在到结束都是有限的
你自己看看。

如何在 Vim/Vi 中快速查找和替换文本内容

说白了,Vim 的搜索和替换就是用斜杠分隔表单,并添加范围和选择控件——其实很简单。

我们先来说说最重要的事情。
替换当前行的单个匹配项;使用 s/foo/bar。
在全球范围内替换它;添加g,例如s/foo/bar/g。
去年这个项目实施了,有3 000条线。
我们使用 %s/old/new/g 直接删除所有旧线程,速度是脚本的两倍。
还有一点距离是。
$(当前行到结束)或精确范围 3 ,1 0 即可。
我一开始以为 3 -1 0 会起作用,但尝试之后我意识到我需要用逗号分隔它们。

还有一个更重要的细节。
正则表达式必须包含斜杠,例如 /^\s/g,以删除字符串开头的空格。
说实话,这很复杂。
你可以通过使用/foo\c来忽略该事件,但是很多人并不关心这个\c。
还有一件事您需要使用像 这样的尖括号来替换整个单词以进行匹配。

用行话来说,这称为雪崩效应。
事实上,前面的一点点延迟都会影响后面的一切;所以运行大文件时-I参数最好添加建议在上传生产代码之前在 /tmp 中运行几行以确认没有问题。