wordpress google php Android apache linux mysql Python 程序员 Firefox java shell centos 微软 云计算 开源 nginx Windows 编程 Ubuntu

Emacs编辑器

Vim是vi最受歡迎的變種之一,除了繼承了Vi迅捷的編輯方式, Vim的功能已經比原始的Vi強大得多。這也得益於它可以用Vim腳本無限地擴展。 Vim.org 上已經有數千個腳本了,給Vim增加各種各樣的特性和功能。

為了證明Vim的可擴展性不輸於emacs,也有用戶寫了在Vim中玩遊戲、運行Shell、和集成gdb在Vim內部調試的插件。客觀地講,Vim的腳本語言與Emacs的ELisp相比,略顯遜色,但這絲毫不妨礙它把Vim擴展成非常優秀的編輯器。

說到底,Vim的前身Vi和Emacs的設計采用了不同的哲學, Vi更符合Unix傳統,它通過管道機制和系統內各種積木工具打交道,它講究的是和系統內的工具程序協作來完成用戶的任務。和Emacs相比,它的定位很明確,就是要做一個強大的編輯器。因此Vim的絕大部分擴展,都是為了更好地完成編輯文本的任務。

海納百川,有容乃大。Emacs和Vim通過別的編輯器無法比肩的可擴展性,不斷吸收廣大用戶的智慧,是它們能成為“神器”的原因之一。

 

一旦你意識到Vim或Emacs的強大,你就踏上了不停發掘它們潛力的漫漫長路。你不停地改進自己的配置文件,你不停地搜索更好的插件,甚至有一天你開始動手寫自己的插件。就像劍客保養自己的劍一樣,你也甘心花時間提升你的Vim或Emacs。經年累月,不知不覺,你已經在那把劍上傾註了你的靈魂。

 獨特的操作方式讓你中了毒

Emacs和Vim有著迥異的操作方式,卻成了Unix/Linux世界中兩種代表性的操作方式,有些軟件的操作方式類似Vi,而有些軟件的方式類似Emacs,甚至有些軟件提供了Vi的鍵綁定和Emacs的鍵綁定讓你選擇。而無論哪種操作方式,對Windows用戶來說都是古怪的。雖說古怪,多少代人也驗證了這兩種操作方式的高效。

Emacs號稱Ctrl到死的編輯器。其實它幾乎用了所有的輔助鍵,聽說過沒有,Emacs = Esc + Meta + Alt + Ctrl + Shift。所以高德納大師說操作Emacs,就像彈奏管風琴。 Emacs使用非常多的組合按鍵,這大概也是它高效於其它無模式編輯器的原因之一。你也可以定義自己的組合鍵序列,調用自己寫的lisp函數,完成自己想要的功能。

Vi一向是以快速的文本編輯聞名於世的。它的按鍵更簡潔,通常是單個字符按鍵,就實現某種操作。但這是以有模式為代價的。你要不停地按Esc在從它的插入模式返回Normal模式。客觀得講,在文本編輯方面, Vim比Emacs高效,因為它提供了一些Emacs沒有對應功能的操作來輔助高效的文本編輯。但它的模式切換也讓一些人受不了,於是那些人選擇了 Emacs。

不管你選擇了Vim還是Emacs,你都要為習慣它們獨特的操作方式而努力,這是一個技藝積累的過程。當你習慣了Vim或Emacs,你會有欲罷不能的感覺,你希望用它們完成盡可能多的任務,因為你再用別的編輯器也已經不習慣。

用Vim或Emacs就像吸食毒品,慢慢地就會上癮。它們會帶給你漸漸強烈的快感,但你也向它們獻出了自己的靈魂。這時,你只能稱它們為神器。

延伸阅读

评论