欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
[程序員小助手] Emacs,最強編輯器,沒(méi)有之一

[程序員小助手] Emacs,最強編輯器,沒(méi)有之一

程序員聯(lián)盟
2015-06-04 00:18

內容簡(jiǎn)介

1、Emacs簡(jiǎn)介

2、Emacs三個(gè)平臺的安裝與配置

3、自動(dòng)補全插件

4、小編的Emacs配置文件

5、常用快捷方式

6、和版本控制系統的配合(以SVN為例)

【程序員小助手】系列

在這個(gè)系列文章中(不定期更新),小編會(huì )把這些年(也沒(méi)幾年)的編程學(xué)習和工作中使用到的個(gè)人感覺(jué)非常好的軟件推薦給大家,希望能夠共享美好資源,使大家提高編程和辦事效率。

Emacs,最強編輯器,沒(méi)有之一

小編知道,此標題一出,肯定會(huì )遭受廣大群眾“詬病”,說(shuō)不好還會(huì )被其他編輯器的粉絲暗地里“干掉”。

比如,Vim編輯器的粉絲可能就會(huì )來(lái)“踢館”,VS或Eclipse的粉絲也興許會(huì )“群起而攻”,但是小編只是表達一下自己的感受,請拍磚的時(shí)候輕一點(diǎn),雞蛋少扔幾個(gè),如果扔的雞蛋多也請多扔幾個(gè)番茄過(guò)來(lái),這樣我可以做番茄炒蛋,謝謝。

對于很多人來(lái)說(shuō),使用Vim和Emacs,不僅是提升“逼格”的方式,更是上升到“信仰”的層面,夸張吧。當然這和宗教信仰不一樣,只是一種可愛(ài)的“偏執”而已。

Emacs實(shí)在能做很多事,不要認為它就只是一個(gè)文本編輯器,它可以說(shuō)是一個(gè)整合環(huán)境,或可稱(chēng)它為“集成開(kāi)發(fā)環(huán)境”,它還可以做以下事情:

  1. 上網(wǎng),瀏覽網(wǎng)頁(yè)

  2. 看視頻

  3. 收發(fā)郵件

  4. 調試程序,結合GDB,EDebug等。支持C/C++,Perl,Python,Lisp等等

  5. 玩游戲

  6. 計算器

  7. 記日記

  8. 管理日程,Task,ToDo,約會(huì )等

  9. 個(gè)人信息管理

  10. 目錄管理

  11. 文件比較

  12. 閱讀info和man文檔

  13. 等等

小編以前在Linux下編寫(xiě)代碼是使用Vim編輯器的,也非常強大,但是自從2014年接觸到Emacs之后,就愛(ài)上了Emacs(fall in love with Emacs),Vim雖然有時(shí)還會(huì )用到,但是大部分時(shí)間編寫(xiě)代碼還是用的Emacs。

一開(kāi)始我不知道為什么Emacs如此優(yōu)美又強大,直到后來(lái)閱讀了《黑客與畫(huà)家》這部經(jīng)典著(zhù)作(硅谷創(chuàng )業(yè)教父 Paul Graham 保羅·格雷厄姆所寫(xiě),其實(shí)也就是他的一些日志匯編而成),里面講述了Lisp語(yǔ)言的強大和優(yōu)美,而Emacs就是用Lisp語(yǔ)言編寫(xiě)的,怪不得。

閑扯一下為什么Lisp語(yǔ)言如此強大,雖然這門(mén)語(yǔ)言很老了,在2015年6月的TIOBE編程語(yǔ)言排行榜也只有第31位,但是:

摘錄自 阮一峰 翻譯的《黑客與畫(huà)家》一書(shū),推薦大家一讀

********************************************

如果我們把流行的編程語(yǔ)言,以這樣的順序排列:Java、Perl、Python、Ruby。你會(huì )發(fā)現,排在越后面的語(yǔ)言,越像Lisp。 Python模仿Lisp,甚至把許多Lisp黑客認為屬于設計錯誤的功能,也一起模仿了。至于Ruby,如果回到1975年,你聲稱(chēng)它是一種Lisp方言,沒(méi)有人會(huì )反對。

