028_vim实用技巧

一、经验总结。
<1>
删除空格:
:% s/ //gi    #正则为一个空格,替换为空,全局匹配。
<2>
删除空行:
:g /^\n*$/ d  #g为global  正则为:行开始+换行...  其实/^\n/就可以。  d为命令,表示删除。

<3>

vim的命令为:%s/^\n//g  //意思是全局替换所有以回车开头的字符,替换为空

<4>

如果有多个连续的空行,想保留一个  

vim的命令为:%s/^\n$//g

 二、vim作为开发工具

https://github.com/Unknwon/wuwen.org/issues/7       #配置 VIM 的 Go 语言开发环境 

三、多行编辑 

总结:进去区块模式后按下大写的i即I编辑即可!!!

(1)将光标移到要插入相同内容的第一行第一个字符上,如上面代码中item 1中的i上
(2)按下ctrl+v进入visual block模式
(3)按两次j或者2j{表示向下移动2行,j表示往下},将光标移动到要插入的最后一样,如上面代码中item 3中的i上
(4)按下I(大写i)进入编辑模式
(5)开始输入要插入的内容,如my_
(6)按esc退出(非常重要,不要忘记了),Vim会自动在这几行前面添加相同的内容,可能需要一些运行时间。

Reference: https://www.jianshu.com/p/50d5b6cfd73b

 

 

 

我这里在编辑一个很大的文件,有几万行,都是文件名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 删除所有空行
使用vi打开文本文件,然后进入命令模式输入 g/^s*$/d
这个时候要等待,它现在已经在处理文件了,最后保存即可,第一次用这个功能,不懂!下完命令后都没有等待,然后还以为自己哪个地方出错了呢。
感受到很强大的功能

posted @ 2015-07-10 15:33  arun_yh  阅读(217)  评论(0编辑  收藏  举报