2021/06/13

vi vim 令人又愛又恨的文字編輯器

  vi (vim)這個古老的UNIX 系列文字編輯器對許多只習慣Windows 操作的人是很難接受的,但對於一些鍵盤控來說它真的有其迷人的地方,在現在的Linux, AIX , MacOS 等系統預設都是有安裝的。特別是那些系統管理人員,只用終端機指令管理系統,查看log 來說真的是必學的工具。但使用它要熟記模式切換及指令真的初學者害怕。但對一些老骨頭來看,它的強大又必學的原因是工作上必要之外,個人認為對大型文字檔的處理能力真的不是一進圖形介面(GUI)文字編輯器能比的。自己在職業生涯上也曾痛苦過,但只要是遇到大型log 要開啟及搜尋,真的是沒有它不行。

       最近發現Windows 版的Git Bash 中也可以使用,遇到一些動則幾百MB或GB級的文字檔,它比UltraEdit 還是好用。學它真的會有一段記常用指令的痛苦期,但學會可以用一輩子。自己在SCO UNIX, SunOS, Linux, AIX, Mac OS 等都用過它,若是一陣子沒用,大概只會一些常用指令,應該不到二十個,其實指令縮寫都是英文,很容易記。至於搜尋的 regular expression (regex) 這就是學一次,在各種搜尋場合都可以用。

        最近從書架上將"UNIX 超級工具"一書的上下冊拿出來再看,發現vi在下冊佔用了很大的篇幅。在第三十一,三十二章都有介面,在這套經典巨著中少有指令可以佔用這麼大的篇幅。emacs 這個文字編輯反而沒有提到太多。其實,很多系統並沒有預設安裝emacs ,但vi, vim 卻是一定會有。

       個人推薦到YouTube 看一下Vim 編輯器 入門指南 ,它有上下兩集。若你是一個對效率有追求的人,還是很誠懇地建議你學一下,除非你電腦工作都不會遇到大型檔案的編輯,特別是搜尋及替換。

       我知道剛開始學習時心中一定會罵,為何要記一堆指令及縮寫指令。但你熟悉後會發現你如果在對一個文字檔案在編輯時還要移開雙手去使用滑鼠是多麼沒有效率及愚蠢的事。

      Vi 就是不使用「滑鼠」只使用「鍵盤」的文字編輯器,熟練地掌握它可以讓你用最少的動作,完成最多的事。特別是在只能使用終端機文字指令模式管理系統時,你一定要學會它。