vim替换命令

原创 2012年03月27日 08:31:50

vim 查找替换

vi/vim 中可以使用 :s 命令来替换字符串

:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

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

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

n 为数字,若 n 为 .,表示从当前行开始到最后一行

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

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

1.

:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

2.

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

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

(n 为数字,若 n 为 .,表示从当前行开始到最后一行)

3.

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

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

4.

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

5.

删除文本中的^M

问题描述:对于换行,window下用回车换行(0A0D)来表示,Linux下是回车(0A)来表示。这样,将window上的文件拷到Unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。

· 使用命令:cat filename1 | tr -d “^V^M” > newfile;

· 使用命令:sed -e “s/^V^M//” filename > outputfilename。需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。

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

· :%s/^M$//g

如果上述方法无用,则正确的解决办法是:

· tr -d "\r" < src >dest

· tr -d "\015" dest

· strings A>B

6.

其它

利用 :s 命令可以实现字符串的替换。具体的用法包括:

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

: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 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

版权声明:本文为博主原创文章,未经博主允许不得转载。

vim替换命令基本使用方法.

vim用命令s替换文件中的字符。 s的使用如下 :s/str/rep    #替换当前行的第一个str s为命令字符/是分隔符,主要意思是把当前行的第一个str替换为rep ...
  • head_main
  • head_main
  • 2012年07月19日 11:48
  • 820

Linux-vim替换命令

写代码时,难免需要替换一些字符串,vim的替换命令如下:#替换每一行的第一个a :%s/a/b/ #全部替换 :%s/a/b/g #替换/时需要转义"\/"...
  • u014540717
  • u014540717
  • 2016年12月16日 12:42
  • 1178

vim-3 粘贴命令、替换命令、替换模式和修改命令

1、粘贴命令 1)使用p命令可以将最后一次删除的内容粘贴到光标之后。(大写的P则是粘贴到光标之前)。 注意: ——如果你需要粘贴的是整行为单位,那么p命令将在光标的下一行开始粘贴; ——如果你...
  • AlvinPanda
  • AlvinPanda
  • 2017年01月11日 21:56
  • 1019

vi vim 查找和替换字符串 命令

一、vi查找:           当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找,不过没关系,你在命令模式下敲斜杆(/)这时在状态栏(也就是屏幕...
  • doubleface999
  • doubleface999
  • 2017年02月19日 09:15
  • 1552

【vim】全局替换时确认选项

:1,30s/his/the/gc 末尾的c代表确认的意思,在进行每一次替换时会询问是否替换...
  • shuhuai007
  • shuhuai007
  • 2013年02月26日 16:11
  • 969

学习vi和vim编辑器(8):全局替换(1)

本章学习vi编辑器中的全局替换命令。通过全局替换命令,可以自动替换文件中所有出现过的某个单词。全局替换一般会用到两个ex命令:" :g "(global,全局)," :s "(substitute,替...
  • fuchencong
  • fuchencong
  • 2014年12月27日 14:42
  • 3131

Vim命令小结-指定词统计和提取指定词(正则表达式)

最近在做基于Nutch网络爬虫爬取数据及一些数据处理的内容,涉及到在网络爬虫爬取到的HTML文件中提取一些用户名,之前想的一直是导入数据库再进行操作,从而忽略了强大的Vim。         问题来源...
  • u013828730
  • u013828730
  • 2014年03月19日 17:15
  • 1586

Linux-Vim编辑器之查找与替换

一字符的替换及撤销Undo操作 二快速缩进及调整文本位置 三字符查找 一、字符的替换及撤销(Undo操作) - Change Delete Ya...
  • bananasssss
  • bananasssss
  • 2016年09月18日 14:55
  • 1121

Linux vi/vim替换命令的使用说明

vi/vim 中可以使用 :s 命令来替换字符串。 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sk...
  • superbfly
  • superbfly
  • 2015年05月08日 10:38
  • 1054

Vim的替换操作

描述 Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。作为一个风靡世界、粉丝...
  • alex_xhl
  • alex_xhl
  • 2012年01月31日 10:09
  • 4383
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vim替换命令
举报原因:
原因补充:

(最多只允许输入30个字)