編程語(yǔ)言現在的發(fā)展,不過(guò)剛剛趕上1958年Lisp語(yǔ)言的水平。

1958年,John McCarthy設計了Lisp語(yǔ)言。我認為,當前最新潮的編程語(yǔ)言,只是實(shí)現了他在1958年的設想而已。 這怎么可能呢?計算機技術(shù)的發(fā)展,不是日新月異嗎?

1958年的技術(shù),怎么可能超過(guò)今天的水平呢? 讓我告訴你原因。 這是因為John McCarthy本來(lái)沒(méi)打算把Lisp設計成編程語(yǔ)言,至少不是我們現在意義上的編程語(yǔ)言。他的原意只是想做一種理論演算,用更簡(jiǎn)潔的方式定義圖靈機。 所以,為什么上個(gè)世紀50年代的編程語(yǔ)言,到現在還沒(méi)有過(guò)時(shí)?簡(jiǎn)單說(shuō),因為這種語(yǔ)言本質(zhì)上不是一種技術(shù),而是數學(xué)。數學(xué)是不會(huì )過(guò)時(shí)的。

你不應該把Lisp語(yǔ)言與50年代的硬件聯(lián)系在一起,而是應該把它與快速排序(Quicksort)算法進(jìn)行類(lèi)比。這種算法是1960年提出的,至今仍然是最快的通用排序方法。

直到今天,最高級的主流語(yǔ)言,也只是剛剛接近Lisp的水平。雖然已經(jīng)很接近了,但還是沒(méi)有Lisp那樣強大。

Lisp語(yǔ)言誕生的時(shí)候,就包含了9種新思想。其中一些我們今天已經(jīng)習以為常,另一些則剛剛在其他高級語(yǔ)言中出現,至今還有2種是Lisp獨有的。

*******************************************

怎么樣,是不是很有興趣了解一下如此強大的Lisp語(yǔ)言開(kāi)發(fā)出來(lái)的Emacs是如何優(yōu)美呢?

當然此文不可能帶大家領(lǐng)略所有Emacs的優(yōu)美之處。說(shuō)實(shí)話(huà),Emacs肯定存在不足之處: 小編還是很識相的,不敢冒天下之大不韙。

更多Emacs的好處只有大家使用了才能慢慢領(lǐng)略。

Emacs簡(jiǎn)介

Emacs是一種強大的文本編輯器,在程序員和其他以技術(shù)工作為主的計算機用戶(hù)中廣受歡迎。

EMACS,即Editor MACroS(編輯器宏)的縮寫(xiě),最初由Richard Stallman(理查德·馬修·斯托曼)于1975年在MIT協(xié)同Guy Steele共同完成。

(Richard Stallman可是開(kāi)源運動(dòng)之父啊,這位可愛(ài)的長(cháng)胡子大叔抵制Apple,抵制Facebook,抵制Amazon,抵制不少公司和機構。他也是自由軟件基金會(huì )(Free Software Foundation,簡(jiǎn)稱(chēng)FSF)的主席,而自由軟件基金會(huì )主導了包括GNU在內的很多開(kāi)源工程。GNU工程使得世界各地的程序員可以為L(cháng)inux操作系統開(kāi)發(fā)周邊軟件等,才有了Linux的今天。不然Linus Tovarlds(Linux之父)基本上光是寫(xiě)了一個(gè)Linux內核,哪夠啊。所以今天的Linux最正確的稱(chēng)謂應該是GNU/Linux )

自誕生以來(lái),Emacs演化出了眾多分支,其中使用最廣泛的兩種分別是:1984年由Richard Stallman發(fā)起并由他維護至今的GNU Emacs,以及1991年發(fā)起的XEmacs。XEmacs是GNU Emacs的分支,至今仍保持著(zhù)相當的兼容性。它們都使用了Emacs Lisp這種有著(zhù)極強擴展性的編程語(yǔ)言,從而實(shí)現了包括編程、編譯乃至網(wǎng)絡(luò )瀏覽等等功能的擴展。

你可以使用Lisp語(yǔ)言改寫(xiě)Emacs的功能組件,而且可以更改配置,完全自定義Emacs,所有Emacs是充滿(mǎn)無(wú)限可能的編輯器。

