• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            為生存而奔跑

               :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              271 Posts :: 0 Stories :: 58 Comments :: 0 Trackbacks

            留言簿(5)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            積分與排名

            • 積分 - 326800
            • 排名 - 74

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            簡(jiǎn)介

            沒(méi) 有聽(tīng)說(shuō)過(guò) Emacs 嗎?沒(méi)有關(guān)系,花上30分鐘就能了解和熟悉這個(gè)古老而強(qiáng)大 的編輯器。他被很多人稱作世界上最強(qiáng)大的編輯器。用戶從無(wú)數(shù)高手到IT民工到 普通文本編輯器用戶,可以符合幾乎所有人的需求。甚至可以在 Emacs 里運(yùn)行 音樂(lè)播放器、網(wǎng)頁(yè)瀏覽器等等,Emacs 更像是一個(gè)操作平臺(tái)。

            使用 Emacs 可以完全拋棄鼠標(biāo),不必在打字的同時(shí)把手移開(kāi)鍵盤找鼠標(biāo),不必在 一大堆深藏不露的菜單里尋找那些常用功能,也不必被一條條工具欄遮擋視線。 大多數(shù)的 Windows 編輯器都有一條菜單欄,n條工具欄。菜單里有無(wú)數(shù)選項(xiàng),很 多選項(xiàng)都會(huì)彈出一個(gè)對(duì)話框,這個(gè)對(duì)話框又會(huì)帶有層層疊疊的標(biāo)簽,每個(gè)標(biāo)簽里 又有很多輸入框很多按鈕。一個(gè)簡(jiǎn)單的把所有字母大寫(xiě)的命令就要在菜單里翻半 天,說(shuō)不定還找不到,而他們的幫助信息又總是不知所云。而 Emacs 的大多數(shù)操 作都可以通過(guò)快捷鍵或直接輸入命令完成,而且有著極好的幫助系統(tǒng),可以通過(guò) 多種方式找到你想要的命令或按鍵。

            不要被 Emacs 簡(jiǎn)單的外觀和與眾不同的操作方式迷惑,上手 Emacs 并不是什么 難事,看一遍 Tutorial 就可以了,Emacs23 已經(jīng)帶著多種語(yǔ)言版本的快速指南, 包括中文。仍然覺(jué)得 Tutor 太長(zhǎng)?那可以繼續(xù)看本文。

            按鍵說(shuō)明

            首先說(shuō)明一下,Emacs 的按鍵表示方法。最常用的是 Ctrl 和 Alt 的組合鍵, 分別用 C 和 M 表示,比如:

            • C-x 就是 Ctrl+x,
            • M-x 就是 Alt+x,
            • C-M-f 就是 Ctrl+Alt+f,
            • M-% 就是 Alt+%,實(shí)際上是 Alt+Shift+5
            • C-x C-f 就是 Ctrl+x 然后再按 Ctrl+f,中間可以一直按著 Ctrl 也可以松 開(kāi),無(wú)所謂間隔多長(zhǎng)時(shí)間。

            這樣你就可以簡(jiǎn)單的用 C 和 M 表示 ctrl 和 alt 了。Shift 可以用 S 表示。

            鍵盤上的特殊按鍵用<>表示,比如回車,空 格,方向鍵上, 等等,一看就知道什么意思。

            不必追究為什么把 alt 寫(xiě)為 M,因?yàn)槟氵@次只有30分鐘時(shí)間。

            下載及安裝

            Windows 用戶

            Windows 用戶可以去 http://ntemacs.sf.net 下載可執(zhí)行文件或者源代碼。建議 下載Emacs23.x 。這是一個(gè) 7zip 的自動(dòng)解壓縮包,解壓到你喜歡的目錄就可以 了。

            到這里你大概用了5分鐘,當(dāng)然,下載和解壓縮時(shí)間不算在內(nèi)。:)

            Linux 用戶 (windows 用戶可以忽略)

            可以下載 CVS 的 Emacs 代碼,編譯一下就好了。下載 CVS Emacs23:

            $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co -r emacs-unicode-2 emacs

            編譯:

            $ cd emacs $ ./configure —enable-font-backend —with-xft —with-freetype —with-gtk

            注意 configure 的輸出,是否缺少什么東西,沒(méi)有問(wèn)題的話就可以 make:

            $ make bootstrap

            運(yùn)行一下 src/emacs 如果沒(méi)有問(wèn)題的話就可以安裝到默認(rèn)路徑:

            $ sudo make install

            常用命令

            啟動(dòng)和退出

            Windows 用戶可以用 Emacs bin 目錄下的 runemacs.exe 啟動(dòng),Linux 用戶鍵 入 emacs & 就可以了。

            啟動(dòng) Emacs 后應(yīng)該能看到這個(gè)界面:


            退出 Emacs 按 C-x C-c (就是 Ctrl+x 接著按 Ctrl+c)。

            打開(kāi)和保存文件

            啟動(dòng) Emacs 后,按 C-x C-f,minibuffer (就是 Emacs 最下面一條) 會(huì)提示路 徑,你可以在這里輸入路徑名和文件名,或者回車看到這個(gè)目錄列表。可以 用方向鍵移動(dòng)光標(biāo)到文件名上回車打開(kāi)文件,或者在子目錄上進(jìn)入子 目錄,在 .. 上進(jìn)入上一層目錄。

            打開(kāi)文件后像往常一樣編輯,隨便按字母鍵輸入一些字符。按 C-x C-s 保存文件。按 C-x k 回車關(guān)閉這個(gè) buffer。

            小結(jié):按鍵說(shuō)明

            這 里可以看到很多 C-x 開(kāi)頭的組合鍵,這些通常都是 Emacs 預(yù)先定義,全局性 的命令。按了 C-x 不動(dòng),一秒鐘后 minibuffer 提示 C-x- ,表示 Emacs 正在 等待用戶按下一個(gè)鍵。如果你想取消這次按鍵,可以接下去按 C-g,minibuffer 提示 C-x C-g is undefined 也就是說(shuō) Emacs 什么都沒(méi)有執(zhí)行。C-g 一般都是取 消命令,取消按鍵。如果按了 C-x C-h 就會(huì)出現(xiàn)一個(gè)幫助 buffer,里面是以 C-x 開(kāi)頭的按鍵幫助。C-h 是一個(gè)幫助按鍵。如何獲得更多的幫助,會(huì)在之后的 小節(jié)介紹。C-c 開(kāi)頭的按鍵通常是用戶自定義的按鍵和擴(kuò)展包或擴(kuò)展模式定義的 按鍵,同樣也可以獲得幫助信息。

            選定區(qū)域,剪切、復(fù)制、粘貼

            好了,到現(xiàn)在為止你大概一共花了 10 分鐘吧。

            你 可以用鼠標(biāo)拖選一塊區(qū)域。當(dāng)然,最好用鍵盤。按 C-@,minibuffer 提示 Mark set,設(shè)定了一個(gè) mark。然后移動(dòng)光標(biāo),這時(shí)候你就選定了光標(biāo)和 Mark 之 間的區(qū)域。什么都看不到?你可以按 C-w,這塊區(qū)域就消失了,C-w 是剪切。按 C-x u 可以撤銷上一次的剪切,C-x u 是取消。你肯定想看到你到底選中了哪塊 區(qū)域,可以按M-x 然后輸入 transient-mark-mode ,回車。這次你就可以看到你 選中了哪塊區(qū)域了。M-x 是執(zhí)行 Emacs 命令。

            【插播廣告】如果是德語(yǔ)鍵盤,在 Windows 下很可能按不出 C-@, 而 C-又被輸入法占去了。所以最好自己設(shè)定 set-mark 的按鍵。比如把 C-" 設(shè)為 mark 命令。按 C-: (ctrl-冒號(hào)) 輸入下面這句話,然后回車:

            (global-set-key (kbd "C-\"") 'set-mark-command)

            可以在你的.emacs文件里加入類似的語(yǔ)句

            【廣告結(jié)束】

            Emacs 有一個(gè)很有用的功能,在你選定了區(qū)域之后按 C-x C-x 可以交換光標(biāo) (point) 和 Mark 的位置,這樣你就可以修改調(diào)整你選定的區(qū)域了。

            按 C-g 取消選定的區(qū)域。

            重新用 C-@ 選定一塊區(qū)域,按 M-w,這是復(fù)制,移動(dòng)光標(biāo)到別處,按 C-y,這是 粘貼。緊接著再按一次 M-y,這時(shí)可以看到粘貼的內(nèi)容變成了上一次剪切的內(nèi)容。 再按 M-y 又變成之前一次復(fù)制的內(nèi)容。

            C-k 可以剪切一行。連續(xù)的 C-k 會(huì)把剪切的內(nèi)容放在一起,一次 C-y 就可以把 之前的 n 行一起貼上。

            C-x u 可以撤銷,不過(guò)這個(gè)撤銷和常規(guī) windows 程序的撤銷不太一樣。按了 C-x u 撤銷后,如果移動(dòng)一下光標(biāo),再按一次 C-x u,可以撤銷之前的撤銷命令。 這樣相當(dāng)于是 redu。

            小結(jié):

            • C-@ 選定區(qū)域
            • C-w 剪切
            • M-w 復(fù)制
            • C-y 粘貼
            • M-y 粘貼剪貼板之前的內(nèi)容
            • C-k 剪切一行
            • C-x u 撤銷

            查找

            其 他 windows 程序的查找通常會(huì)跳出一個(gè)對(duì)話框,這很討厭,會(huì)遮住文本內(nèi)容, 有時(shí)候我就會(huì)忘了我到底要找什么。Emacs 就不會(huì)這樣。按 C-s 是查找, minibuffer 提示 I-search: 接下來(lái)你可以輸入你要找的詞,比如想找 windows, 輸入 w,Emacs 開(kāi)始找到 w,光標(biāo)移動(dòng)到 w 上,接著輸入 i,Emacs 找到 wi, 并注意到Emacs 會(huì)同時(shí)高亮所有的 wi,接著輸入 n,Emacs 找到 win,等等。這 就是 incremetal search,它的好處是,你想要找 windows,但實(shí)際上你只要輸 入 win 就能定位到 windows 上了,不需要繼續(xù)輸入 dows 了。繼續(xù)按 C-s 找下 一個(gè)匹配的。C-r 往回查找。按回車或者方向鍵結(jié)束本次查找,再按兩次 C-s 重 復(fù)上次查找,按 C-g 取消查找,光標(biāo)回到原處。

            C-s 或 C-r 也可以用作光標(biāo)定位,比如想要移到前面 Emacs 處,就可以 C-r Emacs,效率很高,可以說(shuō)是指哪打哪。

            如果查找輸入的全是小寫(xiě),那么這次查找是大小寫(xiě)不敏感的,如果輸入字符中有 大寫(xiě)字母,那么這次查找就是大小寫(xiě)敏感的。很智能吧。

            C-M-s 或 C-M-r 是正則表達(dá)式查找。或者在 C-s 之后按 M-r 也可以切換到正則 表達(dá)式查找。這里不仔細(xì)講 Emacs 的正則表達(dá)式是怎么樣的。那樣會(huì)多花一個(gè)小 時(shí)。

            替換

            M-% 是 query-replace,輸入查找內(nèi)容和替換內(nèi)容,然后 Emacs 會(huì)詢問(wèn)是否要 替換,y 替換,n 不替換,! 替換光標(biāo)之后所有,q 結(jié)束,? 可以得到幫助。

            Emacs 的替換有一個(gè)很好的特性,可以只在選定區(qū)域內(nèi)進(jìn)行替換。這樣就可以放 心大膽地使用 ! 替換所用,而不用擔(dān)心超出范圍了。

            C-M-% 是正則表達(dá)式的替換。

            小結(jié):

            • C-s 和 C-r 向前向后查找
            • C-% 替換
            • C-M-s 和 C-M-r 向前向后正則表達(dá)式查找
            • C-M-% 正則表達(dá)式替換

            尋求幫助

            到這里你用了大概20分鐘,基本的文本編輯功能都有了。

            接著你可以自己摸索了。

            Emacs 提供了極其強(qiáng)大的幫助系統(tǒng)。

            C-h t 是一個(gè) tutorial,現(xiàn)在也有不同語(yǔ)言的 tutorial。按 M-x 輸入 help-with-tutorial-spec-language 可以選擇不同的語(yǔ)言。按 Emacs 可 以幫你補(bǔ)全命令。按兩次 會(huì)有補(bǔ)全的提示。

            C-h a 是 apropos command,你可以輸入幾個(gè)簡(jiǎn)單的單詞,Emacs 可以幫你找到 相應(yīng)的命令,這個(gè)幫助非常好用。比如你想把一個(gè)單詞全部大寫(xiě),但不知道該怎 么做,可以 C-h a 輸入 upcase word 或者 up word,Emacs 就會(huì)找到幾個(gè)命令, 其中一個(gè)是 upcase-word,并且對(duì)應(yīng)的按鍵是 M-u,你只要把光標(biāo)移動(dòng)到單詞前 按 M-u 就可以了。

            C-h k 是描述某個(gè)按鍵會(huì)執(zhí)行什么。例如你要看看 M-; 是干什么的,按 C-h k, 接著按 M-; 你就會(huì)看到 M-; 會(huì)運(yùn)行 comment-dwim,dwim 是 do what i mean 的縮寫(xiě),這個(gè)命令會(huì)注釋或反注釋你選定的區(qū)域,如果沒(méi)有選定區(qū)域,會(huì)在這一 行后面加上注釋。很聰明的命令吧。

            C-h c 簡(jiǎn)單描述某個(gè)按鍵執(zhí)行什么。

            C-h f 描述某個(gè)函數(shù)

            C-h v 描述某個(gè)變量

            C-h 會(huì)提供很多很多幫助信息,C-h ? 會(huì)顯示有哪些幫助信息。

            簡(jiǎn)單配置

            Emacs 有超強(qiáng)的可配置性,1000個(gè)人可以有1000種配置,可以有自己的鍵綁定, 有自定義的函數(shù),有自己喜歡的擴(kuò)展包。配置放在 home 目錄下的 .emacs 里, Emacs 啟動(dòng)的時(shí)候會(huì)自動(dòng)讀取這個(gè)文件。啟動(dòng) Emacs 后,C-x C-f ~/.emacs 會(huì) 打開(kāi) .emacs 文件,如果不存在的話就是新建這個(gè)文件。home 目錄在哪里呢? 可以 M-x getenv home 得 到 home 的位置。Linux 系統(tǒng)很好理解。 Windows 系統(tǒng),會(huì)默認(rèn)放在 C:\Documents and Settings\username\Application Data 下,有幾種方法可以指定 home 的位置:

            • 在 我的電腦->屬性->高級(jí)->環(huán)境變量 里添加一個(gè) HOME 環(huán)境變量,指定位 置。
            • 在注冊(cè)表 [HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs] (如果沒(méi)有 GNU 或 Emacs,添加一個(gè)即可) 添加 HOME 字符串變量,值為指定的 home 路徑。

            Emacs 配置使用的語(yǔ)言是 Elisp,Emacs 附帶非常詳細(xì)的 Elisp 手冊(cè),可以通 過(guò) M-x info 得到。配置 .emacs 一般只需要幾個(gè)簡(jiǎn)單語(yǔ)句,比如:

            • (setq variable-name value) 設(shè)置變量值,例如 (setq transient-mark-mode t) 設(shè)置選定區(qū)域范圍高亮
            • (require 'extension) 安裝一個(gè)擴(kuò)展包。
            • (load "file-name") 使用一個(gè) .el 文件
            • (global-set-key (kbd "C-c f") 'function-name) 全局自定義鍵綁定
            • (define-key dired-mode (kbd "j") 'dired-next-line) 局部鍵綁定,只在 dired-mode 起作用
            • (if ...) 一些簡(jiǎn)單的判斷語(yǔ)句

            這里提供一個(gè)簡(jiǎn)單的 .emacs 文件: quick.emacs.el

            你可以把它復(fù)制到你的 home 目錄下并改名為 .emacs 注意有個(gè).

            或者用 runemacs.exe -q -l quick.emacs.el 來(lái)指定 emacs 使用這個(gè)配置文件。

            總結(jié)

            到 這里差不多就是30分鐘吧,介紹一些文本編輯的基本操作。只是為了說(shuō)明上手 Emacs 其實(shí)很簡(jiǎn)單,而且?guī)缀趺恳粯硬僮鞫加斜绕胀?Windows 文本編輯器更好 的特性,比如可以任意調(diào)整已選定的區(qū)域,更好的復(fù)制粘貼機(jī)制,更好的撤銷機(jī) 制,更好的 isearch 查找方式,可以在區(qū)域內(nèi)替換,強(qiáng)大得多的幫助系統(tǒng),沒(méi) 有任何限制的擴(kuò)展性。用了幾天或幾個(gè)星期后就會(huì)覺(jué)得其他的編輯是多么麻煩和 弱小。


            posted on 2010-07-15 15:04 baby-fly 閱讀(20825) 評(píng)論(2)  編輯 收藏 引用 所屬分類: Ubuntu&Linux

            Feedback

            # re: Emacs教程 2013-05-15 09:01 ooxx
            不錯(cuò)  回復(fù)  更多評(píng)論
              

            # re: Emacs教程 2013-05-15 09:02 ooxx
            很好@ooxx
              回復(fù)  更多評(píng)論
              

            色综合久久精品中文字幕首页| 久久人妻少妇嫩草AV蜜桃| 午夜精品久久久久久影视777| 久久国产精品-国产精品| 亚洲中文字幕久久精品无码APP| 婷婷综合久久狠狠色99h| 久久久精品国产sm调教网站| 蜜臀av性久久久久蜜臀aⅴ| av色综合久久天堂av色综合在| 99久久综合国产精品免费| 久久久久久国产a免费观看黄色大片| 久久九九久精品国产| 久久久精品日本一区二区三区| 久久www免费人成精品香蕉| 国内精品久久久久久不卡影院| 大香网伊人久久综合网2020| 久久精品国产只有精品66| 久久综合九色综合欧美就去吻| 三级韩国一区久久二区综合| 久久久久波多野结衣高潮| 精品国产乱码久久久久久呢 | 亚洲精品国精品久久99热一| 中文字幕热久久久久久久| 久久久久久九九99精品| 88久久精品无码一区二区毛片| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 狠狠色丁香婷婷综合久久来| 国产精品久久久久影院色| 久久久久免费视频| 99久久国产精品免费一区二区| 狠狠88综合久久久久综合网| 国产午夜精品理论片久久| 嫩草伊人久久精品少妇AV| 韩国三级中文字幕hd久久精品 | 日本WV一本一道久久香蕉| 久久综合国产乱子伦精品免费| 91精品国产91久久久久久蜜臀| 久久中文字幕人妻丝袜| 91麻豆精品国产91久久久久久| 久久AV高潮AV无码AV| 国内精品伊人久久久久影院对白|