首页 > 其他分享 >Vim字符串替换的方法

Vim字符串替换的方法

时间:2023-12-12 17:22:06浏览次数:26  
标签:old vim 命令 字符串 new Vim 替换

本文转载自:Vim字符串替换详细指南_笔记大全_设计学院 (python100.com)

一、vim字符串替换命令

:%s/old/new/g

vim字符串替换是一个非常实用的功能,下面将从多个方面进行介绍,帮助你更加深刻地理解该功能,提高你的工作效率。

首先,我们来看一下vim字符串替换命令。上面这行代码是vim字符串替换命令的基本语法。其中,%代表全局搜索,s代表替换操作,old代表要替换的字符串,new代表替换后的字符串,g代表全局替换,也就是说每行都会进行替换操作。

二、vim替换字符前所有字符串

:s/^.*old/new/g

有时候我们需要替换字符串前的所有字符,那么该怎么做呢?这时就可以使用上面这行代码。其中,^.*代表字符串前的所有字符。

三、string字符串替换

:s/old/new/string

在进行vim字符串替换时,我们也可以只对某个特定的字符串进行替换操作,而不是全局替换。上面这行代码中的string就是要替换的特定字符串。

四、vim替换字符串

:s/old/new

根据上面的语法,这行代码代表只替换第一个匹配的字符串。如果我们想要替换每个匹配的字符串,需要在末尾添加g,即:

:s/old/new/g

五、vim替换字符串通配符

:s/old.\{-}new/new/g

在进行vim字符串替换时,我们也可以使用通配符来匹配特定的字符串。上面这行代码中,.\{-}代表匹配任意字符,且尽量少匹配,直到遇到new字符串。

六、vim替换字符串两种方式

在进行vim字符串替换时,我们有两种方式可以使用。第一种是在命令模式下直接输入替换命令,如上面我们介绍的例子。另外一种方式是在编辑模式下使用替换命令,具体步骤如下:

  1. 进入编辑模式,按下Esc键退出命令模式
  2. 按下:键,进入命令行模式
  3. 输入%s/old/new/g,回车

这两种方式各有优劣,可以根据实际情况选择使用。

七、vim批量替换字符串

:%s/old/new/gc

上面这行代码中,末尾的c参数代表询问替换,也就是说会在替换每个字符串时询问是否要进行替换操作。

八、vim替换指定行字符串

:10,20s/old/new/g

如果我们只想在指定的行范围内进行字符串替换操作,可以像上面这样使用行范围来指定。

九、vim怎么全部恢复被替换字符串选取

在进行vim字符串替换时,有时候我们会错误地替换某个字符串,这时需要将其恢复原样。可以按下u键撤销最近的操作,或者使用以下命令:

:undo

 

标签:old,vim,命令,字符串,new,Vim,替换
From: https://www.cnblogs.com/hxing/p/17897365.html

相关文章

  • url传参是接送字符串时,报400错误
    URL传递参数,参数是JSON字符串,将字符串拼在url?后,该url不识别,为什么会报400?当URL传递参数,参数是JSON字符串时,如果将字符串直接拼在URL后面,可能会导致URL无法正确识别,从而报400错误。这是因为URL有特定的字符限制和编码要求,而JSON字符串中可能包含URL不安全的字符,如特殊字符、空格、......
  • linux 中实现字符串的拼接
     001、简单测试[root@pc1test01]#str1=ab##测试字符串[root@pc1test01]#str2=xy[root@pc1test01]#echo$str1##测试字符串ab[root@pc1test01]#echo$str2xy[root@pc1test01]#str3="$str1$str2"##字符串拼接[root@pc1test01]#echo......
  • 谈谈企业级 Angular 应用的二次开发 - 基于 Angular Component 替换的 Extensibility
    我们知道面向个人用户(toCustomer,简称2C)软件和面向企业级用户(toBusiness,简称2B)的软件,在设计和实现上都存在一些区别,比如个人软件通常注重直观的用户界面和简单易用的设计,其中用户体验是关键,因为个人软件的目标是满足个人用户的需求和偏好。想想我们每天都在刷的抖音和头......
  • postman 简单使用,设置全局请求头,登入后自动替换全局token
    postman简单使用,设置全局请求头,登入后自动替换全局token背景1.使用postman没次请求需要带上请求头(每个请求都加一下麻烦),2.token有过期时间,没次都要替换(人为替换全局变量麻烦),直接调用一下登入请求直接替换环境1.设置集合下面每个请求全局请求tokenpm.request.addH......
  • 原子替换和累积补丁 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/livepatch/cumulative-patches.html原子替换和累积补丁在livepatch之间可能存在依赖关系。如果多个补丁需要对相同的函数进行不同的更改,那么我们需要定义补丁安装的顺序。并且来自任何更新的livepatch的函数实现必须建立在旧的live......
  • C语言中小数转字符串
    小数转字符串写之前,先来看看标准C?1小数转字符串--标准C2小数转字符串--非标准C写之前,先来看看标准C?其实,很多时候我们都会混淆一个概念:标准C?这里简要分享下,标准C其实就是ANSIC标准,里面收纳了绝大部分函数,但是人们发现有些经常使用的API没有被收纳,比如今天的主题–小数转字符串,所......
  • 【新工具】从零配置Vim+Latex提升写作效率(Windows)
    1.首先安装gvimwelcomehome:vimonline2.接着安装vimplugGitHub-junegunn/vim-plug::hibiscus:MinimalistVimPluginManager或终端直接运行iwr-usebhttps://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim|`ni$HOME/vimfiles/autoload/plu......
  • (C语言)关于printf的新发现: 可以用字符串变量替代第一个字符串参数
    chara[]="hello%d\n%dworld";printf(a,2,3);//输出://hello2//2world事情的起因是使用printf("\033[0;47;30m");改变命令行字体背景和颜色的时候,室友提起能否让用户改变字体颜色。因为那需要改变printf("");里双引号中的内容,我就下意识觉得不行,但又转念一想,想到了这种......
  • 【C系列5.4】指针专题之分割字符串(strtok与gets的应用)(hznuoj)
    Description Alex的好朋友都去生猴子了,所以她只好百无聊赖地继续玩字符串游戏。输入一个长度不超过10000的字符串,字符串中只含字母和空格,空格用于分隔单词,请将字符串中用空格分隔的单词输出来。 Input 输入含多组测试数据,每组占一行,是一个长度不超过10000的字符串,只含字......
  • 在使用strlen() 函数判断一个字符串长度后重新开辟一个内存存放时要+ 1
    typedef struct{    char *id;    char *name;    int score1;    int score2;    int score3;} Stu;intmain(){Stu*stutmp=(Stu*)malloc(sizeof(Stu));if(stutmp==NULL){returnNULL;}charidtmp......