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 
  
  如果上述方法无用,则正确的解决办法是:
[Page]
  
  。 tr -d \"\\r\" < src
>dest 
  
  。 tr -d \"\\015\"
dest 
  
  。 strings
A>B 
      6.
替换确认
        
我们有很多时候会需要某个字符(串)在文章中某些位置出现时被替换,而其它位置不被替换的有选择的操作,这就需要用户来进行确认,vi的查找替换同样支持
      
例如
      :s/vivian/sky/g 替换当前行所有 vivian
为 sky 
     
在命令后面加上一个字母c就可以实现,即:s/vivian/sky/gc
     
顾名思意,c是confirm的缩写
  
  7.
其它 
  
  利用 :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
放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作

时间: 2024-08-06 23:47:59

vim中替换命令(转)的相关文章

vim中替换命令

在VIM中进行文本替换: 1.  替换当前行中的内容:    :s/from/to/    (s即substitude) :s/from/to/     :  将当前行中的第一个from,替换成to.如果当前行含有多个 from,则只会替换其中的第一个. :s/from/to/g    :  将当前行中的所有from都替换成to. :s/from/to/gc   :  将当前行中的所有from都替换成to,但是每一次替换之前都 会询问请求用户确认此操作. 注意:这里的from和to都可以是任何字

vim全局替换命令

语法为 :[addr]s/源字符串/目的字符串/[option] 全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行. 如:“1,20” :表示从第1行到20行: “%” :表示整个文件,同“1,$”: “. ,$” :从当前行到文件尾: s : 表示替换操作 [option] : 表示操作类型 如:g 表示全局替换; c 表示进行确认 p 表示替代结果逐行显示(Ctrl + L恢复屏幕): 省略option时仅对每行第一个匹配串进行替换: 如果在源字

再谈Vim substitute替换命令

在Vim替换命令一文介绍过,substitute 命令的语法格式为::[range]s[ubstitute]/{pattern}/{string}/[flags]. [flags] 表示可选的标志位,常用的包括 g.c.n.e 等.其中,标志位 g 使得 substitute 命令可以修改一行内的所有匹配,而不仅仅是第一处匹配:标志位 c 可以确认或拒绝每一处修改:标志位 n 让 Vim 不执行替换操作,而只是统计和显示本次 substitute 命令匹配的个数:标志位 e 专门用于屏蔽错误提示

vim字符串替换命令

呜呜老是忘. 这里记录一下,只记录其中日常用的最多的命令. :%s/str1/str2/g   替换每一行中所有str1为str2 常用! :s/str1/str2/g 替换当前行所有str1为str2 其他一大堆的东西参见:http://blog.csdn.net/gqb_driver/article/details/8771205

Vim 字符串替换命令

命令模式下输入如下命令可实现替换: s/str1/str2/ 替换当前行第一个 str1 为 str2 s/str1/str2/g 替换当前行中所有的 str1 为 str2 m,ns/str1/str2/ 替换第 m 行到第 n 行中每一行的第一个 str1 为 str2 m,ns/str1/str2/g 替换第 m 行到第 n 行中所有的 str1 为 str2 %s/str1/str2/ 替换文中每一行的第一个 str1 为 str2 %s/str1/str2/g 替换文中所有的 str1

复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符及在vim中设置tab缩进为4个字符

1.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符 在命令模式下,使用正则表达式匹配 行首有空白字符行的模式:^[[:space:]]*\([^[:space:]]*\),输出命令 %s#^[[:space:]]*\([^[:space:]]*\)#\1#g1 2.vim中设置tab缩进为4个字符 vim .vimrc 输入 set tabstop=4 原文地址:https://www.cnblogs.com/mwd-123/p/

Vim 替换命令

一,":substitute"的使用 :substitute 命令可以对一个指定范围的区域执行替换操作,可以简写为:s ,它的通用形式如下: :[range]substitute/from/to/[flags] 该命令是有[range]指定范围中字符串"from"替换为"to"; 例如文本的每一行中第一次出现"linux"替换为"FreeBSD": :%s/linux/FreeBSD/ 注意:这里最后面没有

VIM替换命令

在VIM中进行文本替换: 1.  替换当前行中的内容:    :s/from/to/    (s即substitude) :s/from/to/     :  将当前行中的第一个from,替换成to.如果当前行含有多个 from,则只会替换其中的第一个. :s/from/to/g    :  将当前行中的所有from都替换成to. :s/from/to/gc   :  将当前行中的所有from都替换成to,但是每一次替换之前都 会询问请求用户确认此操作. 注意:这里的from和to都可以是任何字

vim 查找和替换命令 替换/n和\n

一. 字符串的查找 1. vim 中用 / 和 ? 来查找字符串,两者的区别是: /string 会高亮显示光标后匹配的第一个字符串,回车后光标移到该字符串的第一个字母: ?string 会高亮显示光标前匹配的第一个字符串,回车后光标移到该字符串的第一个字母. 在回车之后,按n键同方向转到下一个匹配的字符串,按N键反方向转到上一个匹配的字符串. 2. 用命令 :set ic 和 :set noic 来分别设置查找时不区分和区分大小写. 如果查找特殊字符,如 ^.$.*./ 和 .,需要在前面加