`
shixin42
  • 浏览: 55394 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

vim替换

    博客分类:
  • vim
 
阅读更多
VIM中常用的替换模式总结。

1,简单替换表达式

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

:%s/four/4/g


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

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

       :%s/\<four/4/g

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

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

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

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

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”。
分享到:
评论

相关推荐

    LINUX vim替换字符串指令.docx

    LINUX vim替换字符串指令 本文档主要介绍了在 LINUX 环境下使用 vim 编辑器时,如何使用 `s` 命令来替换字符串。本文档共四页,涵盖了多种使用 `s` 命令的方式,包括基本用法、使用分隔符、删除文本中的换行符等...

    vim替换文件

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

    vim 全文字符串替换

    ### Vim全文字符串替换 在日常的编程或文本编辑过程中,我们经常会遇到需要对大量文本进行字符串替换的需求。尤其是在处理从Windows系统复制到Linux系统中的文本时,常常会遇到换行符不兼容的问题,例如文中提到的`...

    vi格式设置

    vim替换~/.vim”,这意味着将压缩包中的`vimrc`文件替换用户现有的`.vimrc`文件,以便应用新的配置。而“vim替换~/.vim”通常是为了更新或替换整个vim的配置目录。这一步骤应当谨慎操作,因为可能覆盖掉用户已有的...

    vim-dr-replace:可以轻松替换当前文件中光标下的当前单词

    Vim-dr-replace - 搜索并替换光标下的单词 使替换光标下的当前单词变得容易 安装 病原体安装 导航到本地 Vim 设置中的[VIM_ROOT]/bundle目录 git 克隆 用法 要替换当前行中光标下出现的所有单词,请输入以下内容: ...

    Vim的提示 - 新标签替换「Vim Tips - New Tab Replacement」-crx插件

    实用的Vim提示显示在您的新标签页上。 每次打开新选项卡时,都会学习新的vim命令。 支持语言:English

    学习vi和vim编辑器.pdf_vim实用_vi_vim_

    **vi和vim编辑器详解** **一、vi编辑器简介** vi(Visual Editor)是Linux/Unix系统下的一款强大的文本编辑器,它以其简洁高效的操作方式深受程序员和系统管理员的喜爱。vi的名字来源于“Visual”首字母,但在无...

    Linux中vim安装包

    **Linux中的Vim编辑器** Vim(Vi Improved)是一款强大的文本编辑器,在Linux系统中广泛使用。它基于早期的Vi编辑器,并进行了大量的增强和改进,提供了丰富的特性集,适用于程序员、系统管理员以及普通用户。Vim在...

    Vim实用技巧.pdf_vim实用_vim_

    Vim,全名Vi Improved,是一款强大的文本编辑器,深受程序员和系统管理员的喜爱。它以其高效的操作方式和高度可定制性著称。本篇将详细探讨"Vim实用技巧",帮助你提升在Vim中的工作效率。 1. **启动与退出**:在...

    vim的c.vim和cpp.vim文件

    Vim是一款强大的文本编辑器,深受程序员喜爱,尤其在...然而,实际的文件替换过程通常涉及下载和安装Vim插件,或者直接修改Vim的`syntax`目录下的相应文件。正确配置这些文件后,Vim将成为一个更强大的C和C++编程平台。

    vim 常用快捷键笔记

    ### vim 常用快捷键知识点 #### 一、引言 Vim 是一款功能强大的文本编辑器,广泛应用于各种操作系统之中,特别是 Linux 和 Unix 平台。它源自 vi 编辑器,但添加了许多增强功能,使得它更加高效且易于定制。本文将...

    ubuntu 20.04.1 离线vim资源包

    - Vim支持命令行模式,用户可以通过输入特定的命令进行文本操作,例如移动光标、复制粘贴、查找替换等。 - Vim的配置文件`~/.vimrc`允许用户自定义快捷键、设置和行为,实现个性化定制。 对于运维人员而言,Vim是...

    Mastering Vim Quickly_2.pdf

    ### 掌握Vim快速指南知识点总结 #### 一、前言与学习方法论 - **书籍概述**:《Mastering Vim Quickly》是一本旨在帮助读者迅速掌握Vim编辑器的指南,由Jovica Ilić编写,出版于2018年4月。 - **目标读者**:本书...

    vim教程 vim tutor

    根据给定文件的信息,我们可以提炼出关于 Vim 编辑器的一些关键知识点: ### Vim 教程概览 #### 一、基本操作与导航 - **移动命令:** - `h` 向左移动一个字符。 - `j` 向下移动一行。 - `k` 向上移动一行。 ...

    linuxvi替换命令借鉴.pdf

    ### Linux VI/VIM 替换命令详解 #### 一、全局替换 在 Linux 的 VI/VIM 编辑器中,可以使用 `:s` 命令进行字符串替换。全局替换指的是在整个文档范围内进行字符串替换。 1. **使用 `v + G + $`** 首先进入可视...

    vim-plugin插件

    这对于处理大量文本或代码时非常有用,比如进行批量替换或者比较不同区域。 `supertab.vmb` 可能是 SuperTab 的一个版本,这是一个实现补全功能的插件。它将 Tab 键的功能扩展为根据上下文提供智能补全,支持文件名...

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

    2. **做大修改**:掌握Vim的大规模文本修改功能,如记录与回放命令、替换文本、命令范围的定义以及改变文本的大小写。 3. **从崩溃中恢复**:了解如何在Vim崩溃后恢复未保存的工作。 4. **小窍门高效的编辑**:利用...

    vim-7.4.tar.bz2和vimgdb-for-vim7.4-master.zip

    3. 更强的搜索和替换功能,支持正则表达式和多行替换。 4. 对Unicode字符集的支持更完善,能够处理多种语言的文本。 5. 提供了新的API,允许开发者编写更复杂的插件和脚本。 `vimgdb-for-vim7.4-master.zip`是Vim...

Global site tag (gtag.js) - Google Analytics