vim查找替换

Vim查找与替换命令大全详细介绍 Vim替换命令的基本语法是:[range]s[ubstitute]/{pattern}/{string}/[flags]。其中,[range]表示替换的范围,{pattern}表示要查找的模式,{string}表示要替换的字符串,[flags]表示一些特殊的标志。此外,Vim还支持一些特殊的替换技巧,如使用正则表达式进行复杂模式的匹配和替换、利用子匹配进行更精确的替换等。这些技巧可以根据具体的需求进行学习和应用。总的来说,Vim的查找和替换功能非常强大且灵活,掌握这些命令可以大大提高文本编辑的效率。 阅读详情

VIM是被誉为非常高效的文本编辑软件。但是掌握并高效的使用是件有难度的事情。在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法。下面是我在阅读VIM用户手册时整理的一些资料:

 

  1. 行内搜索。
    1. f命令可以进行行内搜索。输入fx可以找到下一个x字符。
    2. F命令可以在反方向进行行内搜索,输入Fx可以找到上一个x字符。
    3. t命令同样是进行行内搜索,但是光标停留在符合条件的字符的前面。输入tx使光标停留在下一个x字符的前面。
    4. T命令可以在反方向进行行内搜索,但是光标停留在符合条件的字符的下一个字符上。输入tx使光标停留在上一个x的后面的字符上。
    5. %可以搜索与之匹配的对应的()[]{}。这个功能对于书写程序特别有用。
  2. 全文的搜索。键入/后,光标进入VIM底部的命令行,这时就可以输入以/为开始的/搜索命令了。
    1. 最简单的查找。输入/string就可以查找string字符串。
    2. 继续查找。在第一次搜索后输入n将会继续进行上一次搜索,如果输入3n那么会找到后面第三个符合的字符串。大写的N会在反方向,也就是向上进行搜索。
    3. 向上搜索。输入?可以向上搜索。随后的n命令将会继续向上搜索,N向下搜索,其他和/一样。
    4. 对大小写的匹配。
      1. 在命令行输入:set ignorecase可以设置搜索以忽略大小写的方式进行。输入:set noignorecase可以设置搜索以匹配大小写的方式进行。默认的,将匹配大小写。这个默认设置可以在.vimrc中修改。
      2. 大小写智能匹配模式。输入命令:set ignorecase smartcase可以设置为智能大小写匹配模式。在这种模式下,如果你输入的字符串中至少包含一个大写字母,那么就会以大小写敏感模式进行搜索,否则以忽略大小写模式进行搜索。
      3. 在搜索命令中指定大小写。在几种大小写搜索模式中进行转换总要输入长长的一串指令,如果需要不断地转换模式,确实有些麻烦。所以你可以直接在搜索命令中指定大小写匹配模式。/c表示忽略大小写,而/C表示对大小写敏感。
    5. 查找当前词。一个简单的方法可以让你查找下一个和当前词一样的词,你不比输入/currentword,你可以直接按下*就可以查找下一个currentword。#可以让你向上查找同一个单词。
    6. 调整查找后的光标位置。
      1. 使用/string/3会使在光标转到找到string字符串的行下面的第3行。第1行从包含string的行算起。同样可以使用/string/-2来使光标停留在包含string的行的前面2行。
      2. 使用/string/e可以使光标停留在string字符串的末尾而不是默认的第一个字符位置。/string/b则表示停留在string第一个字符的位置,不过默认就是如此,我们不比多此一举。但是/string/b+2却可以使光标停留在string字符串的第二个字符的位置,这里是r。在e或者b的后面+或者-数字,可以进一步调整光标的位置。
    7. 特殊字符。在搜索命令中,  .*[]^%/?~$这10个字符有着特殊意义,所以在使用这些字符的时候要在前面加上一个反斜杠/。而/e表示<esc>;/t表示<tab>;/r表示<cr>;/b表示<bs>。
    8. 匹配换行或空格。使用/n可以表示一个换行;而/s表示匹配空白,注意是空白不是空格。/_s表示匹配换行或者空格;/_a表示匹配换行或者一个字母。比如:/the/nword查找以the结束并且下一行以word开始的行的位置。/the/_sword查找the和word之间以空白或者换行分割的位置。/the/_s/+word表示the和word之间可以有多个空白。/+的含义可以在后面找到。
    9. 限定词首或者词尾。/<可以限定找到是以指定字符串开始的单词。比如//<the可以找到以the开始在字符串,但是会忽略在单词中间包含the的字符串。而/>则是限定必须是以指定字符串结尾的单词。
    10. 行首和行尾。输入/^string查找以string开始的行,并且光标停留在这个string的第一个字符。输入/string$则查找以string结束的行,并将光标停留在这个string的第一个字符。这个模式不会忽略前导或者后置的空格。
    11. 匹配任何一个字符。句号.可以匹配任何一个字符。例如/t.e可以找到the或者tae或者tue。
  3. 更加复杂的匹配模式。实际上,/搜索可以使用非常复杂的匹配模式。下面列出了其中一些复杂的匹配模式。
    1. 可重复的字符。
      1. 使用*表示它前面的字符可以重复多次或者0次。比如/be*可以匹配b,be,bee,beee等等。但是这也会包含b,因为e重复0后是空。如果要匹配诸如be,bebe,bebebe的字符串可以使用/(和/)把他们包括起来,形如://(be/)*。
      2. 使用/+来限定为重复至少一次到无数次。如:/be/+可以匹配be,bee,bee等等。
      3. 重复0次或者一次。/=可以指定重复0次或者一次。/strings/=表示匹配string或者strings。这在查找单词的复数形式特别有用.
      4. 指定重复的次数。/{n,m}可以指定重复n到m次。比如:/be/{2,4}将会匹配bee,beee,beeee。同样可以使用/{,4}表示匹配0到4次;/{4,}表示4次到无数次;/{4}表示重复4次。
    2. 匹配列表中的一个。使用一个以/|分割的列表,可以表示匹配列表中任何一项。比如/one/|two表示查找one或者two;/one/|two/|three表示查找one或者two或者three。
      1. 一个复杂的实例:/end/(if/|while/|for/)将会查找endif,endwhile以及endfor。
      2. 字符列表。使用[0-9]可以表示一个0到9范围的字符。比如/string[1-5]表示查找string1,string2,string3,string4,string5。当然也可以使用[a-z]表示字符a到z中间的一个。
      3. 特殊的字符集合。使用/d也可以表示0到9的数字,这个选项可以代替[0-9]。/D表示非数字代替[^0-9];/x表示十六进制数代替[0-9a-fA-F];/X表示非十六进制数代替[^0-9a-fA-F];/s表示空白字符代替[ ] (<Tab> 和<Space>);/S表示非空白字符代替[^ ] (除<Tab> 和<Space>之外);/l表示小写字母代替[a-z];/L表示非小写字母代替[^a-z];/u表示大写字母代替[A-Z];/U表示非大写字母代替[^A-Z]
  4. 搜索并替换。输入:[range]s/from/to/[flags]命令可以搜索匹配的字符串并且替换为指定的字符串。这是一个稍微复杂的命令。其中[range]是一个可选项,用来指定搜索替换的范围。[flags]也是一个可选项,用来指定搜索替换的处理方式。所以这个命令的简单形式是:s/from/to/。
    1. 搜索替换的范围。如果没有指定范围,则只在当前行进行搜索替换。
      1. 在所有行进行搜索替换。范围符号%表示在所有行进行搜索替换。:%s/from/to/就是在全文查找from并替换为to。
      2. 在指定的行上进行搜索替换。:1,50s/from/to/表示在第1行和第50行之间(包括1和50行)进行搜索和替换。:45s/from/to/表示仅仅在第45行进行搜索和替换。而"1,$"行号范围和“%“是等价的。
    2. 处理方式。我现在使用的VIM默认的方式是无须确认。不过好像不同版本的默认的处理方式是不同的。
      1. 无须确认。方式符号g表示直接替换无须进行确认。:%s/from/to/g表示在全文中查找from并且直接全部替换为to。
      2. 列印。处理方式符号p表示在替换时列出每个被改变的行。手册中这么说,但是实际效果却让我很迷惑。
      3. 确认后处理。处理方式符号c表示在进行替换前需要用户进行确认。这时你可以选择(y/n/a/q/1/^E/^Y):y表示同意当前替换;n表示不同意当前替换;a表示替换当前和后面的并且不再确认;q表示立即结束替换操作;1表示把当前的替换后结束替换操作;^E向上滚屏^Y向下滚屏,用来帮助查看前后内容以决定进行操作。
