首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Vim中的正则表达式

在Vim中,正则表达式是一种强大的文本搜索和替换工具。它可以帮助你在文本中快速找到符合特定模式的文本,并进行替换。以下是Vim中正则表达式的一些基本用法:

  1. 搜索:

在Vim中进行正则表达式搜索,可以使用以下命令:

代码语言:txt
复制
/pattern

其中,pattern是你要搜索的正则表达式模式。例如,如果你想搜索所有以“foo”开头的单词,可以使用以下命令:

代码语言:txt
复制
/\<foo\w*
  1. 替换:

在Vim中进行正则表达式替换,可以使用以下命令:

代码语言:txt
复制
:%s/pattern/replacement/g

其中,pattern是你要替换的正则表达式模式,replacement是你要替换成的文本,g表示全局替换。例如,如果你想将所有以“foo”开头的单词替换为“bar”,可以使用以下命令:

代码语言:txt
复制
:%s/\<foo\w*/bar/g
  1. 分组:

在正则表达式中,可以使用括号()来对一段文本进行分组。这样,你可以在替换时使用\1\2等变量来引用分组中的文本。例如,如果你想将所有以“foo”开头的单词替换为“bar”,并保留原单词中的“o”字母,可以使用以下命令:

代码语言:txt
复制
:%s/\(f\)\(oo\)/\1\2\1\2/g
  1. 其他常用正则表达式元字符:
  • .:匹配任意单个字符。
  • *:匹配前面的字符0次或多次。
  • \{n,m\}:匹配前面的字符至少n次,最多m次。
  • \{n,\}:匹配前面的字符至少n次。
  • \{,m\}:匹配前面的字符最多m次。
  • \{n\}:匹配前面的字符恰好n次。
  • \?:匹配前面的字符0次或1次。
  • \+:匹配前面的字符1次或多次。
  • \=:匹配前面的字符0次或多次,但尽可能多地匹配。
  • \{n,\}:匹配前面的字符至少n次,但尽可能多地匹配。
  • \{,m\}:匹配前面的字符最多m次,但尽可能多地匹配。
  • \{n,m\}:匹配前面的字符至少n次,最多m次,但尽可能多地匹配。
  • \{n\}:匹配前面的字符恰好n次,但尽可能多地匹配。
  • \?:匹配前面的字符0次或1次,但尽可能多地匹配。
  • \+:匹配前面的字符1次或多次,但尽可能多地匹配。
  • \@=:匹配前面的字符0次或多次,但尽可能少地匹配。
  • \@<=:匹配前面的字符0次或多次,但尽可能少地匹配。
  • \@!:匹配前面的字符0次或多次,但尽可能少地匹配。
  • \@<!:匹配前面的字符0次或多次,但尽可能少地匹配。
  • \@>:匹配前面的字符0次或多次,但尽可能少地匹配。
  • \@<:匹配前面的字符0次或多次,但尽可能少地匹配。
  • \&:匹配前面的字符0次或多次,但尽可能少地匹配。
  • \zs:匹配前面的字符0次或多次,但尽可能少地匹配。
  • \ze:匹配前面的字符0次或多次,但尽可能少地匹配。
  • \%c:匹配当前光标所在的位置。
  • \%v:匹配当前光标所在的位置。
  • \%V:匹配当前光标所在的位置。
  • \%l:匹配当前光标所在的位置。
  • \%L:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在的位置。
  • \%c:匹配当前光标所在
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

正则表达式:在 Vim 异于 Javascript 用法

对于前后端各种编程语言中正则表达式,开发者们已经再熟悉不过了;但如果你在使用 vim 编辑器,同样会在命令模式下遇到需要用正则实现搜索替换情景。...今天我们就来稍微归纳一下 vim 较独特正则语法,为更好地使用这种编辑神器厘清障碍。...本文适用于较熟悉正则表达式vim 编辑器读者,入门选手推荐先阅读以下文章: JS正则表达式--从入门到精分 小览 ES6-ES2019 中正则表达式新发展 初探在WSL设置vim前端开发环境...搜索和替换标记 除了 g、i 之外,在 vim 还可以使用 c,用来交互式地对匹配项逐个替换。...*s 则匹配到 'his is a s' \{-min,max} 尽可能少地匹配 min 次到 max 次,也就是满足条件情况下能 min 尽量不 max 特殊字符 除了常见 \s、\W 等,vim

