我这里在编辑一个很大的文件,有几万行,都是文件名sheetid, 中间有很多空行,我现在要做的事情就有要把这个文件中的空行都删除掉,这个本来想在ultraedit里面完成的,结果弄了好半天都没有搞定,时间紧急也没法再去慢慢的try了,干脆放到AIX上面使用vi来做,也是在网上google 结果找到很多这样的:

12)删除操作 
:%s/r//g 删除DOS方式的回车^M 
:%s= *$== 删除行尾空白 
:%s/^(.*)n1/1$/ 删除重复行 
:%s/^.pdf/new.pdf/ 只是删除第一个pdf 
:%s/// 又是删除多行注释(咦?为什么要说「又」呢?) 
:g/^s*$/d 删除所有空行 :g/^s*$/d 删除所有空行 
:g!/^dd/d 删除不含字符串'dd'的行 
:v/^dd/d 同上 (译释:v == g!,就是不匹配!) 
:g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行

:v/./.,/./-1join 压缩空行 
:g/^$/,/./-j 压缩空行 
ndw 或 ndW 删除光标处开始及其后的 n-1 个字符。 
d0 删至行首。 
d$ 删至行尾。 
ndd 删除当前行及其后 n-1 行。 
x 或 X 删除一个字符。 
Ctrl+u 删除输入方式下所输入的文本。 
^R 恢复u的操作 
J 把下一行合并到当前行尾 
V 选择一行 
^V 按下^V后即可进行矩形的选择了 
aw 选择单词 
iw 内部单词(无空格) 
as 选择句子 
is 选择句子(无空格) 
ap 选择段落 
ip 选择段落(无空格) 
D 删除到行尾 
x,y 删除与复制包含高亮区 
dl 删除当前字符(与x命令功能相同) 
d0 删除到某一行的开始位置 
d^ 删除到某一行的第一个字符位置(不包括空格或TAB字符) 
dw 删除到某个单词的结尾位置 
d3w 删除到第三个单词的结尾位置 
db 删除到某个单词的开始位置 
dW 删除到某个以空格作为分隔符的单词的结尾位置 
dB 删除到某个以空格作为分隔符的单词的开始位置 
d7B 删除到前面7个以空格作为分隔符的单词的开始位置 
d) 删除到某个语句的结尾位置 
d4) 删除到第四个语句的结尾位置 
d( 删除到某个语句的开始位置 
d) 删除到某个段落的结尾位置 
d{ 删除到某个段落的开始位置 
d7{ 删除到当前段落起始位置之前的第7个段落位置 
dd 删除当前行 
d/text 删除从文本中出现“text”中所指定字样的位置, 
一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容 
dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容 
dtc 删除当前行直到下一个字符“c”所出现位置之间的内容 
D 删除到某一行的结尾 
d$ 删除到某一行的结尾 
5dd 删除从当前行所开始的5行内容 
dL 删除直到屏幕上最后一行的内容 
dH 删除直到屏幕上第一行的内容 
dG 删除直到工作缓存区结尾的内容 
d1G 删除直到工作缓存区开始的内容

....

上面这段我要用的是这个地方
:g/^s*$/d 删除所有空行

使用vim打开文本文件,然后进入命令模式输入 g/^s*$/d
这个时候要等待,它现在已经在处理文件了,最后保存即可,第一次用这个功能,不懂!下完命令后都没有等待,然后还以为自己哪个地方出错了呢。
感受到很强大的功能

 

在vim编辑器中,删除操作的更多相关文章

  1. 在vim编辑器中实现python的tab补全

    在vim编辑器中实现python的tab补全 在vim编辑器中实现python tab补全插件有Pydiction,Pydiction可以实现下面python代码的自动补全:   1.简单python ...

  2. vim编辑器中撤销和恢复操作

    在VIM编辑器下切换至命令行模式: 撤销: u 恢复: ctrl + r

  3. 1201.1——Vim编辑器的相关操作

    一 vi的操作模式 vi提供两种操作模式:输入模式(insert mode)和指令模式(command mode).在输入模式下,用户可输入文本资料.在指令模式下,可进行删除.修改等各种编辑动作. 在 ...

  4. Linux系统vi或者vim编辑器中如何显示行号

    设置行号很简单 我们要到vi或者vim编辑器的命令模式下,输入set number :set number 按下回车就显示行号了 那么怎么关闭行号呢? 很简单,我们只要再到vi或者vim编辑器的命令模 ...

  5. VIM编辑器的宏操作

    这两天看到一个小练习,要求如下: 在GVIM下,将下面这张图的内容 改成下面这样 并且指出,要用批量操作的方式,不能一行一行的键入 其实第一反应是利用正则表达式来操作,但是让用正则表达式以外的操作方式 ...

  6. Linux的vim编辑器中的翻页命令

    当我们进入Linux的vim编辑器查看脚本时,按上下键查看是不是非常慢?这个时候就要用到我们的翻页快捷键了,快捷键命令如: 整页翻页命令为:Ctrl + f 键   f 的英文全拼为:forward: ...

  7. Vim 编辑器中全选操作

    ggVG  解释: gg 让光标移到首行,在vim才有效,vi中无效 V   是进入Visual(可视)模式 G  光标移到最后一行

  8. vim 编辑器的光标操作

    vim中最简单的移动光标的方式是使用使用方向键操作,但这种方式的效率底下,更高效的方式是使用快捷键,常用的快捷键如下表所示. 快捷键                                 功 ...

  9. 遍历List过程中删除操作报java.util.ConcurrentModificationException错误

    1:遍历List 同时 remove 元素,出现java.util.ConcurrentModificationException错误 @Test public void test3(){ List& ...

随机推荐

  1. SpecFlow使用入门之C# BDD

    SpecFlow使用入门 http://www.specflow.org/ SpecFlow是一个BDD工具,在这里对BDD不多赘述,你可以阅读一下微软2010年十二月的一篇文章,此外如果你想要更多了 ...

  2. Binder机制,从Java到C (2. IPC in System Service :AMS)

    1.建立Activity和Service的IPC之前 在上一篇 Binder机制,从Java到C (1. IPC in Application Remote Service)  里面有说到Activi ...

  3. W3C的CORS Specification

    W3C的CORS Specification 随着Web开放的程度越来越高,通过浏览器跨域获取资源的需求已经变得非常普遍.在我看来,如果Web API不能针对浏览器提供跨域资源共享的能力,它甚至就不应 ...

  4. [转]Blocking Code Injection on iOS and OS X

    Source:http://www.samdmarshall.com/blog/blocking_code_injection_on_ios_and_os_x.html Yesterday I pos ...

  5. 企业架构研究总结(34)——TOGAF架构内容框架之架构制品(下)

    4.2.31 数据生命周期图(Data Lifecycle Diagram) 数据生命周期图是在业务流程的约束之下对业务数据在其整个生命周期(从概念阶段到最终退出)中对其进行管理的核心部分.数据从本质 ...

  6. django安装配置及测试

    django安装之前我们假设你已经安装了python,和mysql(不是必须的):(如果没有google一下挺简单不介绍了)下面直接介绍django的安装配置:到下面连接可以下载www.djangop ...

  7. 记一次bug查找经历

    系统采用cell插件显示汇总数据,然后发现个公司数据显示不出来,接到这个任务开始查找bug. 通过需求了解并不知道其他公司什么情况,因为就这个公司有了反馈: 本来以为很容易找到点的,毕竟数据显示不出来 ...

  8. in和exists哪个效率高本人测试证明

    in和exists哪个效率高本人测试证明 SQLSERVR语句 in和exists哪个效率高自己测试本人测试证明 最近很多人讨论in和exists哪个效率高,今天就自己测试一下 我使用的是客户的数据库 ...

  9. Ionic.Zip.dll文件压缩和解压

    Ionic.Zip.dll文件压缩和解压 下载地址: http://download.csdn.net/detail/yfz19890410/5578515 1.下载Ionic.Zip.dll组件,添 ...

  10. IOS中KVO模式的解析与应用

    IOS中KVO模式的解析与应用 最近老翁在项目中多处用到了KVO,深感这种模式的好处.现总结如下: 一.概述 KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修 ...