科研党必备:Python脚本批量下载DOI文献的保姆级教程(附避坑指南) 本文为科研人员提供了一份详细的Python脚本批量下载DOI文献的教程,涵盖环境配置、核心功能实现、性能优化及常见问题解决。通过自动化脚本,研究者可高效完成文献批量下载,显著提升科研工作效率,特别适合需要处理大量文献的研究团队使用。 阅读详情

相关推荐

RI-CLPM vs CLPM:什么时候该用随机截距交叉滞后模型?

本文深入对比了交叉滞后模型(CLPM)与随机截距交叉滞后模型(RI-CLPM)的核心差异与应用场景。RI-CLPM通过分离个体间稳定特质与个体内动态波动,能更纯净地估计变量间的动态因果关系,避免CLPM可能存在的混淆。文章提供了清晰的模型选择决策框架,并辅以Mplus语法示例,帮助研究者根据变量特质稳定性与研究问题,正确选用模型以确保结论的严谨性。

weixin_29276847的博客 306

vim/gvim: 文本搜索和替换命令和常用技巧例

vim/gvim: 文本搜索和替换命令和常用技巧例。。。可用用鼠标操作,也可以按Ctrl+V,然后用导航键(navigation key,即四个箭头键)进行范围选中。可以键入“:s”以查询当前编辑会话期间所有替换命令,用up/down来选定,然后回车即可重复执行。还可以用+和-来表示基于前一个行号指示,指定第2个行号指示相对于前一个的偏移值。反之,在pattern后面加上“\C”,ze表示要求区分大小写。在以上例中,"%"表示指定整个文件作为操作范围,即%与g结合表示对整个文件进行全局替换。

