[本文說明] 寫過多篇Vim應用小文,,為方便閱讀,現(xiàn)做整理,,并刪除舊文,。以后凡Vim文章,皆歸入此系列,。另,,為便于搜索,統(tǒng)一vim,、gvim及大小寫為Vim,?!?-xbeta 2007年12月20日
[本文目錄] 1 處理word目錄 2 改變大小寫 3 制作極點單字庫
1 處理word目錄任務:
從word中把目錄復制出來,去除多余信息(標題編號,、頁碼) 命令: %s/\d\|\.\|\s//gc 結果:
轉瞬間200多行1000多字符煙消云滅
2 改變大小寫剛才在BBS上回答了一個問題,,當然,這個問題并不復雜,。就是“如何把一個文本文件中的大寫字母全部替換成小寫”,。http://www./bbscon.php?board=NewSoftware&id=840511
Word當然可以。 但作為文本,,首先想到的還是gVIM,,用它如何操作呢? 打開文件后,,不用任何鼠標,、菜單,只須在鍵盤上按下“ggguG”就行了,。 極品軟件就是這樣:唯有功能強到極致,,操作才能簡到極致! 解釋一下:ggguG分作三段gg gu G gg=光標到文件第一個字符 gu=把選定范圍全部小寫 G=到文件結束
3 制作極點單字庫用五筆,,我習慣輸入單字,。為此,就要把詞庫中的多字詞去除,。
(之所以不設定為單字模式,,因為定義了一些其他詞,如bis=http://blog.sina.com.cn/m/xbeta等)
極點有一個這樣的工具,,但我用的不熟。 想到了強大的VIM文本編輯器,,一試,,果然成功,并且簡便,。 與大家分享如下,。(如果試驗請謹慎,先做好備份,。本文作者不對后果承擔任何責任) 并感謝杜老師在極點5.0中更正了極點設置后VIM會崩潰的問題,。 極點詞庫格式很簡單,編碼1-4字母,,幾個詞,,用空格分開。例如下:
?。黙aff 蓬蓬勃勃 苷 ?。黙afg 葡萄干 ?。黙afh 蘇東坡 |aafn 工場 ?。黙afo 蘜 要去除多于1字的詞語,,只要2行命令就OK。
用VIM打開詞庫文件,。 執(zhí)行命令 :.,$s/ \S\{2,}\( \|$\)/ /gc
和
:.,$g/^\a\{1,4} $/normal dd
保存,,就完了。
只要2行命令,,而每條命令又如此古怪,,大家可以想見VIM之功能強大。
VI是UNIX下文本編輯器的鼻祖,。也就是說,,基于它有很多改進的分支。
而VIM則是其中影響力最大的一支,。它的第一個版本出現(xiàn)于1976年(哪個軟件還有如此長的歷史而依然活躍),。 我以前知道并用過盜版的Ultraedit、Editplus,、Emeditor,,認識VIM后將它們?nèi)釛壛恕?BR> 你能設想VIM是免費開源的嗎? VIM在windows平臺下的版本是gVIM,,我用的就是它,。 安裝后(包括多國語言文件、插件,、語法文件)占空間20M,。其實,最少只要一個exe文件不到2M就可以用了,。 有興趣的可以到華軍下載一個,。再到網(wǎng)上找找教程,或到水木社區(qū)smth.org的VIM版,。 :.,$s/ \S\{2,}\( \|$\)/ /gc 解釋如下:
:表示外部命令 .,$表示當前行到全文結束 s表示替換 共有三個/ 前兩個//之間是要被替換的舊字符串(正則表達式),。“ \S\{1,}\( \|$\)”表示“先有一個空格,,再有1-N個非空字符,,然后是一個空格或行尾”。 后兩個//之間是要替換為的新字符串,,本例中,,為一個空格。 gc表示替換所有匹配的情況,,并且每次要用戶手工確認(這是為了直觀和謹慎,,如果有把握,,可以不確認,直接執(zhí)行),。 :.,$g/^\a\{1,4} $/normal dd 解釋如下:
:表示外部命令 g表示找到某個字符串,,然后執(zhí)行某個操作 第一個/之后是要找的字符串,“^\a\{2,4} $”表示找“行首,,然后是2-4個英文字母,,然后空格,然后行尾” 第二個/之后是要執(zhí)行的命令,,“normal dd”,,在VIM中是刪除本行。 3 |
|