首页 > 编程知识 正文

linux命令vim什么意思,vim 查找替换

时间:2023-05-06 03:52:22 阅读:18373 作者:882

什么是vim?

Vim是一个著名的强大、高度可定制的文本编辑器,如Vim,基于Vim改进和添加了许多特性。 虚拟机是自由软件。

虚拟机通常被推荐为Vi类编辑器中的最佳版本之一,实际上真正的强敌来自Emacs的不同变体。 1999年Emacs被选为Linuxworld文本编辑部门冠军,Vim屈居第二。 但是,2000年2月,Vim获得了Slashdot Beanie最佳开源代码文本编辑器大奖,将Emacs推上了双线。 总的来看,Vim和Emacs在文本编辑方面非常出色。

在vi/vim中,可以使用:s命令代替字符串

:s/vivian/sky/用sky替换当前行中的第一个vivian

:s/vivian/sky/g用sky替换当前行中的所有vivian

:n,将$s/vivian/sky/从第一行开始到最后一行每行中的第一个vivian替换为sky

:n,$s/vivian/sky/g用sky替换从第n行开始到最后一行的所有vivian

n是数字,如果n是.则表示从当前行到最后一行

将3360 % s/vivian/sky/(等效于: g/vivian/s//sky/)每行中的第一个vivian替换为sky

3360 % s/vivian/sky/g (与: g/vivian/s//sky/g等效)用sky替换每行中的所有vivian

可以使用#作为分隔符。 在这种情况下,中心显示的/不用作分隔符

:s#vivian/#sky/#将当前行的第一个vivian/转换为sky/

3360 % s/oradata/apras//use r01/apra S1 (替换用) )/Oradata/apras/替换用/user01/apras1/

1.

:s/vivian/sky/用sky替换当前行中的第一个vivian

:s/vivian/sky/g用sky替换当前行中的所有vivian

2.

:n,将$s/vivian/sky/从第一行开始到最后一行每行中的第一个vivian替换为sky

:n,$s/vivian/sky/g用sky替换从第n行开始到最后一行的所有vivian

(n是数字,如果n为.则表示从当前行到最后一行) ) ) ) )。

3.

将3360 % s/vivian/sky/(等效于: g/vivian/s//sky/)每行中的第一个vivian替换为sky

3360 % s/vivian/sky/g (与: g/vivian/s//sky/g等效)用sky替换每行中的所有vivian

4.

可以使用#作为分隔符。 在这种情况下,中心显示的/不用作分隔符

:s#vivian/#sky/#将当前行的第一个vivian/转换为sky/

5.

从文本中删除^M

问题说明:对于换行,在window中用换行(0A0D )表示,在Linux中用换行(0A )表示。 因此,在将窗口上的文件复制到Unix上使用时,必须有^M。 请编写用于过滤Unix下windows文件中换行符(0D )的shell或c程序。

使用命令: cat filename1| tr-d“^ v ^ m”new file;

使用命令: sed-e“s/^ v ^ m//”filenameoutputfilename。 需要注意的是,在1、2两种方法中,^V和^M是指Ctrl V和Ctrl M。 必须用手输入,而不是粘贴。

在VI中处理:首先使用VI打开文件,然后按ESC键,然后输入命令。 %s/^V^M//。

:%s/^M$//g

如果上述方法没有用,正确的解决方案如下。

tr -d 'r' src dest

tr -d '15' dest

strings AB

6.

其他

可以使用:s命令替换字符串。 具体使用方法如下

将:s/str1/str2/行中首次出现的字符串str1替换为字符串str2

:s/str1/str2/g用字符串str2替换行中出现所有字符串str1

:$ s/str1/str2/g用字符串str2替换正文中从当前行到末尾出现的所有字符串str1

:1,$ s/str1/str2/g用字符串str2替换正文中出现的所有字符串str1

:g/str1/s//str2/g功能相同

从上面的替换命令可以看出,g位于命令的末尾,表示每次出现搜索字符串都会被替换; 如果不加g,则仅搜索

替换字符串的第一个出现; g位于命令的开头,表示将替换正文中包含搜索字符串的所有行。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。