chenxy_bwave的专栏 3万+

别再死磕USB HID了!用ESP32的Arduino框架手把手教你实现蓝牙鼠标键盘(附完整代码)

本文详细介绍了如何使用ESP32的Arduino框架实现蓝牙HID设备,包括鼠标和键盘的快速开发。通过现成的库和示例代码,开发者可以轻松打造自定义蓝牙外设,无需复杂的USB HID协议栈,适用于演示控制器、宏键盘等多种场景。

weixin_31309419的博客 261

vim编辑器下常用搜索技巧

vim下快速搜索

MABOS的博客 2万+

峰岹FU6832L双核电机控制芯片实战:从FOC算法到BLDC/PMSM驱动开发

在嵌入式系统和电机控制领域,磁场定向控制(FOC)是实现无刷直流电机(BLDC)和永磁同步电机(PMSM)高效、平稳运行的核心算法。其原理是通过坐标变换将三相交流量分解为直流量,实现类似直流电机的转矩与磁场解耦控制,从而提升效率、降低噪音与振动。这项技术的工程价值在于能以更低的处理器开销实现高性能驱动,广泛应用于消费电子、工业自动化与智能家电。本文以峰岹FU6832L芯片为例,深入解析其独特的双核架构——将实时性要求极高的FOC运算交由专用硬件引擎处理,解放主控CPU处理应用逻辑,并结合PID参数整定、电流

weixin_29570795的博客 515

PSCAD通过python调用自动化库的实现

带有python脚本的pscad自动化PSCAD通过python调用自动化库的实现前期准备实现 PSCAD通过python调用自动化库的实现 在网上搜了一圈没有找到,通过油管的一个视频学到了,这里分享一下。 前期准备 下载PSCAD 在官方文档中建议PSCADV4.6.1及以上版本 下载python python这里没注明哪些版本可用,博主下载了最新的3.8.2使用正常。 下载IDE py...

橙子的博客 5915

Vim学习四之命令操作范围

