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

说白了,Linux中的vi编辑器是个强大的文本编辑工具,它的查找、替换、删除操作其实很简单,但要注意几个关键点。

先说最重要的,查找操作。
向下查找,比如你想要找到字符串"abc",直接输入"/abc"然后回车,n键可以继续向下查找,N键则是反方向。
向上查找同理,输入"?abc"回车。
特殊字符查找也很实用,比如/^abc可以查找以"abc"开始的行,/test$则是查找以"test"结束的行。

另外一点,替换操作。
当前行替换,比如把当前行的"vivian"替换成"sky",输入:s/vivian/sky/,要替换所有,加个"g"。
多行替换和全文替换也是类似的逻辑,只是范围不同。
分隔符替换也很实用,比如用或+来避免误识别。

还有个细节挺关键的,删除操作。
比如处理Windows文件的换行符,可以使用:%s/^V^M//或:%s/^M$//g。
如果这些方法不行,还可以用tr命令。

我一开始也以为这些操作很复杂,后来发现其实只要掌握了几个关键命令,操作起来还是挺简单的。
等等,还有个事,使用正则表达式时要注意不同模式下的元字符规则,默认是magic模式。

最后提醒一下,保存和退出也很重要,wq保存并退出,q!放弃保存直接退出。
这些操作可以帮助你高效地使用vi进行文本编辑和处理。
你觉得这些操作中哪个最值得试试?

linux下vi命令修改文件及保存等使用方法整理

上周。
我那个朋友。
Linux下。
vi命令。
超实用的。

基本概念: 命令模式。
控制光标。
移动。
删除。
复制粘贴。
插入模式。
输入文本。
按Esc。
返回命令模式。
底线命令模式。
保存文件。
退出编辑器。
设置环境。

进入vi的命令: vifilename。
打开或新建文件。
光标第一行首。
vi+nfilename。
打开文件。
光标第n行首。
vi+filename。
打开文件。
光标最后一行首。
vi+/patternfilename。
打开文件。
光标匹配pattern处。
virfilename。
恢复上次编辑。
系统崩溃。
vifilename....filename。
打开多个文件。
依次编辑。

移动光标类命令: h。
光标左移一个字符。
l。
光标右移一个字符。
k或Ctrl+p。
光标上移一行。
j或Ctrl+n。
光标下移一行。
w或W。
光标右移至下一个字首。
b或B。
光标左移至上一个字首。
nG。
光标移至第n行首。
H。
光标移至屏幕顶行。
M。
光标移至屏幕中间行。
L。
光标移至屏幕最后行。
0。
光标移至当前行首。
$。
光标移至当前行尾。

屏幕翻滚类命令: Ctrl+u。
向文件首翻半屏。
Ctrl+d。
向文件尾翻半屏。
Ctrl+f。
向文件尾翻一屏。
Ctrl+b。
向文件首翻一屏。

插入文本类命令: i。
当前字符前插入文本。
I。
当前行首插入文本。
a。
当前字符后添加文本。
A。
当前行尾添加文本。
o。
当前行之下新开一行。
O。
当前行之上新开一行。

删除命令: ndw或ndW。
删除n个字。
do。
删至行首。
d$。
删至行尾。
ndd。
删除n行。
x。
删除光标后一个字符。
X。
删除光标前一个字符。

搜索及替换命令: /pattern。
向文件尾搜索。
?pattern。
向文件首搜索。
:s/p1 /p2 /g。
当前行替换。
:n1 ,n2 s/p1 /p2 /g。
n1 到n2 行替换。

最后行方式命令: :w。
保存文件。
:x。
保存并退出。
:q。
退出。
:q!。
不保存退出。
:n1 ,n2 con3 拷贝n1 到n2 行到n3 行下。
:n1 ,n2 mn3 移动n1 到n2 行到n3 行下。
:n1 ,n2 d。
删除n1 到n2 行。

寄存器操作: "nyy。
保存n行到寄存器n。
"np。
取出寄存器n内容放到光标处。

常用技巧: Ctrl+G。
显示行数列数。
:%s/string1 /string2 /g。
文件替换。
:3 ,7 s/string1 /string2 /。
第3 到7 行替换。
:n。
切换到下一个文件。
:N。
切换到上一个文件。

算了。
你看着办。