在vim中进行文本替换:

1.替换当前行中的from: :s/from/to/    (其中s是英文单词substitute第一个字母,表示替换的意思)

:s/from/to/  ==  :.s/from/to/  ,在s之前添加一个.(点)默认情况不写,表示当前行

Note::s/from/to/   将当前行中的第一个from,替换成to。如果当前行中含有多个from,只会替换其中的第一个from。如果要替换当前行中所有出现的from

可以加上“g” 写成这样s/from/to/ g

2.替换当前行中所有from并且是带有询问的:s/from/to/gc

3.替换某一行的内容:s/from/to/g   (替换第N行,N表示文件的第N行,N是行号)

:33s/from/to/g           替换第33行所有的 from为to

4.替换某些行的内容:N1,N2s/from/to/g   (替换N1至N2中所有from为to)

:1,33s/from/to/g     替换1行至33行

5. 替换全文的内容from :%s/from/to/g   == :1,$s/from/to/g

常用表示范围range,不写range:默认为光标的行

.  表示光标所在行

1   第一行

$   最后一行

33  第33行

'a  标记a所在的行            :'a,'bs/from/to/  对标记a和标记b之间的行进行替换

.+1  当前光标所在行的下面一行

$-1  倒数第二行(这里说明我们可以对某一行加减某个数值来取得相对的行)

22,33   第22~33行

1,.    第一行至当前行

.,$  当前行至最后一行

'a,'b   标记a所在的行至标记b所在的行

%  所有的行 == 1,$  (表示所有的行)

6.连续注释文件多行的方法:
在vim编辑下

按冒号进入命令模式

:%s/^/#/  注释所有的行
:1,$s/^/#/ 注释所有的行   两者等价   这里用到替换

提示:

:N1,N2/^/#/  连续注释N1至N2行。
取消注释
:%s/^#/ /   取消注释的所有行
:N1,N2/^#//  取消注释N1至N2行

(2)第二种中方法

在vim下

ctrl + v 进入可视化模式
移动光标上移或者下移,选中多行的开头
选择完毕后,按大写的的I键,此时下方会提示进入“insert”模式,输入你要插入的注释符,例如#,

最后按ESC键,你就会发现多行代码已经被注释了

vim文本编辑工具—修改文件内容的更多相关文章

  1. vim文本编辑工具(全)

    VIM文本编辑工具 编辑模式 i    在当前字符前插入I   在光标所在的行首插入a 在当前字符后插入A 在光标所在行尾插入o 在当前行的下一行插入新的一行O 在当前行的上一行插入新的一行 s   ...

  2. linux --批量修改文件内容

    由于目前测试的BIOS有一个option 发生了改变,因此我们需要在之前写好的脚本上进行修改,将旧的option 改为新的选项,因此在此处用到了批量修改文件中的内容: 1. perl 命令替换: pe ...

  3. Web 在线文件管理器学习笔记与总结(5)修改文件内容

    ① 读出要修改的文件的内容 ② 进行修改 ③ 将修改后的内容写进文件 index.php: <?php require 'dir.func.php'; require 'file.func.ph ...

  4. java修改文件内容

    文件的读和写,大家都不陌生,但是修改呢?按照普通的读写流去修改的话,只能全部读取出来,在内存中修改好后,全部写进去,这样对于文件内容过多的时,性能很低. 最近在遇到这个问题的时候,发现RandomAc ...

  5. python笔记(三)---文件读写、修改文件内容、处理json、函数

    文件读写(一) #r 只读,打开文件不存在的话,会报错 #w 只写,会清空原来文件的内容 #a 追加写,不会请求,打开的文件不存在的话,也会帮你新建的一个文件 print(f.read()) #获取到 ...

  6. Java之修改文件内容:字符串逐行替换

    依赖包: <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</a ...

  7. linux下C++修改文件内容

    C fwrite在任意位置写入文件,并可修改文件内容 想实现类似迅雷那样下载时可以从文件半中间写入的功能 #include<stdio.h> int main() { FILE *fp; ...

  8. python 修改文件内容

    python 修改文件内容 一.修改原文件方式 1 def alter(file,old_str,new_str): 2 """ 3 替换文件中的字符串 4 :param ...

  9. python 文件操作(二) 替换性修改文件内容

    正常情况我们想要仅对文件某一行的内容进行修改,而不改变其他内容,在原文件的基础上不能修改,因为当我们对原文件进行写操作时,如果原文件里面有内容,就会清空,在这种情况下,只能对文件进行替换性修改:即重新 ...

随机推荐

  1. .NET Core、.NET Standard、Xamarin和.NET Framework对比

    近日,微软发布了.NET Core 2.0,但是开发人员中间仍然存在一些疑惑,就是.NET Core..NET Standard.Xamarin和.NET Framework有什么不同. .NET F ...

  2. Leetcode 之Longest Valid Parentheses(39)

    有一定的难度.用堆栈记录下所有左符的位置,用变量记录下孤立右符的位置. int longestValidParentheses(const string& s) { stack<int& ...

  3. Activiti如何替换已部署流程图

    首先交代下背景:我们有一个已经上线的activiti工作流系统,对于流程图的操作已经封装好部署,查看,删除的接口.此时客户提出要修改个别流程图里的节点名称. 我的第一个想法就是本地修改流程图bpmn文 ...

  4. Mybatis插入数据返回自增主键

    方法有很多,参考 mysql函数之六:mysql插入数据后返回自增ID的方法,last_insert_id(),selectkey 这里记录一下工作中自己用到的selectkey方法的详细过程. po ...

  5. VUE 实现tab切换页面效果

    一 163邮箱登录tab切换 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  6. pc、移动端H5网站 QQ在线客服、群链接代码【我和qq客服的那些事儿】

    转载:http://blog.csdn.net/fungleo/article/details/51835368#comments 移动端H5 QQ在线客服链接代码 <a href=" ...

  7. 使用Gradle管理第三方依赖

    http://blog.bsdn.org/2012/01/02/%E4%BD%BF%E7%94%A8gradle%E7%AE%A1%E7%90%86%E7%AC%AC%E4%B8%89%E6%96%B ...

  8. CodeForces 740D Alyona and a tree

    倍增,延迟标记. 考虑一个$u$给他的哪几个祖先$v$贡献了$1$.越往上$dis(v,u)$越大,找到最远的一个还满足条件的$v$,$v$到$u$的父亲这条链上的答案都$+1$.延迟标记一下,然后从 ...

  9. RabbitMQ (十一) 消息确认机制 - 消费者确认

    由于生产者和消费者不直接通信,生产者只负责把消息发送到队列,消费者只负责从队列获取消息(不管是push还是pull). 消息被"消费"后,是需要从队列中删除的.那怎么确认消息被&q ...

  10. AC自动机专题总结

    最近学习了AC自动机,做了notonlysuccess大牛里面的题,也该来个总结了. AC自动机(Aho-Corasick Automaton)在1975年产生于贝尔实验室,是著名的多模匹配算法之一. ...