國際化

Emacs支持對多種文字的文本編輯,包括UTF-8在內的諸多編碼系統,加上對多種字符集、文稿、書(shū)寫(xiě)系統,以及不同文化的書(shū)寫(xiě)習慣都提供了支持,使得世界上大多數語(yǔ)言的使用者都能通過(guò)Emacs進(jìn)行文本處理。Emacs還能通過(guò)調用諸如ispell這樣的外部程序,實(shí)現多種語(yǔ)言的拼寫(xiě)檢查。

跨平臺性

Emacs是目前世界上最具可移植性的重要軟件之一,能夠在當前大多數操作系統上運行,包括類(lèi)Unix系統(GNU/Linux、各種BSD、Solaris、AIX、IRIX、Mac OS X等等)、MS-DOS、Microsoft Windows以及OpenVMS等,還有移動(dòng)Android平臺以及iOS。

緩沖區的概念

初學(xué)Emacs需要理解什么是緩沖區:

Emacs里的一切操作都發(fā)生在編輯緩沖區(buffer)里,它通常是某個(gè)文件的工作副本。如果你正在編輯的編輯緩沖區里包含著(zhù)某個(gè)文件的一個(gè)副本,那么當你保存自己所做的改動(dòng)時(shí),Emacs把編輯緩沖區的內容復制到文件中。 除了工作在文件副本上的緩沖區外,還有一些做臨時(shí)工作的緩沖區,它就像一張草稿紙,當然也可以隨時(shí)使用write-file命令("C-x C-w")或save-buffer命令(“C-x C-s”)保存這類(lèi)臨時(shí)工作緩沖區的內容。

小編一開(kāi)始也是對緩沖區的概念一知半解,不要怕,用著(zhù)用著(zhù)馬上就理解了。

可以參考一些高手的Emacs教程和“練級”系列

http://www.cnblogs.com/robertzml/archive/2009/09/10/1564108.html

http://blog.csdn.net/redguardtoo/article/details/7222501/

http://blog.sina.com.cn/s/blog_6df127760101ll7a.html

http://arch.pconline.com.cn//pcedu/soft/gj/photo/0609/865628_1.html

Emacs的官網(wǎng)

http://www.gnu.org/software/emacs/

Emacs的中文WiKi

http://www.emacswiki.org/emacs?interface=zh-cn

輕松一下,關(guān)于Emacs的一則玩笑

《Emacs 的日子是這個(gè)樣子的》

1. 聽(tīng)說(shuō)有 Emacs 這個(gè)東西。試了一下,感覺(jué)就像記事本一樣。沒(méi)什么學(xué)習曲線(xiàn)。就是……咋也找不到退出的辦法……

2. 開(kāi)始會(huì )一些 Emacs 了,開(kāi)始學(xué)習各種 mode,按鍵綁定,配置方法,開(kāi)始熟悉 Emacs……

3. 比較熟悉 Emacs了,基本使用 Emacs干活,每天“活在” Emacs 里面……

4. 非常熟悉自己“常用”的 Emacs,可以教別人 Emacs,大量泡 Emacs社區,大量下載、使用和跟蹤別人的擴展,已經(jīng)離不了 Emacs……

5. 漸漸不滿(mǎn) Emacs,漸漸熟悉 Lisp 語(yǔ)言,開(kāi)始改寫(xiě)“自己”的Emacs,在這期間,又開(kāi)始四處碰壁,工作效率總是被一個(gè)失敗的修改所影響……

6. 經(jīng)常修改 Emacs,自己手中的 Emacs基本上每周都和上一周有那么一點(diǎn)不太一樣…… 就是,改的太多了,經(jīng)常在某天整理代碼的時(shí)候突然發(fā)現……原來(lái)還有這么個(gè)易用的功能…… 忘記好久了……

7. …… ……

Emacs三個(gè)平臺的安裝與配置

1. Windows下安裝Emacs

請到以下鏈接下載Windows版的Emacs:

https://ftp.gnu.org/gnu/emacs/windows/

