`
iwebcode
  • 浏览: 2003167 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Vim多文件查找与替换

 
阅读更多

Vim多文件查找与替换

转载:http://hi.baidu.com/cly84920/blog/item/8a9c0ab4fab8f3788ad4b22d.html

Vim中也可以像普通ide那样的在多个文件中查找的功能,用的是:vimgrep这条命令,格式如::vimgrep /AAA/ **/*.* 。执行这条命令后,可以通过:cw命令打开匹配的窗口进行查询结果的查看。

另外,vim还可以通过args命令对多个文件进行批量操作。可以参考下面这篇文章:

原文地址:http://insen.info/2009/09/20/vim-multi-files-find-and-replac/

=========================================================

在我们的日常工作中,经常需要将多个文件中的某个字段替换为其他的字段,但多数的编辑器只提供了在打开文件中的查找和替换(当然,也有很多强大的编辑器支持多文件查找和替换,如EditPlus支持在所有打开文件中查找和替换等等),那么,在强大的Vim中,如何进行多文件的查找和替换呢?

答案是利用 args 命令!

举例说明,如果你想将当前目录下所有类型的文件中的 oldword 替换为 newword,那么只需要打开当前目录下的某个文件,输入如下两条命令并回车:

:args *.*
:argdo %s/oldword/newword/egc | update

接下来的工作就是确认Vim查找到的那个关键词是否要被替换。是则按下 y ,否则按下 n。

我们解释下所用到的命令:

  • 第一行,我们使用 args 命令,将当前目录下所有类型的文件都加入到参数列表中(不包括子文件夹中的文件,),以备后续操作。
    args命令我还没完全搞清楚,嘿嘿。实验了下,使用 :args */* 的话,是将当前目录下 所有在子文件夹中的目录和子文件夹中的文件(不包括下一级文件)加入参数列表中。
    了解了这点,你也可以只替换需要的类型,如 :args *.html。举一反三,反不出来的,再去Google,呵呵。
  • 第二行,使用 argdo 命令,对参数列表中的文件进行替换操作。s 就是替换命令了,加上 % 指对所有行,即全文匹配。g 指对每一行中所有匹配的地方都执行替换,e 指使用正则模式,为了区分大小写。最后的 c 指每次替换前,都要确认一下。

查找操作呢?引用一下别人的命令吧:

查找
:args *.cpp
:argdo /word

替换
:args *.cpp
:argdo %s/word/NEW/eg | update

最后说一点,如果操作失误怎么办?上面的命令是直接操作文件,即存盘了的。
操作失误?那就狂按 u 吧,呵呵。

分享到:
评论

相关推荐

    vim-easygrep, 在多个文件中快速轻松地查找和替换.zip

    vim-easygrep, 在多个文件中快速轻松地查找和替换 easygrep在多个文件中快速轻松地查找和替换EasyGrep是通过多个文件执行搜索和替换操作的插件。 Vim已经经有内置的支持,可以以使用它的'vimgrep'和'grep'命令搜索...

    far.vim:查找并替换Vim插件

    Far.vim使得通过多个文件查找和替换文本更加容易。 它受IntelliJ和Eclipse之类的精美IDE的启发,这些IDE为此类任务提供了舒适的工具。 安装 Plug ' brooth/far.vim ' 用法 使用命令搜索 :Far foo bar ** / * .py :...

    vim user manual ---vim用户手册

    jusr 07.txtj 编辑多个文件 jusr 08.txtj 分隔窗口 jusr 09.txtj 使用GUI jusr 10.txtj 大刀阔斧 jusr 11.txtj 灾难恢复 jusr 12.txtj 奇技淫巧 高效编辑 jusr 20.txtj 加速冒号命令 jusr 21.txtj 进退之间 jusr 22....

    vim_命令手册

    在vi中查找与替换 命令 查找与替换操作 /text 在文件中向前查找text ?text 在文件中向后查找text n 在同一方向重复查找 N 在相反方向重复查找 ftext 在当前行向前查找text Ftext 在当前行向后查找text ttext 在当前...

    Vim插件vim-switchtoinc.zip

    vim-switchtoinc 这是一款vim插件,用于头文件和源文件间快速切换。注:在a.vim插件基础上修改的。特性 支持多种语言(所有具备头文件的语言),主要支持为c, cpp, objective-c, objective-cpp等 支持绝对...

    linux系统vim实验报告.doc

    关于文本编辑器 vim 的使用 【注】里面的内容和自己跟着敲敲,文件名字换成自己的,可以套用我的模板和前言结论,代码最好跟着敲敲,里面的操作步骤我也说的...4.文本的查找,撤销与重复。 【注】原创文章,请勿转载

    vim 基本命令总结表

    对vim操作的命令 分类总结 1.打开文件操作... 2.存储及退出文件... 3.模式转换... 4.光标移动... 5.插入... ...10.编辑多个文件... 11.其他命令... 12分屏操作... 13 vim的帮助指令... 14.七个习惯

    VIM使用讲解.pdf

    vim 的使用 第一讲 • 移动光标 ...• 替换类命令 • 更改类命令 • 使用c指令的其他更改类命令 • 小结 第四讲 • 定位及文件状态 • 搜索类命令 • 配对括号的查找 • 修正错误的方法之一 • 小结

    vim安装包,用于linux十分便捷

    vim newfile 新建一vim空白文件进行编辑 普通模式 编辑模式下按ESC切换为普通模式 命令 说明 移动: h 将光标向左移动一格 l 将光标向右移动一格 j 将光标向下移动一格 k 将光标向上移动一格 ^ 光标...

    Hacking Vim

    vimgrep /pattern/[j][g] file file2 … fileN 多文件查找 使用标志(mark)定位: 0~9 系统自用 a-z 本文件mark (使用方法: 标志:ma, 调至标志 `a) A-Z 跨文件的mark :marks 查看所有标志 :delmarks 删除标志 2.13...

    linux系统熟练使用vim程序编辑器

    vim是vimsual interface的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。这是其他编辑程序所没有的。vim 不是一个排版程序,它不像 Word 或 WPS...

    vim-rc:Vim的最小配置

    vimrc Vim的最小配置。先决条件您将需要以下内容。 管理插件安装运行以下内容以开始。 git clone https://github.com/benthorner/vim-rc.git $HOME/.vim-rc然后将以下内容添加到“ .vimrc”。...,> f打开文件查找器<

    Vim命令合集

    同时打开多个文件 vim file1 file2 file3 … 在vim窗口中打开一个新文件 :open file 在新窗口中打开文件 :split file 切换到下一个文件 :bn 切换到上一个文件 :bp 查看当前打开的文件列表,当前正在编辑的文件会用[]...

    一张图记住 Vim 常用命令

    本来不算写 Vim 使用教程的,因为我想网上应该会有很多,然后我去搜了一下看到别人写的好丑好乱啊,于是... 跳至指定行4、Last line mode下命令简介A) 列出行号B) 跳到文件中的某一行C) 查找字符D) 保存文件E) 离开 Vim

    Vim用户手册中文版72.pdf

    第07章 编辑多个文件 07.1 编辑另一个文件 07.2 文件列表 07.3 切换到另一文件 07.4 备份 07.5 在文件间复制粘贴 07.6 查看文件 07.7 更改文件名 第08章 分隔窗口 08.1 分隔一个窗口 08.2 为另一个文件分隔出一个...

    Vim文本编辑器及其应用详解

    可视化模式的基本操作编辑模式操作Vim 查找文本Vim 替换文本Vim 保存退出文本Vim多窗口编辑模式在一个窗口同时打开多个文件多窗口编辑Vim批量注释和自定义注释快捷键Vim显示行号配置文件(.vimrc)详解基本配置 ...

    吴天雄--vim编辑器.doc

    、搜索查找/、替换、显示行号、打开多个文件进行切换)、第六部分:编辑模式,第七部分:实用功能(vim中计算器的使用、代码着色),第八部分:扩展(vim配置、解决异常退出、别名机制、退出方式:x)

    在vim编辑器案例练习

    (2)将/etc/man_db.conf复制到上述目录下面,使用vim打开目录下的 man_db.conf文件。 在vinm中设定行号,移动到第58行,向右移动15个字符,请问你看到的该行前面15个字母组合是什么? (4)移动到第一行,并且向...

    Linux学习笔记(九)Vim文本编辑器的使用

    Vim文本编辑器的使用Vim的工作模式命令模式输入模式编辑模式进入Vim使用Vim打开文件直接进入指定位置Vim基本命令插入命令常用的插入命令:光标移动命令以字符为单位移动以单词为单位的移动移动到行首或行尾移动到一...

    文本编辑器——VI/VIM

    文章目录vi/vim命令模式—>输入模式输入模式—>命令模式命令模式—>末行模式末行模式—>命令模式末行模式命令模式在命令模式下以单词为单位移动逐字符移动行内跳转行间跳转句子间跳转段落间跳转翻屏可视化模式字符...

Global site tag (gtag.js) - Google Analytics