`
jimlaren
  • 浏览: 42685 次
文章分类
社区版块
存档分类
最新评论

[转载]VIM中常用的替换模式总结

vim 
阅读更多

1,简单替换表达式

替换命令可以在全文中用一个单词替换另一个单词:

:%s/four/4/g

“%” 范围前缀表示在所有行中执行替换。最后的 “g” 标记表示替换行中的所有匹配点。如果仅仅对当前行进行操作,那么只要去掉%即可

如果你有一个象 “thirtyfour” 这样的单词,上面的命令会出错。这种情况下,这个单词会被替换成”thirty4″。要解决这个问题,用 “\<” 来指定匹配单词开头:

:%s/\<four></four>

显然,这样在处理 “fourty” 的时候还是会出错。用 “\>” 来解决这个问题:

:%s/\

如果你在编码,你可能只想替换注释中的 “four”,而保留代码中的。由于这很难指定,可以在替换命令中加一个 “c” 标记,这样,Vim 会在每次替换前提示你:

:%s/\

2,删除多余的空格

要删除这些每行后面多余的空格,可以执行如下命令:

:%s/\s\+$//

命令前面指明范围是 “%”,所以这会作用于整个文件。”substitute” 命令的匹配模式是

“\s\+$”。这表示行末($)前的一个或者多个(\+)空格(\s)。替换命令的 “to” 部分是空的:”//”。这样就会删除那些匹配的空白字符。

3,匹配重复性模式

星号项 “*” 规定在它前面的项可以重复任意次。因此:

/a*

匹配 “a”,”aa”,”aaa”,等等。但也匹配 “” (空字串),因为零次也包含在内。星号 “*” 仅仅应用于那个紧邻在它前面的项。因此 “ab*” 匹配 “a”,”ab”,”abb”,”abbb”,等等。如要多次重复整个字符串,那么该字符串必须被组成一个项。组成一项的方法就是在它前面加 “\(”,后面加 “\)”。因此这个命令:

/\(ab\)*

匹配: “ab”,”abab”,”ababab”,等等。而且也匹配 “”。

要避免匹配空字串,使用 “\+”。这表示前面一项可以被匹配一次或多次。

/ab\+

匹配 “ab”,”abb”,”abbb”,等等。它不匹配 后面没有跟随 “b” 的 “a”。

要匹配一个可选项,用 “\=”。 例如:

/folders\=

匹配 “folder” 和 “folders”。

4,指定重复次数

要匹配某一项的特定次数重复,使用 “\{n,m}” 这样的形式。其中 “n” 和 “m” 都是数字。在它前面的那个项将被重复 “n” 到 “m” 次 (|inclusive| 包含 “n” 和 “m”)。例如:

/ab\{3,5}

匹配 “abbb”,”abbbb” 以及 “abbbbb”。

当 “n” 省略时,被默认为零。当 “m” 省略时,被默认为无限大。当 “,m” 省略时,就表示重复正好 “n” 次。例如:

模式 匹配次数

\{,4} 0,1,2,3 或 4

\{3,} 3,4,5,等等

\{0,1} 0 或 1,同 \=

\{0,} 0 或 更多,同 *

\{1,} 1 或 更多,同 \+

\{3} 3

5,多选一匹配

在一个查找模式中,”或” 运算符是 “\|”。例如:

/foo\|bar

这个命令匹配了 “foo” 或 “bar”。更多的抉择可以连在后面:

/one\|two\|three

匹配 “one”,”two” 或 “three”。

如要匹配其多次重复,那么整个抉择结构须置于 “\(” 和 “\)” 之间:

/\(foo\|bar\)\+

这个命令匹配 “foo”,”foobar”,”foofoo”,”barfoobar”,等等。

再举个例子:

/end\(if\|while\|for\)

这个命令匹配 “endif”,”endwhile” 和 “endfor”。

分享到:
评论

相关推荐

    VIM常见命令总结vim常见命令总结

    以下是对VIM常见命令的详细总结: 1. **启动与退出** - `vim filename`:启动VIM并打开指定的文件。 - `:q`:在正常模式下退出,如果未保存修改,VIM将拒绝退出。 - `:q!`:强制退出,不保存任何修改。 - `:wq`...

    vim常用命令总结

    ### vim常用命令总结 #### 一、概述 `vim`是一款功能强大的文本编辑器,在Linux环境中广泛使用。本文档旨在总结`vim`编辑器中常用的命令,这些命令可以帮助用户高效地进行文本编辑工作。总结包括查找命令、修改...

    vim命令学习笔试总结总结总结

    #### Vim常用命令详解 接下来,我们将详细介绍vim中的一些常用命令。 ##### 命令模式下的操作 1. **移动光标** - `h`:向左移动一个字符。 - `j`:向下移动一行。 - `k`:向上移动一行。 - `l`:向右移动一个...

    vim 全文字符串替换

    假设我们需要将一个文件中的所有`Vim`替换为`VIM`,并且还要清除所有`^M`字符: 1. **打开文件**: ``` vim sample.txt ``` 2. **替换字符串**: ``` :%s/Vim/VIM/g ``` 3. **删除^M字符**: ``` :%s/^M$...

    vim替换文件

    安装vim后,替换已经存在的_vimrc文件,这个替换文件已经配置好,下载直接使用。

    VIM命令总结VIM命令总结

    VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结

    vim 常用快捷键笔记

    4. **替换模式**:在正常模式下,按 `R` 进入替换模式,该模式会覆盖原有文本。 #### 四、文本操作与导航 - **删除**:`dd` 删除当前行;`dw` 删除到当前单词末尾;`dx` 删除当前字符。 - **复制**:`yy` 复制当前...

    Vi、vim 常用命令总结

    以上总结了Vi和Vim编辑器中的常用命令,涵盖了初始化配置、光标操作、编辑、查找、窗口管理、文件对比、缓冲区操作、编译调试以及一些实用的杂项命令。熟练掌握这些命令能够显著提升在Linux环境下的文本编辑效率。

    vim中文手册 vim中文手册 vim中文手册

    vim中文手册 vim中文手册 vim中文手册 vim中文手册 vim中文手册 vim中文手册 vim中文手册vim中文手册vim中文手册

    VIM中文手册 PDF

    6. **正则表达式**:VIM在查找和替换中支持强大的正则表达式,手册会讲解如何利用它们进行复杂的文本匹配和替换。 7. **语法高亮与文件类型识别**:VIM可以根据文件类型自动应用语法高亮,提高代码可读性。手册会...

    sublime-vim 底行模式插件

    本文将详细介绍Sublime Text中的"sublime-vim 底行模式插件",以及如何通过安装和配置VintageEx来实现这一功能。 "底行模式"是Vim编辑器的一个核心特性,允许用户在插入模式和命令模式之间快速切换,通过键盘快捷键...

    VIM键位总结图

    VIM键位总结图是一张精心设计的图表,它系统地展示了VIM编辑器中各种命令和操作对应的快捷键。通过这张图,用户可以快速查阅并记忆各种复杂的键盘快捷方式,提高编辑效率。无论是初学者还是高级用户,都可以从中受益...

    linux vim 命令 总结

    - ViM有两个主要模式:命令模式(常规模式)和插入模式(编辑模式)。 - 从命令模式进入插入模式,可以使用`i`、`I`、`a`、`A`、`R`、`r`、`O`或`o`等命令。 - 要返回命令模式,按`Esc`键。 3. **移动与编辑** ...

    VIM中文手册完整版

    VIM的高级编辑功能包括启动VIM、编辑和写入文件、有关移动的命令、在窗口中滚动文本、插入模式和替换模式、删除和替换文本、自动缩进、撤消和重做等。例如,可以使用":help starting.txt"命令查看如何启动VIM并设置...

    vim中文乱码解决方案

    在使用Vim编辑器时,中文乱码问题是一个常见的现象,特别是在Fedora和Ubuntu等Linux发行版中更为突出。本文将详细介绍如何解决Vim中的中文乱码问题,并提供一些实用的配置方法。 #### 二、Vim简介 Vim是一款基于...

    VIM中文手册

    另外,VIM的命令行模式允许用户输入复杂的指令,如搜索替换、跳转到指定行等,这为高效编程提供了可能。 VIM的可扩展性也是其一大亮点,通过安装插件,可以实现代码自动完成、代码折叠、项目管理等功能。学习如何...

    vim最常用快捷键总结

    经过多次总结补充的常用vim快捷操作,全部为常用操作

    Vim 8.2 PDF 中文用户手册(最新)

    由于提供的文件信息中包含了Vim 8.2的PDF用户手册的结构和内容概览,我们可以从提供的内容中提炼出关于Vim编辑器的知识点,这些知识点覆盖了Vim的基本使用、编辑技巧、高级功能以及如何在不同情况下高效使用Vim。...

    VIM代码编辑常用操作技术

    ### VIM代码编辑常用操作技术知识点总结 #### 1. VIM编辑基础操作 VIM是一个高级文本编辑器,常用于编写和编辑代码。它支持多种模式,包括普通模式、插入模式、命令模式等。普通模式下可以快速执行编辑命令,插入...

Global site tag (gtag.js) - Google Analytics