請大家下載列表中最新版本的zip文件,比如目前最新版的是2015年5月1日發(fā)布的24.5版:

emacs-24.5-bin-i686-mingw32.zip

下載后,用Winrar或7-zip解壓,會(huì )出來(lái)一個(gè)文件夾 emacs-24.5-bin-i686-mingw32

內含四個(gè)子文件夾:

bin

libexec

share

var

打開(kāi)bin文件夾,運行其中的 emacs.exe 文件即可開(kāi)啟Emacs,不需要安裝:

你可以把emacs.exe這個(gè)文件鎖定到任務(wù)欄,就很方便了,按一下圖標就啟動(dòng)了。

2. Linux下安裝Emacs

Debian一族(包括Ubuntu)下安裝Emacs:

sudo apt-get install emacs

Redhat一族(包括Fedora)下安裝Emacs:

sudo yum install emacs

其他的可以搜索如何安裝,或者下載Emacs的源代碼來(lái)編譯安裝。

下面演示Linux如何下載Emacs的代碼來(lái)編譯安裝(逼格最高的方式):

  1. 首先去

    ftp://ftp.gnu.org/pub/gnu/emacs

    上面有Emacs的幾乎所有版本的源代碼包,下載最新版的(用老版的也可以),如: emacs-24.5.tar.gz

  2. 解壓 emacs-24.5.tar.gz 并編譯,安裝,在終端(Terminal)中依次運行以下命令(如果是其他版本,則將如下命令中的24.5替換為相應版本即可):

    tar -zxvf emacs-24.5.tar.gz (解壓文件)

    cd emacs-24.5 (進(jìn)入目錄)

    ./configure (配置)

    make (編譯)

    sudo make install (安裝,會(huì )提示你輸入管理員密碼)

安裝完之后要啟動(dòng)Emacs很簡(jiǎn)單,開(kāi)一個(gè)終端(Terminal),輸入emacs,回車(chē),就可以了。不過(guò)小編嫌這樣太麻煩,可以用更簡(jiǎn)單的方式來(lái)打開(kāi)Emacs,我這里用一個(gè)鍵就可以了(演示環(huán)境是Fedora 21,不過(guò)其他系統如Ubuntu類(lèi)似):

  1. 打開(kāi)Fedora的“設置” (肯定知道設置在哪里吧)

  2. 選擇“鍵盤(pán)”

  3. 選擇列表中的“自定義快捷方式”,然后點(diǎn)擊加號“+”,用于添加新的快捷方式

  4. 選擇快捷方式的按鍵,小編這里選的是F2這個(gè)鍵,然后填寫(xiě)命令,就是“emacs”,再填寫(xiě)快捷方式的名稱(chēng),這個(gè)隨便填,我填的是“Emacs”,確定

  5. 按F2鍵試試,是不是就啟動(dòng)Emacs啦?這酸爽不言而喻!

3. Mac OS下安裝Emacs

Mac下安裝Emacs,網(wǎng)上有不少文章,有用Git弄下來(lái)Emacs的源碼然后編譯安裝的; 也有用一些包管理軟件來(lái)安裝的,但是小編推薦一個(gè)更方便的方式,和Mac下安裝QQ,迅雷那樣方便:

http://emacsformacosx.com/

上這個(gè)網(wǎng),然后下載那個(gè)dmg包,Mac用戶(hù)肯定懂的,就是Mac下安裝軟件的最常用方式。然后就沒(méi)有然后了... 如果這樣你都不會(huì )裝Emacs,那真心沒(méi)必要用Emacs了...

自動(dòng)補全插件

安裝完Emacs之后,還需要安裝一個(gè)自動(dòng)補全(可以自動(dòng)補全關(guān)鍵字,文本等)的擴展,非常強大,名叫company-mode,官網(wǎng):

http://company-mode.github.io/

幸好,這個(gè)擴展并不需要我們按照傳統的方式從官網(wǎng)下載、安裝到Emacs里面,因為Emacs里有個(gè)安裝擴展的列表,有點(diǎn)類(lèi)似 Debian系列的 apt-get 和 Redhat系列的yum 這樣的包管理工具,所以我們只需要按步驟安裝:

  1. 按下 M-x 來(lái)調出命令輸入

  2. 輸入 list-packages,回車(chē)

  3. 在出現的列表里,點(diǎn)擊 company

  4. 在右邊出現的新緩沖區里點(diǎn)擊 Install(英文: 安裝)

  5. 點(diǎn)擊 Yes

