VIM刪除


轉載:http://blog.chinaunix.net/uid-20652643-id-1906281.html

我這里在編輯一個很大的文件,有幾萬行,都是文件名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
這個時候要等待,它現在已經在處理文件了,最后保存即可,第一次用這個功能,不懂!下完命令后都沒有等待,然后還以為自己哪個地方出錯了呢。
感受到很強大的功能


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM