在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. Author name disambiguation using a graph model with node splitting and merging based on bibliographic information

    Author name disambiguation using a graph model with node splitting and merging based on bibliographi ...

  2. 数据库SQL实战(1)

    1.查找最晚入职员工的所有信息: CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, ` ...

  3. P1968

    题目背景 此处省略maxint+1个数 题目描述 在以后的若干天里戴维将学习美元与德国马克的汇率.编写程序帮助戴维何时应买或卖马克或美元,使他从100美元开始,最后能获得最高可能的价值. 输入输出格式 ...

  4. Django Rest Framework用户访问频率限制

    一. REST framework的请求生命周期 基于rest-framework的请求处理,与常规的url配置不同,通常一个django的url请求对应一个视图函数,在使用rest-framewor ...

  5. 深度学习方法:受限玻尔兹曼机RBM(一)基本概念

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 最近在复习经典机器学习算法的同 ...

  6. hdu 1806(线段树区间合并)

    Frequent values Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  7. AC日记——[ZJOI2015]幻想乡战略游戏 洛谷 P3345

    [ZJOI2015]幻想乡战略游戏 思路: 树剖暴力转移: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 1 ...

  8. javascript大神修炼记(4)——循环

    读者朋友们大家好,今天,我们继续接着前面的内容讲,前们我们已经讲了条件分支,今天我们就讲循环,顾名思义就是,重复执行相同的操作,正常循环是受程序控制的,不正常的情况,就会出现死循环,那就是我们的代码中 ...

  9. python 编码处理

    # -*- coding: utf-8 -*-import easygui as gimport sysreload(sys)sys.setdefaultencoding('utf-8')

  10. NoSQL 数据库应用

      类型 部分代表 特点 列存储 Hbase Cassandra Hypertable 顾名思义,是按列存储数据的.最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查 ...