用此方法(list-packages命令)也可以安裝很多其他的Emacs的插件(擴展),大家也看到列表里有很多插件了吧,所以說(shuō)Emacs都有點(diǎn)像一個(gè)小型的操作系統。

小編的Emacs配置文件

請點(diǎn)擊“閱讀原文”來(lái)下載小編打包好的壓縮文件(.rar格式),內含小編的 Emacs配置文件.emacs (前面有一個(gè)點(diǎn)的,不要忘啦)和三個(gè)有用的模塊,供 .emacs 文件調用。

當然大家可以從網(wǎng)上下載一些大牛的Emacs配置文件,看一下他們的Emacs快捷鍵(除了基本的一些通用快捷鍵以外,用戶(hù)可以自定義很多快捷鍵,可以定義在 .emacs 文件中)。

如果你“不幸”選擇使用小編的Emacs配置文件,那么:

  1. 請用小編的 .emacs 文件替換你的家目錄的.emacs文件 (安裝完Emacs,你的家目錄,也就是 ~ 下就會(huì )有一個(gè) .emacs 文件)。

  2. 把壓縮文件里的其他三個(gè)模塊文件放置到 .emacs.d 這個(gè)文件夾下的modules文件夾 (.emacs.d 文件夾是安裝完Emacs就會(huì )有的,也在家目錄里,不過(guò)modules文件夾需要你自己創(chuàng )建):

    cd ~/.emacs.d/

    mkdir modules

    cp php-mode.el psvn.el saved-places modules/ (或者手動(dòng)直接把三個(gè)模塊文件復制到modules文件夾里)

常用快捷方式

Emacs的快捷鍵都是綁定于Ctrl和Alt(或稱(chēng)Meta, 在Mac下就是Cmd鍵)上的,例如C-x就是Ctrl+x,M-x就是Alt+x (在Mac下就是Cmd鍵)。當然所有的按鍵都可以自定義。

所以下面我在講述快捷鍵的組合表示方式時(shí):

  1. C 代表Ctrl鍵

  2. M 代表Alt鍵或者在蘋(píng)果的Mac系統下是Cmd鍵

  3. C-x C-c 代表著(zhù),先按C-x,再按C-c

  4. C-x k 代表著(zhù),先按C-x,松開(kāi)手,再按k

小編平時(shí)最常用的是這些快捷鍵組合

  1. M-s : 新建一個(gè)buffer(緩沖區)

  2. C-x O : 注意是大寫(xiě)的O,不是零,所以需要按住shift鍵再按o鍵。用于在緩沖區之間切換

  3. C-g : 取消當前操作

  4. C-x u : 回到上一步,相當于Undo

  5. C-x C-3 : 把緩沖區(buffer)分為左右兩個(gè),新的一個(gè)緩沖區是復制當前的緩沖區 (可以執行多次,來(lái)分割出很多小窗口)

  6. C-x C-2 : 把緩沖區(buffer)分為上下兩個(gè),新的一個(gè)緩沖區是復制當前的緩沖區 (可以執行多次,來(lái)分割出很多小窗口)

  7. M-w : 選中文字的情況是復制文字,而如果沒(méi)有選中文字則是復制當前的一行

  8. C-w : 選中文字的情況是剪切文字,而如果沒(méi)有選中文字則是剪切當前的一行

  9. M-x : 調出命令輸入,可以在后面接命令,比如man,svn-status,等

  10. C-y : 黏貼

  11. C-x C-s : 保存文本

  12. C-x C-f : 打開(kāi)文件,如果文件不存在,則新建文件

  13. C-x C-v : 打開(kāi)一個(gè)文件,取代當前緩沖區

  14. C-x k : 關(guān)閉當前緩沖區(buffer)

  15. C-s : 向前搜索

  16. C-r : 向后搜索

  17. C-x h : 全選

  18. C-v : 向下翻頁(yè)

  19. M-v : 向上翻頁(yè)

  20. C-f : 前進(jìn)一個(gè)字符

  21. C-b : 后退一個(gè)字符

  22. M-f : 前進(jìn)一個(gè)單詞

  23. M-b : 后退一個(gè)單詞

  24. C-@ : 標記開(kāi)始區域

  25. C-a : 移到行首

  26. C-e : 移到行尾

  27. M-a : 移到句首

  28. M-e : 移到句尾

  29. M-< : 緩沖區頭部

  30. M-> : 緩沖區尾部

  31. M-g M-g,再輸入數字 : 跳轉到文本的第幾行

  32. C-x 0 : 關(guān)閉當前緩沖區

  33. C-x C-c : 退出Emacs

  34. 暫時(shí)只能記起來(lái)這么多啦,還有很多快捷鍵就要你自己去發(fā)掘啦!小編平時(shí)也不會(huì )所有的快捷鍵都用上,上述的快捷鍵組合是最常用的。

