Vim(gvim)实现多文件的查找和替换
来源:互联网 发布:拼图软件知乎 编辑:程序博客网 时间:2024/04/27 21:51
Vim(gvim)实现多文件的查找和替换
10-22Vim Dante 21,621
之前有朋友问过我,Vim(gvim)中怎么实现多文件的查找和替换呢?当时确实一直没有考虑过这个问题,因为一直在linux下都有grep,sed这样强力的工具,并不需要vim来实现这样的操作,但是也有很多朋友在windows下也使用gvim来进行编辑,那么就很有必要研究一番了。
首先,对于多文件中的查找来说,比较容易,vimgrep是vim自带的一个工具,类似于grep的用法就可以实现。比如要在当前目录查找word,使用如下:
:vimgrep word *
如果想要递归查找所有下级目录里面,那么就用
:vimgrep word **
另外,如果想要在使用是快捷查找当前光标下的字母,则只需要在vimrc中添加如下代码:
“对搜索的设置
map ft :call Search_Word()<CR>:copen<CR>
function Search_Word()
let w = expand(“<cword>”) ” 在当前光标位置抓词
execute “vimgrep ” w ” *”
endfunction
map ft :call Search_Word()<CR>:copen<CR>
function Search_Word()
let w = expand(“<cword>”) ” 在当前光标位置抓词
execute “vimgrep ” w ” *”
endfunction
通过vimgrep查找到的结果会生成到quickfix中,如下图:
第二,多文件替换。
实际上只要如下两个命令即可(假设要将当前目录下所有扩展名为.txt的文件中的hate替换成love):
:args *.txt
:argdo %s/hate/love/gc | update
:argdo %s/hate/love/gc | update
就可以完成啦。解释如下,
:args *.txt
这样写会扫描当前目录下的.txt文件,并加入到参数列表。但是这样写只会稻苗当前目录,如果想要递归扫描所有下级目录的话,用
:args **/*.txt
如果只想扫描下一级目录(即不扫描当前目录)的话,用
:args */*.txt
即可。
而
:argdo %s/hate/love/gc | update
是将参数列表中的所有文件的hate提换成love,并写入硬盘(如果没有|update,就不会写入,但相应的替换也会被中断)。
最后强调一点,使用替换命令的时候,一定记得备份,因为替换是直接写入硬盘滴哦……
好啦,希望这篇文章对大家有用~
版权所有,转载请注明出处。http://www.vimer.cn
0 0
- Vim(gvim)实现多文件的查找和替换
- Vim实现多文件的查找和替换
- Vim实现多文件的查找和替换
- VIM 多文件查找替换
- VIM 多文件查找替换
- VIM的查找和替换
- vim对文件的批量查找/替换
- Vim多文件查找与替换
- vim 查找多个文件, 替换
- Vim的查找和替换修改操作
- Vim/Vi/Gvim的替换命令
- vim的查找替换
- gvim 查找替换使用方法
- GVIM和VIM的配置
- vim多buffer的查找替换
- vim查找和替换详解
- Vim中的查找和替换
- vim的查找与替换
- 微商营销实战技巧分享,轻松月入10W
- 创建一个抽象类A,该类中包含一个求两个数之和抽象方法。创建一个子类B,在B中重写求和方法,且使用方法重载使得
- Android Fragment应用实战,使用碎片向ActivityGroup说再见
- 环形队列的基本运算
- 继承
- Vim(gvim)实现多文件的查找和替换
- 获取当前安装的所有App
- visual studio 2013 中的图形
- USACO Musical Themes 解题报告
- OWL Carousel integration with AngularJS
- 猜数字
- 如何编写Socket套接字
- HDOJ 5055 Bob and math problem
- 学习较底层编程:动手写一个C语言编译器