vim替换语法

:[range]s/{目标}/{替换}/[flag]

分隔符可以使用/#+三种,替换命令中默认s后面的第一个字符为分隔符

[range]

不写range:默认为光标所在的行
.:光标所在的行
n:第n行
$:最后一行
'a:标记a所在的行(之前要使用ma做过标记)
.+1:当前光标所在行的下面一行
$-1:倒数第二行(这里说明我们可以对某一行加减某个数值来取得相对的行)
m,n:第m~n行
%:所有行(与 1,$ 等价)
?chapter?:从当前位置向上搜索,找到的第一个chapter所在的行(其中chapter可以是任何字符串或者正则表达式)
/chapter/:从当前位置向下搜索,找到的第一个chapter所在的行(其中chapter可以是任何字符串或者正则表达式)

注意:上面的所有用于range的表示方法都可以通过 +、- 操作来设置相对偏移量。

[flag]

 c: confirm,每次替换前询问;e: error, 不显示错误;g: globle,不询问,整行替换。如果不加g选项,则只替换每行的第一个匹配到的字符串;i: ignore,忽略大小写。

注意:这些选项可以合并使用,如 cgi 表示不区分大小写,整行替换,替换前询问

[正则表达]

数量

*        匹配0-任意个
\+        匹配1-任意个
\?        匹配0-1个
\{n,m}    匹配n-m个
\{n}      匹配n个
\{n,}     匹配n-任意个
\{,m}     匹配0-m个

位置

$       匹配行尾
^       匹配行首
\<      匹配单词词首
\>      匹配单词词尾

元字符

.               匹配任意字符
[abc]           匹配方括号中的任意一个字符,可用-表示字符范围。如[a-z0-9]匹配小写字母和数字
[^abc]          匹配除方括号中字符之外的任意字符
\d              匹配阿拉伯数字,等同于[0-9]
\D              匹配阿拉伯数字之外的任意字符,等同于[^0-9]
\x              匹配十六进制数字,等同于[0-9A-Fa-f]
\X              匹配十六进制数字之外的任意字符,等同于[^0-9A-Fa-f]
\l              匹配[a-z]
\L              匹配[^a-z]
\u              匹配[A-Z]
\U              匹配[^A-Z]
\w              匹配单词字母,等同于[0-9A-Za-z_]
\W              匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_]
\t              匹配<TAB>字符
\s              匹配空白字符,等同于[\t]
\S              匹配非空白字符,等同于[^\t]

注意:在正则式中以 \(\) 括起来的正则表达式,在后面使用的时候可以用 \1\2 等变量来访问
\(\)中的内容。

vim替换命令详解

vim在命令模式下

1、替换某一行字符

:s/abc/def 替换当前行第一个 abc 为 def(等效于:.s/abc/def/)
:s/abc/def/g 替换当前行所有的 abc 为 def(等效于:.s/abc/def/g)
:ns/abc/def 替换第n行第一个 abc 为 def
:$s/abc/def 替换最后一行第一个 abc 为 def

2、替换某几行的字符

:.,+5s/abc/def 替换当前行及以下5行的第一个 abc 为 def
:.,+5s/abc/def/g 替换当前行及以下5行的所有的 abc 为 def
:1,.s/abc/def/g 替换第一行到当前行的所有的 abc 为 def
:m,ns/abc/def/g 替换第m行到第n行的所有的 abc 为 def
:1,$s/abc/def/g 替换第一行到最后一行的所有的 abc 为 def

3、替换所有的字符

:%s/abc/def 替换所有行的第一个 abc 为 def
:%s/abc/def/g 替换所有的 abc 为 def

正则表达

  • 删除以空格或TAB开头到结尾的空行:
    %s/^[ |\t]*$// 或者 g/^[ |\t]*$/d

  • 把文中的所有字符串“abc……xyz”替换为“xyz……abc”可以有下列写法

    :%s/abc\(.*\)xyz/xyz\1abc/g
    :%s/\(abc\)\(.*\)\(xyz\)/\3\2\1/g