注意: 千萬(wàn)不要死記這些快捷鍵組合,隨著(zhù)你使用Emacs,很快就能記住的,相信我!

還有一個(gè)平時(shí)常用的功能就是查詢(xún)函數,可以方便查詢(xún)已定義的函數:

  1. 按下 M-x 來(lái)調出命令輸入

  2. 輸入 man ,也就是Linux或Unix系統的man命令,是manuall的縮寫(xiě),也就是"手冊"的意思

  3. 然后輸入你要查詢(xún)的函數名,回車(chē)

  4. 就出來(lái)啦,比如小編查詢(xún)fprintf函數,就會(huì )彈出下圖右邊的緩沖區:

給出小編的 .emacs 配置文件的內容吧,免得萬(wàn)一下載鏈接失效了(至于那三個(gè)模塊,可以在網(wǎng)上找到下載的: php-mode.el psvn.el saved-places):

;;

;; ADDITIONAL REPOSITORY FOR MODULES TO LOAD

;;

(add-to-list 'load-path "~/.emacs.d/modules")

;;

;; ADDITIONNALS MODULES

;;

;;(require 'dsvn)

(require 'psvn)

(require 'php-mode)

(require 'saveplace)

;;(require 'unxls)

;; display the path to the file in the sidebar.

;;(require 'uniquify)

;;

;; KEYBOARD SHORTCUT

;;

(global-set-key [f9] 'compile)

(global-set-key [(control z)] 'undo)

;; We could use 'dabbrev-completion or 'dabbrev-expand

(global-set-key [(control return)] 'dabbrev-completion)

;;(global-set-key "\C-)" 'dabbrev-completion)

;;(global-set-key "\C-=" 'dabbrev-expand)

(global-set-key "\C-n" 'imenu)

(defun try-to-add-imenu ()

(condition-case nil (imenu-add-to-menubar "imenu") (error nil)))

(add-hook 'font-lock-mode-hook 'try-to-add-imenu)

;; Company mode in all buffers

(add-hook 'after-init-hook 'global-company-mode)

(global-set-key "\M-s" 'new-shell)

(global-set-key (kbd "C-x t") 'todo-show)

;;

;; Copy or Cut one line if no content selected

;;

;; copy region or whole line

(global-set-key "\M-w"

(lambda ()

(interactive)

(if mark-active

(kill-ring-save (region-beginning)

(region-end))

(progn

(kill-ring-save (line-beginning-position)

(line-end-position))

(message "copied line")))))

;; kill region or whole line

(global-set-key "\C-w"

(lambda ()

(interactive)

(if mark-active

(kill-region (region-beginning)

(region-end))

(progn

(kill-region (line-beginning-position)

(line-end-position))

(message "killed line")))))

;;

;; FUNCTION DEFINITION

;;

(defun new-shell ()

(interactive)

(let (

(currentbuf (get-buffer-window (current-buffer)))

(newbuf (generate-new-buffer-name "*shell*"))

)

(generate-new-buffer newbuf)

(set-window-dedicated-p currentbuf nil)

(set-window-buffer currentbuf newbuf)

(shell newbuf)

)

)

;;

;; resolving compilation problems. This force the environment variables

;; to be set before compiling.

;;

(let ((path (shell-command-to-string ". ~/.bashrc; echo -n $PATH")))

(setenv "PATH" path)

(setq exec-path

(append

(split-string-and-unquote path ":")

exec-path)))

;;

;; Ugly code for READING XLS (but works)

;; Requires: xlhtml & w3m

;;

(add-to-list 'auto-mode-alist '("\\.xls\\'" . no-xls))

(defun no-xls (&optional filename)

"Run xlhtml and w3m -dump on the entire buffer.

Optional FILENAME says what filename to use.

This is only necessary for buffers without

proper `buffer-file-name'. FILENAME should

be a real filename, not a path."

(interactive "fExcel File: ")

(when (and filename

(not (buffer-file-name)))

(write-file (make-temp-file filename)))

(erase-buffer)

(shell-command

(format "xlhtml -nc -te %s | w3m -dump -T text/html" (buffer-file-name))

(current-buffer))

(setq buffer-file-name nil)

(set-buffer-modified-p nil))

;;

;; START

;;

(custom-set-variables

;; custom-set-variables was added by Custom.

;; If you edit it by hand, you could mess it up, so be careful.

;; Your init file should contain only one such instance.

;; If there is more than one, they won't work right.

'(c-block-comment-prefix "http://")

'(case-fold-search nil)

'(column-number-mode t)

'(comint-completion-autolist t)

'(comint-completion-recexact t)

'(compilation-always-kill t)

'(compilation-auto-jump-to-first-error nil)

'(compilation-environment PATH=/home/griffon/trunk/indus/bin:/home/fox/components/gnutools/ecos-3\.0/arm-eabi/bin:/home/fox/components/ecos-3\.0/tools/bin:/home/avrdev/bin:/home/thomas/mes_fonctions:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin)

'(compilation-scroll-output (quote first-error))

'(compile-command "./makemake 5010 clean && ./makemake 5010 all -j 8 && ./makemake 5010 program")

'(completion-show-help t)

'(dabbrev-case-distinction t)

'(dabbrev-case-replace t)

'(doc-view-continuous t)

'(doc-view-image-width 850)

'(doc-view-resolution 200)

'(dynamic-completion-mode t)

'(grep-command "grep --exclude-dir=.svn --exclude=\\TAGS --exclude=\\*.{lst,lss,sym,list,o,elf,xml,json,sta,map,deps,d,sx,hex,doc,txt,pdf,tex} -inHr \"")

'(gud-gdb-command-name "arm-eabi-gdb -i=mi main.elf")

'(initial-scratch-message ";; This buffer is for notes you don't want to save, and for Lisp evaluation.

;; If you want to create a file, visit that file with C-x C-f,

;; then enter the text in that file's own buffer.

;; M-s: Open a new shell

")

'(safe-local-variable-values (quote ((todo-categories "Todo") (todo-categories "barracuda" "alligator" "Todo") (todo-categories "alligator" "Todo"))))

'(send-mail-function (quote mailclient-send-it))

'(svn-status-hide-unknown t)

'(svn-status-hide-unmodified t))

;;

;; EDITING/IDE

;;

(global-font-lock-mode 1)

(setq auto-mode-alist

(append '(("\.php$" . php-mode)

("\.module$" . php-mode))

auto-mode-alist))

;; saving position in files opened with emacsclient

;;(setq server-visit-hook (quote (save-place-find-file-hook)))

(setq-default save-place t)

(setq save-place-file "~/.emacs.d/saved-places")

;; Code completion case-insensitive, seems not working

;;(setq pcomplete-ignore-case t)

;;(setq case-fold-search t)

;;(setq read-buffer-completion-ignore-case t)

;;(setq read-file-name-completion-ignore-case t)

;; display the path to the buffer file using uniquify (required).

;;(setq uniquify-buffer-name-style 'reverse)

;; SHOW FILE PATH IN FRAME TITLE

;;(setq-default frame-title-format "%b (%f)")

;; Affiche le numéro de ligne et de colonne

(column-number-mode t)

(line-number-mode t)

;;

;; FORMATAGE

;;

;; Suppression des espaces en fin de ligne a l'enregistrement

(add-hook 'c++-mode-hook '(lambda ()

(add-hook 'write-contents-hooks 'delete-trailing-whitespace nil t)))

(add-hook 'c-mode-hook '(lambda ()

(add-hook 'write-contents-hooks 'delete-trailing-whitespace nil t)))

;;(defun set-newline-and-indent ()

;; (local-set-key (kbd "RET") 'newline-and-indent))

;;(add-hook 'lisp-mode-hook 'set-newline-and-indent)

;;

;; COLORS

;;

(custom-set-faces

;; custom-set-faces was added by Custom.

;; If you edit it by hand, you could mess it up, so be careful.

;; Your init file should contain only one such instance.

;; If there is more than one, they won't work right.

'(default ((t (:inherit nil :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 135 :width normal :foundry "unknown" :family "DejaVu Sans Mono"))))

'(compilation-warning ((t (:inherit warning))))

'(font-lock-comment-face ((t (:foreground "darkorange4"))))

'(font-lock-function-name-face ((t (:foreground "navy"))))

'(font-lock-keyword-face ((t (:foreground "red4"))))

'(font-lock-type-face ((t (:foreground "black"))))

'(linum ((t (:inherit shadow :background "gray95"))))

'(mode-line ((t (nil nil nil nil :background "grey90" (:line-width -1 :color nil :style released-button) "black" :box nil :width condensed :foundry "unknown" :family "DejaVu Sans Mono"))))

'(svn-status-directory-face ((t (:foreground "tomato")))))

;; sort of fullscreen

(add-to-list 'default-frame-alist '(left . 0))

(add-to-list 'default-frame-alist '(top . 0))

(add-to-list 'default-frame-alist '(height . 100))

(add-to-list 'default-frame-alist '(width . 200))

和版本控制系統的配合(以SVN為例)

因為有導入Emacs的SVN模塊(psvn.el),所以如果你使用了小編的Emacs配置文件,還可以和SVN(當然你要先安裝SVN, Fedora下是 sudo yum install subversion ; Ubuntu下是 sudo apt-get install subversion )配合使用,超級方便,比如你修改了幾個(gè)文件,那么在包含 .svn 這個(gè)文件的那個(gè)文件夾里按下: M-x,然后輸入: svn-status,回車(chē),確認,就會(huì )顯示一個(gè)列表啦,就是SVN的svn status命令所顯示的狀態(tài)列表。

然后,選中你要提交的文件,按 m 鍵,你可以一次選中好幾個(gè),取消選中按 u 鍵。

按 c 鍵開(kāi)始編輯提交注釋?zhuān)–omment),如下圖(綠色的是已經(jīng)選中(按 m 鍵)要提交的文件):

我這里輸入了“修改了幫助文檔”這一句注釋?zhuān)瓿芍?,按兩?“C-c”,就提交(commit)好了,非??旖?。

不知道SVN是什么的讀者,可以百度一下,SVN是一個(gè)常用的版本控制軟件。其他的更先進(jìn)的版本控制系統有Git, Mercurial等。目前所在公司不大,所以用SVN(集中式版本控制系統)也方便,之前在其他公司用過(guò)Git和Mercurial(這兩個(gè)是分布式版本控制系統)。

嘗試一下Emacs吧,真的是“神器”!

誰(shuí)用誰(shuí)知道,用過(guò)都說(shuō)好~

點(diǎn)擊下方鏈接查看 “Emacs配置文件和三個(gè)模塊的壓縮文件 (小編的百度云盤(pán)下載)”

http://pan.baidu.com/s/1bn74FhH

您若覺(jué)得本文不錯,請點(diǎn)擊“分享”

新朋友請關(guān)注「程序員聯(lián)盟」微信搜公眾號 ProgrammerLeague

小編微信號: frogoscar

小編郵箱: enmingx@gmail.com

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
EMACS基礎入門(mén)精要
emacs23的使用
Emacs 從入門(mén)到精通
Emacs Lisp 功能擴展集錦
Emacs隨想
Common LISP Hints
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久