1.8K20
  • Vim查找替换及正则表达式使用详解

    前言 正则表达式是文本处理领域中一个强大工具,它可以让文本处理能力呈指数级提升,如果一款文本编辑器不支持正则表达式,那么它就算不上是一个现代化编辑器,这绝非虚言。...下面这篇文章主要跟大家介绍了关于Vim查找替换及正则表达式使用相关内容,分享出来供大家参考学习,下面来一起看看吧。...正则表达式 1、元字符 元字符 元字符 说明 . 匹配任意字符 [abc] 匹配方括号任意一个字符,可用-表示字符范围。...如[a-z0-9]匹配小写字母和数字 [^abc] 匹配除方括号字符之外任意字符 \d 匹配阿拉伯数字,等同于[0-9] \D 匹配阿拉伯数字之外任意字符,等同于[^0-9] \x 匹配十六进制数字...匹配单词词尾 2、替换变量 在正则式以\(和\)括起来正则表达式,在后面使用时候可以用\1、\2等变量来访问\(和\)内容。

    5.9K10

    VIM批量操作-正则表达式

    上次我们用宏操作方式在VIM由一行代码批量生成了一系列相似的代码,原文在这里这次我们用正则表达式方式实现批量替换把上次小练习先贴出来在GVIM下,将下面这张图内容图片改成下面这样图片并且指出,...要用批量操作方式,不能一行一行键入在给出实现方法之前,先给出VIM各种符号意义普通字符含义 ....匹配任意一个字符 abc 匹配方括号任意一个字符,可以使用 - 表示范围比如a-z0-9匹配小写字母和数字^abc 匹配除方括号字符以外字符...匹配单词词尾现在回到那个小练习,由于我们主要用正则来进行替换,因此我们先将第一行内容进行复制粘贴在普通模式下gg//回到首行yy//复制首行内容19p//粘贴19次图片之后变成这样了再进行替换之前,介绍下VIM...+n先试一下,将首行2改成行号×10:s/2/\=line(".") * 10/图片首行2成功被替换成了10准备工作结束,下面直接直接给出批量更改正则表达式:%s/\d/\=line(".")

    54820

    打造vimpython IDE

    2,pydoc.vimvim查找python文档,这个相当管用,你可以调用Pydoc ,也可以当光标停在某个关键词位置时,按下K就能弹出文档,设置pydoc执行路径如下,后面的路径和你执行....vimrc设置了 filetype plugin indent on  另外这个只支持python2.5以上版本,这个比较坑爹 4,nerd_tree.vim vim文件浏览器,我做了一个映射...,但是vim版本必须是vim 7.2以上,另外支持自动补全比较好就是pydiction.vim,比系统自带自动补全强大多了,支持tab补全,这家伙有3个组成部分。...vim-debug 这个依赖于系统vim-debug模块,支持交互式调试,设置断点,跳出跳进函数,支持查看栈和变量,我配置: " debugger keyboard shortcuts map <F5...打开终端功能,非常有用,可以vim buffer执行python 命令(:ConqueTerm shell )也可执行bash命令(:ConqueTerm bash)  接下来,我们再来分析下.vimrc

    1.1K20

    在Linuxvim用法

    vi 编辑器是所有 Unix 及 Linux 系统下标准编辑器,它强大不逊色于任何最新文本编辑器,这里只是简单地介绍一下它用法和一小部分指令。...复制 「yw」:将光标所在之处到字尾字符复制到缓冲区。 「#yw」:复制#个字到缓冲区 「yy」:复制光标所在行到缓冲区。...A) 列出行号 「set nu」:输入「set nu」后,会在文件每一行前面列出行号。...B) 跳到文件某一行 「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字 15,再回车,就会跳到文章第 15 行。...沈唁志|一个PHPer成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:在Linuxvim用法

    2.9K31

    Vim 编辑器开发 Python 应用 Vim 插件

    Python-mode 是一个 Vim 插件,它使你能够在 Vim 编辑器更快利用包括 pylint、rope、pydoc、pyflakes、pep8、autopep8、pep257 和 mccable...推荐阅读:如何用 Bash-Support 插件将 Vim 编辑器打造成编写 Bash 脚本 IDE 这个插件包含了所有你在 Vim 编辑器可以用来开发 Python 应用特性。...Python 缩进 能够在 Vim 运行 Python 代码 能够添加/删除断点 支持 Python 对象 Vim 动作和操作符 能够在运行同时检查代码(pylint、pyflakes、pylama...如何在 Linux 系统Vim 安装 Python-mode 首先安装 Pathogen (它使得安装插件超级简单,并且运行文件位于私有目录),从而更加容易安装 Python-mode 运行下面的命令来获取...在本教程,我向你们展示了如何在 Linux 中使用 Python-mode 来配置 Vim 。请记得通过下面的反馈表来和我们分享你想法。

    1.7K80

    vim函数跳转功能实现

    介绍 函数跳转是要给IDE中非常重要也非常常用功能,而原生 Vim 并不提供这个功能,这个确定有点让人遗憾,按理说这么常用功能应该是要提供。...安装完成后,可以在源代码目录下执行以下命令来生成 tags 文件: ctags -R . 这个 tags 文件是一个包含所有函数和变量索引列表文件,它使得在 Vim 中进行函数跳转成为可能。...使用跳转功能 在 Vim 打开任意文件,并将光标移动到你想要跳转变量或函数上。使用以下快捷键可以实现跳转: Ctrl + ]:快速跳转到函数或变量定义处。 Ctrl + t:跳转回之前位置。...说明 生成 tags 文件:ctags 命令非常强大,它不仅可以递归地为当前目录下文件生成 tags 文件,还可以为特定类型文件或者通过正则表达式匹配特定符号生成 tags 文件。...配置 Vim:为了提高效率,可以在 .vimrc 文件添加一些配置,比如设置 tags 文件路径,或者定义快捷键等。

    37810

    Linuxvim基本介绍和使用

    但是vim并不像是在Windows上vs集成软件把所有的东西都集成起来但是呢,如果不进行配置的话,vim和其他是相互独立vim就是写代码编辑器,编译代码就是gcc/g++编译器,调试代码就有gdb...简单编译一个hello vim程序 vim刚开始打开时候,暂时是无法正常输入,因为刚打开时候是命令模式,默认打开时候,目前所输入都会看成是命令,当然,如果命令不对当然什么操作都没有咯。...command:不退出vim,可以进行shell命令执行 (最常用能够man指令,这样就不用退出后再去查看) vim不会新建文件,只有当我们保存时候,才会首次被创建。...(vim 文件(新文件))。 在windows上图形化界面,想要多文件同时编辑的话,只需要点击相对应文件图形就能够切换,那么在Linux怎么实现呢?难不成还是保存完之后再进行编辑另一个文件?...6、vim配置问题 6、1、配置原理 vim不是简单执行可执行程序,在启动执行时候也会读取若干可执行配置文件。通常来说没配置的话读取都包含 .vimrc。

    10810

    vim配置_vim全局配置

    因为写了一段时间前端,一直在考虑vim是否能够替代前端无敌编辑器vscode,最后发现只能高仿,自己配置性能跟vscode下vim模式差不多,灵活性更高点,喜欢折腾朋友可以试试,否则用vscode...(vscode主题,可以不装) Plugin 'tomasiser/vim-code-dark' "ack命令在vim快速检索 Plugin 'mileszs/ack.vim' "https://beyondgrep.com...就是你想要vim快捷键复制,直接在外面的qq能够黏贴出来!!!...let g:ycm_complete_in_comments = 1 " 在字符串输入也能补全 let g:ycm_complete_in_strings = 1 " 传说中vim8 + ycm异步补全...如果你想动态监测eslint报错,请在vimrc把监测模式passive消极模式配置注释掉(有点耗性能)。 ack: 请执行如下命令保证你命令行ack命令能够被vim ACK组件使用。

    2.8K60
    领券