VIM中的替换命令使用相关推荐

  1. vim 中的替换命令

    查找并替换 1显示行号 :set nu 2隐藏行号 :set nonu 3查找关键字 :/you   ##效果:查找文件中出现的you,并定位到第一次出现的位置,按n匹配到下一个you,N匹配到上一个 ...

  2. vi/vim 中可以使用 :s 命令来替换字符串。

    vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询. :s/vivian/s ...

  3. vim中执行shell命令小结

    vim中执行shell命令,有以下几种形式 1):!command 不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如 :!ls - ...

  4. vim 中如何替换选中行或指定几行内的文本

    以下命令将文中所有的字符串idiots替换成managers: :1,$s/idiots/manages/g 2. 通常我们会在命令中使用%指代整个文件做为替换范围: :%s/search/repla ...

  5. Vim中的常用命令总结(持续补充完善)

    文章目录 前言 VIM命令 Vim的三种模式 (1) 命令模式 (2) 插入模式 (3) 退出模式 跳转 (1) gg :跳转到文件开头 (2) Shift + g :跳转到文件结尾 分割窗口 (1) ...

  6. vi/vim中复制粘贴命令

    1. 选定文本块.使用v进入可视模式,移动光标键选定内容. 2.复制的命令是y,即yank(提起) ,常用的命令如下:      y      在使用v模式选定了某一块的时候,复制选定块到缓冲区用:  ...

  7. Linux中文件替换命令

    在Linux系统中,经常与遇到将很多文件拷贝后,只需要修改其中几个配置,这时候就可以用sed命令一次性进行替换修改. 将 file_name文件中的old-char全部替换为 new-char,相应的 ...

  8. Vim中如何替换字符串

    替换字符串 全局,替换字符串: 命令模式 :% s/old/new/g old,new不需要双引号,g表示全局,如果没有g就是每一行的第一个会被改变 例子: % s/test_shm_tool.c/$ ...

  9. 在vim中使用查找命令查找指定字符串

     要自当前光标位置向上搜索,请使用以下命令:           /pattern   Enter             其中,pattern   表示要搜索的特定字符序列.           ...

最新文章

  1. OpenCV图像旋转的原理与技巧
  2. DFS Gym 100553J Jokewithpermutation
  3. 微软老毛病还没改:Win10版本多达七个 咋选?
  4. python 打开网页 并填表单_Windows下使用python3 + selenium.webdriver功能实现自动填写网页表单功能...
  5. 阿里前CEO卫哲的万字长文:被马云骂醒,看透B2B 10大核心问题!
  6. 13、play中实现信息国际化
  7. 计算机四级计算机组成与接口总结,计算机等级测验四级计算机组成与接口.docx...
  8. 关于NSString和NSMutableString的retainCount
  9. 中国的电商发展迅速,有了取代实体的趋势
  10. Adobe 修复Commerce 和 Magento 平台中的又一个严重RCE
  11. 设计模式之GOF23适配器模式
  12. 《Qt基础教程之Qt学习之路》
  13. 【Python】基于Python的百度迁徙5——实时拥堵与拥堵指数(附代码)
  14. nginx源码安装及配置https自签名
  15. SAP_ABAP 采购价格条件报表(改进版1)
  16. Unity3D在windows10下小问题解决
  17. 线性子空间和仿射子空间
  18. 微金所张继业:规范化运作 回馈投资人
  19. MySQL是怎么解决幻读问题的?
  20. HTML5 div在界面水平垂直居中

热门文章

  1. 手动搭建一个车牌识别系统 | 附源码
  2. 微信,支付宝收款白名单是什么意思?
  3. 树莓派USB供电不足问题
  4. 为什么江西彩礼那么高呢?
  5. 适合管理者看的书籍推荐,管理学入门必读
  6. 水利RTU助推小型水库出险加固工程建设与管理
  7. iPhone 系统刷机
  8. 如何解压服务器系统,如何解压Linux系统下的zip文件
  9. 零基础Vlog教程!
  10. Zabbix监控华为交换机