vim中选择匹配文本删除技巧
试举几例如下:
- 如何只保留匹配内容行而删除其他行?
:v/pattern/d
:help :v
如何对每行只保留匹配内容而删除这一行中的其它内容
:%s/^.pattern.$/\1/g删除包含特定字符串的行
:g/pattern/d删除包含特定字符串的行,每次删除前都提示
:%s/^.pattern.\n//c处理字符串: /123/456/789/109/example.txt, 怎么删除到最后一个/,然后得到example.txt ?
0dte
解释:0 到行首
dte 删到第一个e处理字符串: /123/456/789/ef/109/example.txt, 怎么删除到最后一个/,然后得到example.txt ?
$T/d0
解释:$ 到行尾
T/ 从后往前搜到第一个/
d0 删到行首
d/ex然后回车
解释:d 删除
/ex 搜到第一个ex
整行匹配删除
假如这些特定行的特征开头字符串为“datetime”,那么批量删除这此行的方法是,用 vim 打开日志文件,在命令模式下,键盘输入:
:0,%s/^datetime.* //g
在正常模式下(按ESC进入)按键v进入可视化模式,然后按键盘左右键或h,l键即可实现文本的选择。
其它相关命令:
v:按字符选择。经常使用的模式,所以亲自尝试一下它。
V:按行选择。这在你想拷贝或者移动很多行的文本的时候特别有用。
CTRL+v:按块选择。非常强大,只在很少的编辑器中才有这样的功能。你可以选择一个矩形块,并且在这个矩形里面的文本会被高亮。
值得注意的是如果VIM中使用自动换行,那么直到你按ENTER换行前,VIM都会将你之前输入的内容视为一行而不是你看到的好几行,按块选择时就会按VIM中的行来选择块。
在选择模式的时候使用上面所述的方向键和命令(motion)。比如,vwww,会高亮光标后面的三个词。Vjj 将会高亮当前行以及下面两行。
全选的方法
v + G + $ 选定全部,不过前提是光标在首行的第一个字母才可以,而使用ggVG就不用光标定位在首行了
vim中选择匹配文本删除技巧的更多相关文章
- vim中添加多行注释和删除多行注释
1.多行注释: a. 按下Ctrl + v,进入列模式; b. 在行首选择需要注释的行; c. 按下"I",进入插入模式: d. 然后输入注释符("//&q ...
- vim中对文本的选择
本文主要解说vim中对文本的选择,vim中选择文本分为: (1)选择字符 ---- 命令行模式下输入小写v (2)选择行 ---- 命令行模式下输入大写V (3)选择块 ---- ...
- VIM 中鼠标选择不选中行号
VIM 中鼠标选择不选中行号 在Vim中,我们一般会使用 :set nu 打开行号开关. 但是打开行号后,有个弊端,那就是在用鼠标进行选择的时候,会将前面的行号也一起进行拷贝了.但是在gVim中进行选 ...
- Vim 中的持久撤消
Vim中的持久撤消 阅读文本大约需要俩分钟. 在 Vim 中像其他文本编辑器一样,你可以在当前会话中执行 "撤销/重做" .当一旦会话关闭,则你需要重新打开一个新文章,运行撤销将不 ...
- vim文本处理技巧
如果要把这篇文章写的详细透彻,那我没有必要去书写,因为已经有了这本书--<Vim实用技巧> 如果时间和精力足够的同学可以购买或者借阅,真的是写的很详细. Vim实用技巧 (豆瓣)http: ...
- R语言︱词典型情感分析文本操作技巧汇总(打标签、词典与数据匹配等)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:情感分析中对文本处理的数据的小技巧要 ...
- 每日vim插件--vim中的文本对象及相关插件
最近在个人博客上 http://foocoder.com 每天都会介绍一个vim插件,想起来园子也好久没更新了,也来更新一篇. 今天按读者留言的要求,介绍下文本对象.同时还会介绍我在用的几个文本相关 ...
- PDF中的空白页面怎么删除,PDF页面删除技巧
在Word中想要删除其中一页文档的怎么办?直接打开就可以删除了,那么我们如何删除PDF其中几页呢?下面小编就来告诉大家PDF删除页面跟空白页面的方法.想要删除PDF文档中的页面,可以使用PDF编辑器, ...
- vim中delete(backspace)键不能向左删除
MacOS修改为英文语言之后,忽然出现如题问题:delete键不能向左删除,只可以删除本次插入模式下插入的文本.原因: 转载:https://www.smslit.top/2016/11/27/vim ...
随机推荐
- yii框架的foreach 已经优化好了,可以“$user_model->attributes=$_POST['Admin'];”
yii框架的foreach 已经优化好了, 以前我们遍历数组的时候是用foreach循环 foreach ( as $key=>$value){ $user ...
- Android各种访问权限Permission详解
原文:http://jingyan.baidu.com/article/afd8f4de4688af34e386e976.html 在Android的设计中,资源的访问或者网络连接,要得到这些服务都需 ...
- TC2.0中怎样调用汇编程序
转载于: TC2.0中怎样调用汇编程序 一.概述 TC是美国BORLAND 公司在IBM PC机上开发的一个高效.优化的C编译程序,它自带高效的全屏幕编辑程序,在集成开发环境下可支持编辑.编译.连接调 ...
- InfiniBand技术简介
InfiniBand技术简介 转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese 介绍 随着CPU和通讯处理速度的 ...
- c++:参数型别的推导
STL源码剖析--侯捷 总结 尽管现在的很多语言支持参数类型的判别,但是c/c++并不支持这一特性. 但是我们可以通过一些技巧使得c++具有自动判别参数类型的特性. 模板 我们都知道在模板类和模板函数 ...
- 转:Win7 IIS7应用PHP Manager使用FastCGI通道快速部署PHP支持
原文来自于:http://www.jb51.net/os/windows/62390.html 正常情况下,我们在Windows系统中部署WEB服务器(iis)支持PHP是采用ISAPI通道.参照这篇 ...
- Standard Numeric Format Strings
The following table describes the standard numeric format specifiers and displays sample output prod ...
- 基于 SWTBot 进行 Eclipse GUI 自动化测试
背景简介 在软件开发领域,持续集成和部署对于软件测试自动化提出了越来越高的要求,基于 Eclipse 应用在这一需求中仍然占据重要的组成部分.目前主流的测试自动化工具主要以录制回放的功能为主,辅助以脚 ...
- Delphi编程中资源文件的应用
Delphi编程中资源文件的应用/转自 http://chamlly.spaces.live.com/blog/cns!548f73d8734d3acb!236.entry一.引子: 现在的Windo ...
- bzoj3295
没什么好说的,树套树应该随便搞我在128MB空间下大胆的写了主席树当然要把原树和修改树分开来建没有然后了 type node=record l,r,s:longint; end; ..] of nod ...