目录背景使用方法范例 背景 Vim 大部分命令默认只作用于当前行,只有 :write 命令和 :global 命令默认作用于文件所有行 (原创自Vim教程网(https://vimjc.com))。 但很多 Vim 命令都可以加一个行号数字(用于指定某一行)或一对通过 , 或 ; 分割的行号来指明文件范围,扩大命令操作范围。 使用方法 Vim 操作范围的表示方法为: . 表示当前行, $ 表示结束/行尾, % 表示所有行, n,m 表示第n到m行; 再加上+ 和 -,可灵活表示当前 Vim 打开文件的任意

legend050709的专栏 836

(P2)PALM软件的基本使用流程

上一篇介绍了PALM在Ubuntu系统上的下载安装及安装后的目录文件结构,这一篇以自带的案例介绍软件的基本操作流程。(请转至example_cbl项目) 输入 声明:官网均有各个变量的说明,以下代码来自软件自带案例 palm的最小输入文件是p3d文件,以下是example_cbl_p3d的详细说明。(文件语言格式Fortran,请自行先学习下语言的基本语法。笔者也是新学者,有非常多的问题,很多参数也不能准确的说出是什么意思,还请不吝赐教,谢谢!!!) !几点说明 !1、该运行文件基本由三大块组成:1)in

ysqzhatian的博客 3260

Vim的使用 区域选择

1、Visual Block 区域选择,这里的Visual表示视觉,图像,可视化。2、    小写v:字符选择    shift+v(大写V):行选择              ctrl+v:矩形选择      从上到下,选择的区域越来越大。三个模式之间可以任意切换,重复命令就是退出。3、Vim包括一般模式,插入模式,命令模式,区域选择在一般模式下,选择的区域包括固定黑色,闪动黑色,闪动黑色表示光...

weixin_33721427的博客 1116

功能安全实战系列07-英飞凌TC3xx电源监控开发详解

本文对电源监控(PBIST及MONBIST)开发介绍,步骤详细配合开发中的测试情况,图文并茂,方便理解。

initiallizer的博客 1110

【AI大模型:前沿】44、大模型+机器人:从自动化工具到通用智能体的技术革命与应用全景

大模型与机器人的融合催生了“具身智能体”,突破传统机器人智能化缺失、功能单一等瓶颈。大模型赋予机器人三大能力:常识推理(如热牛奶需去包装)、模糊指令解析(如“整理书桌”拆解步骤)、零样本任务泛化(如搭乐高桥)。技术实现上,通过多模态融合(视觉-语言-动作)、仿真训练(虚拟试错)和实时反馈(动态调整动作)形成闭环。主流框架如Google RT-2(端到端动作生成)、斯坦福Q-Transformer(强化学习优化)和Figure 01(ChatGPT驱动人形机器人)各具优势,可适配工业、家庭等场景。该技术正重塑

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 2020

vi/vim 文件查找与替换

vim有着强大的替换和查找功能,若能进行熟练的运用,可以让工作效率得到一个很大程度的提高. 替换 语法:[addr]s/源字符串/目的字符串/[option] [addr]表示检索范围,如: "1,n":表示从第1行到n行 "%":表示整个文件,同"1,$" ".,$":表示从当前行到文件尾 [addr]省略时表示当前行 s:表示替换操作,其为substitute的缩写 [optio...

cbaln0的博客 11万+

【开源电机驱动】位置环控制

这是三闭环里的最后一个:位置闭环控制。如果你认真的阅读并推导了前章节,那么这一节将会很好理解。一如既往,我会使用简练的语言来描述复杂的问题。本章节主要涉及位置环的一些概念,以及控制框图。文章不会涉及具体的代码。

BadBoyHolly的博客 6097

vim中的查找与替换

在一般的编辑器中都有查找和替换的功能,vim中也同样有。vim中的相关功能怎么使用?

u011489186的博客 5287

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Vim查找替换

1、查找 /pattern :向下查找pattern匹配字符串 ?pattern:向上查找pattern匹配字符串 使用了查找命令之后,使用如下两个键快速查找: n:按照同一方向继续查找 N:按照反方向查找 除此之外,pattern还可以使用一些特殊字符,包括(/、^、$、*、.),其中前三个这两个是vi与vim通用的,“/”为转义字符。 在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如: /foo\c将会查找所有的"foo",“FOO”,"Foo"等字符串 1: /^abc

Alex_XT的博客 2542

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

在 Vim 中优雅地查找和替换

转自:总有人问我 Vim 中能不能查找,当然能!而且是超级强的查找!这篇文章来详细介绍 Vim 中查找相关的设置和使用方法。包括查找与替换、查找光标所在词、高亮前景/背景色、切换高亮状态、大小写敏感查找等。

ppzzgg666的博客 2280

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【Vim】查找与替换

Vim日常命令:查找与替换!

成长记录——编程、跑步、阅读、未来…… 2683

vim中替换与查找命令

Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim\$匹配"vim$"。 注意查找回车应当用\n,而替换为回车应当用\r(相当于<CR>)。 在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如: /foo\c 大小写敏感配置 Vim 默认采用大小写敏感的查找,为了方便我们常常将其配置为大小写不敏感: " 设置默认进行大小写不敏感查找 set ignorecase " 如果有一个大写字母,则切换到大..

regnarts00的博客 1394

vim查找和替换详解

1、vim 单文件中查找方法 正常模式下使用 / 或 ? 命令执行向后搜索或向前搜索 /love 从光标位置向前搜索关键词 love ?love 从光标位置向后搜索关键词 love 正常模式下使用 n 或 N 命令执行 向前查找 或 向后查找 下一个关键词 :set ic 忽略大小写命令,ic 为 ignore case 缩写 :set is 边输入边显示匹配结果,is 是 incs

zcube的技术博客 2万+

vim 查找 替换 用法

查找 1 vim a1.txt (含有字符串"data") 2 点击/,输入关键字, 3 点击enter或者esc 4 点击n是查找下一个,点击N是查找上一个,页面会显示成"?data" :set ignorecase ,忽略大小写,输入/DATA能查到data :set noignorecase,大小写敏感,不忽略大小写,输入/DATA不能查到data 替换 :[rang...

Top5软件工程硕士,先后在京东、字节从事多年Java后端开发、实时和离线大数据开发 1112

vim 查找替换操作命令

1,查找 在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。 Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim$匹配"vim$"。 2,大小写敏感查找 在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如: /foo\c 将会查找所有的"f...

_ZeroKing的博客 1822

VIM中如何进行查找和替换

VIM中字符串的查找和替换

rickzzz16的博客 3万+

vim全局,局部查找 替换字符串

查找 在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。 Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim\$匹配"vim$"。 注意查找回车应当用\n,而替换为回车应当用\r(相当于)。 大小写敏感查找 在查找模式

前进的IT人 3159
上一篇: VIM 快速编辑示例
下一篇: 取得下个月最后一天的日期
sun488939
博客等级 码龄17年 5粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值