emacs編程
❶ 使用vim或emacs開發程序真的比IDE效率高嗎
並不絕對。vim 和 emacs 要想比 IDE 效率高,至少需要幾個前提:
對開發的語言很熟悉。包括程序本身的執行和調試工具等等。IDE 也是調用這些工具,但通常會把它們整合到一起,甚至在它們之上做些 interface 的工作。這方面很難說哪個效率高,但 IDE 的學習成本較低
熟悉 vim 或 emacs 本身。因為它們本身的優勢就是靈活可定製,如果你用不來,那肯定不如用別個已經定製好的 IDE
現在的 IDE 通常都比較簡單易用,而且功能也比較多。除非你要對代碼做相當復雜的更改,否則不至於比 vim 之類的工具慢太多。它們的缺點是太重,啟動 vim 一般只要1秒甚至更少,而啟動 IDE,即使固態硬碟可能也得半分鍾到一分鍾。
如果你只用一種編程語言,一個 IDE 可能就不錯。但如果你同時要用幾種語言,那麼每種語言可能都要一個 IDE,可能就不那麼方便了,如果只是看看代碼或做少量更改就更是如此。
IDE 好還是 vim & emacs 好取決於使用者自己的感覺。因為現語言變化比較快,所以完全熟悉一個語言,或者一個個的配置 vim 成本也比較高。個人感覺還是看需要,如果值得在這個語言開發上做長期投入,用 vim 會有一定的好處。不然 IDE 就可以了。
❷ 為什麼選擇Emacs
簡單的說,因為不能用hidemaru(秀丸)。
是不是應該先介紹一下秀丸?日文環境以外的場合好像很少見到它被人提起,日文界面的緣故吧,其實也有英文版的。秀丸是一款由日本人開發的Text Editor,功能豐富,Tab欄、自定義語法配色、Tag jump等常見功能就不提了,支持多種文件編碼以及自動匹配,匹配優先度也可以調整。(有這個功能的編輯器不多,當然需要這個功能的用戶也不多…)最大的亮點是支持預編譯指令的解析,即可以對#if…#endif、#ifdef…#endif之間的代碼高亮顯示,如下圖,無效代碼都變成了綠色(為了容易看清嵌套關系,縮進了一下)
至於Emacs的其他功能,太多了不知道該說哪個,常見編輯器有的它都有,常見編輯器沒有的它也有。一個特別吸引我的是,Emacs可以為不同文字(比如英文/中文)設置不同的字體,還可以為不同部分文字(比如代碼部分/注釋部分)設置不同字體,有這功能的編輯器還真不多。最重要是可自由定製,這點太重要了,有自由定製的特性,使它生出了無數的功能,上面提到的預編譯解析、字體設置什麼的,正是因為可以自由定製才得以誕生的。
這里有個展示Emacs魅力的視頻集,值得一看:Emacs Power_ Can your editor do THIS
Emacs被每個用戶定製後,由眾多用戶開發出來的各種新功能多到無數,所謂要學Emacs就是說要學這些擴展出來的功能,還要從中選擇適合自己的,有時候發現bug需要自己解決,這又要學elisp語言,總之是,很折騰。
選擇Emacs,大概就是因為功能豐富,可定製,寫新功能或調查bug不用像Sakura那樣要看全部的源碼,在Emacs這只要關注幾十行幾百行,而且其所用的elisp函數型編程語言不需編譯,調試方便。
❸ emacs可以用來寫各種語言的程序么
Emacs很強大,具有很多功能:收發電子郵件 通過ftp/TRAMP編輯遠程檔案通過Telnet登錄主機上新聞組登陸IRC和朋友交流查看日歷撰寫文章大綱對多種編程語言的編輯等等。
調試程序,結合GDB,EDebug等。支持C/C++,Perl,Python,Lisp等等
我試過C/C++,Perl,Python,php,java 什麼的 你自己學學試試看的呀。。
它還可以自己定製,拓展什麼的。
❹ emacs編輯器的下載及使用安裝問題
win下使用emacs不會是個好選擇,但是也看個人喜好。
在xp和win7下使用過emacs,win8如此高大上的系統,沒用過。想來emacs在win8下也不會有太大問題。下載區gun的主頁就行了,這里有emacs for windows的gun下載主頁:
http://ftp.gnu.org/gnu/emacs/windows/
向下拖,最後的列表,建議下emacs24.3版本。emacs的更新是很實在的,不會說像一些國產商業軟體一樣,屁大點事都弄個更新,eamcs每次更新都會有很大的變化,而且新版本穩定後也更好用。
emacs在win中安裝有2中方式:直接下載二進制文件 和 下載源碼編譯。
一般來說,直接從上面的連接下載編譯好的emacs就行了,這個一般是用MGwin在windows下編譯的。自己弄的話,下個mgwin或cygwin,手動make編譯,但不推薦這么做,挺折騰,各種依賴包,時間也很長。如果真想體驗一把,請另行網路,有教程。
eamcs想在win下用的舒坦對新手來說不是件容易的事。不清楚是誰鼓動你在win下用emacs寫C的。如果你沒有特殊的需求,比如,主要開發工作針對linux,建議你直接使用VS來寫VC,方便直接,開箱即用。
emacs是個geek味道很濃的東西,具體體現就是:
沒插件啥也干不好
插件安裝千奇百怪沒有統一的方式,好在24.3的elpa一定程度上緩解了到處找插件的問題,但是治標不治本。
配置過程是在使用elisp編程,門檻相對較高,起碼比滑鼠點來點去高不少
插件之間存在一些沖突,因為都是愛好者開發的,單個插件可能經過測試,但是這些東西放一塊好不好使,只有天知道。當然,知名的插件肯定是沒問題的,但是那些偏門的東東,就不好說了。
emacs使用,包括插件自帶的說明文檔,都不可能有中文支持,純英文雖然很練水平,但是對一些人,起碼是我來說,很頭痛。
基本就是這些。不是說emacs有什麼不好,都說高手才會使用emacs,所以這個東西,從來都不是對新手准備的,對新人相當的不友好。如果你用過vim,可能會覺著emacs初始的工作方式比vim好太多,起碼不會按個esc就啥也輸不進去。但是相信我,你被騙了,真的。想讓此等神器按你的方式工作,不折騰個欲仙欲死是不大可能了。geek么,就喜歡折騰,如果你是這樣的人,恭喜你,你找到了世界上最好玩的玩具,它能從各方面滿足你折騰與探索之心,盡情享吧。
如果你還是想用eamcs,體驗下這個gnu的拳頭產品的魅力,下面可以給點建議:
下載emacs後,請完成最基本的配置,找到.emacs.d和.emacs文件所在位置,這個在windows下很多人一頭霧水。如果有疑惑,請網路 emacs中文網。推薦用注冊表方式指定home目錄。
做好心理准備,最少在一星期之內,你不可能用它開始工作。
花半個小時看emacs toturial。emacs剛啟動的歡迎界面上有連接,也可以在help菜單下找到
熟悉了基本,可以去網上點配置貼到.emacs文件中,順帶瞅瞅elisp的尊容,以後要經常和它打交道。在這個過程中,你會見識到emacs在幾行elisp代碼下翻天覆地的變化,起碼表面上看起來,完全就是2個東西。
推薦篇文章:「一年成為eamcs高手」http://blog.csdn.net/redguardtoo/article/details/7222501 想少走彎路,可以嚴格按照上面說的做。
如果你看了第5條,覺著有道理,請下載牛人的配置,去github逛逛吧,你需要一個gitextension,請自行安裝,這個可以幫你在後面方便地管理你的.eamcs.d文件夾。配置新手推薦 emacs-starter-kit或者prelude,它們都在github上,請自行搜索。我用的是第二個,配置比較基礎,感覺還不錯。
如果你已經會用牛人配置的基本功能了而且還對emacs有很大的熱情,可以著手配置C開發環境了。
下面說說emacs下C開發環境的搭建,基本的插件有這幾個:
ecb cedet tabbar tabbar-ruler yasnippet auto-complete
分別說說:
ecb,emacs code browser,用於瀏覽代碼,大致看起來是這個樣子:
具體安裝一言難盡,請多網路谷歌。這個時候網路不一定好使,google相對可靠的多。這個是emacs插件的配置,還缺mgwin,這個要額外配置,添加exec-path。具體請網路,我沒配過,我emacs都是org寫文檔用的,偶爾騷包用eamcs寫,回頭VS編譯。
如果上面的你都折騰過了,你應該會發現新的問題:老子折騰了這么久,為什麼感覺還沒個VC6+VAX來的實在?問題出在cedet的組件semantic上。它負責進行語法分析,生成tags,顯示函數,進行跳轉和補全。但是這個東西是基於靜態分析的且是純elisp實現的,效率上可想而知。VS的補全是動態進行的且它本身可以利用編譯器的分析結果,所以速度快,補全能力很強。semantic則相反,它不能利用編譯器生成的語法分析樹,自己掃描靜態文件,這個效率可想而知。解決方法么,在linux下有個GCC的修改版本,可以將分析結果借用給semantic,貌似要額外進行一些配置,這樣配置過後,semantic就會快很多,起碼不會出現打開個C文件,分析半分鍾這么誇張。同樣的問題出在auto-complete和yasnippet上。它們同樣沒有編譯器分析結果做支持,所以補全基本是基於縮略詞的,相當的不智能。這些是emacs作為C開發環境的缺點。
這些問題的出現,並不是emacs本身不夠強,實在是沒有大廠商的支持,靠一群愛好者進行義務開發和維護,很大程度上限制了eamcs作為IDE上的能力。本身這個也不是大問題,emacs被愛好者稱為操作系統,IDE只是人們對它的一個期望罷了,這本來也不是它的強項,通用和擴展性才是它的靈魂。用emacs和VS比C開發效率,這本來就不公平,有本事你也去linux命令行跑跑看嘛。
lz加油吧,每個喜愛emacs並為之付出的人,都會得到回報。不要太過計較一時的得失,emacs絕對是值得信賴的工具,值得你為他付出。這個道理其實很簡單:除了emacs,你再也找不出一個程序,能夠完全按照你的意願工作。
emacs的神奇來源於它驚天地泣鬼神的設計理念:編寫lisp解釋器,解釋elisp語言,來製作一個編輯器,這本來就是天才的構想。在emacs的世界裡,絕大多數的功能都是lisp函數的求值帶來的。任何的按鍵,都會觸發解釋器對elisp函數或C函數的求值,運行,然後產生響應的行為。這點可以在eamcs中使用C-h k 來驗證,這個快捷鍵綁定到了describe-key,可以描述你的按鍵所觸發的函數,它的功能和所在的文件,你可以很方便地進入這個文件內部觀察elisp實現。emacs根本就是個解釋器+腳本語言的黃金搭檔。通過elisp編程,你能控制emacs的任何行為,自己編寫elisp函數實現一些自動化操作,比如通過一個按鍵自動格式化當前buffer中的所有代碼,編寫正則匹配函數並綁定到響應快捷鍵,這樣可以通過按下你綁定的按鍵序列,讓emacs自動隱藏指定的行,比如注釋,自動替換選中區域的指定字元序列等等。
總之,emacs無所不能,這個源於它奇思妙想的偉大設計。
以上。
❺ Emacs有什麼優點,用Emacs寫程序真的比IDE更方便嗎
一個IDE無非包括如下一些功能模塊:
一個編輯器;
一個編譯器;
一個調試器;
其它一些輔助功能,比如用滑鼠拖控制項。
什麼是最好的IDE?那肯定是
最好的IDE = 最好的編輯器 + 最好的編譯器 + 最好的調試器有哪個IDE做到這一點了嗎?只有Emacs。Emacs可以很方便地調用世界上最牛的編譯器(gcc),和調試器(gdb)。也許你會說「Emacs不能拖控制項啊」,沒錯,但在我看,拖控制項並不總是一個受人歡迎的功能,至少在系統編程的時候,它毫無用處。
而
且,從學習的角度來說,「用滑鼠編程」絕對是一個非常惡劣的習慣,因為這根本就是在逃避學習。「滑鼠化的IDE」隱藏了很多學生應該了解的技術細節。鄙學
院的絕大多數學生居然不知道C程序是要編譯之後才能運行的,他們以為寫好了程序,只要「按那個「感嘆號」按鈕」就可以了。這就是「滑鼠教學」的成果(你肯
定知道C編程這門課不歸我管)。Emacs可以幫助你克服「滑鼠依賴」,強迫你熟練地使用鍵盤。
更重要的是,Emacs不只是個IDE,
它是個ICE(Integrated Computing
Environment,這名字是我剛編出來的)。Emacs的設計目標就是,你裝了個Unix或者Linux系統,不需要裝任何其它軟體,只要裝一個
Emacs就夠了,它能幫助你完成所有的任務。也就是說,除了編程,你還可以用它寫論文、做幻燈片、瀏覽網頁、收發郵件、聊天、聽歌、看照片、玩游戲……
目前,好像除了直接在Emacs里看電影還不行,其它的都實現了。
Emacs如此「大一統」的設計目標顯然有違Unix的設計原則,do
one thing, and do it well. 但好在Emacs是模塊化的,它的每一個功能模塊都絕對遵循do one thing,
and do it well原則。你不喜歡那些功能,可以不裝它。
另外,還是從學習的角度來說,Emacs的學習曲線貌似比其他IDE要長不少,但是你
不必學習VC去寫C/C++,
不必學習eclipse去寫Java,
不必學習MS-Word去寫報告、幻燈片,
不必學習……
一句話,「Everything Emacs」,可以省下大量不必要的學習時間。人生苦短,何必讓你的生活被 VC/eclipse/MS-Word 搞得頭昏腦脹呢? 簡單而強大,本就是計科專業學生和非專業學生應有的不同 。
Emacs
絕對強大,但是否「方便」就不好說了。因為「方便」是一個很主觀的概念。反正,作為一個18年的老用戶,我肯定覺得方便。其他IDE太無聊了,那麼花哨而
龐大的東西,卻只適用於應用層編程。既不能用來寫論文,又不能做幻燈片,更不能用來聽歌、玩游戲。生活也太沒有樂趣了。
最後一點,Emacs還是一個巨大的開放社區,在這里你能結識到更酷一些的程序員。
Emacs入門還是很簡單的,它自帶了一個基礎教程。打開Emacs,按 Ctrl-h t , 教程就出現在你面前了。照著它邊看邊練,英文不太困難的話,一個小時應該可以走一遍了。之後,
Ctrl-h i m emacs就可以調出詳細的Emacs使用手冊;
Ctrl-h i m emacs lisp intro 可以調出Emacs Lisp入門教程;
Ctrl-h i m elisp 可以調出完整的elisp編程手冊。
當然,Google永遠是你最好的幫手。
❻ Vim 和 Emacs 分別適合哪些人群優劣勢的對比如何
一、Vim是一個類似於Vi的著名的功能強大、高度可定製的文本編輯器,在Vi的基礎上改進和增加了很多特性。VIM是純粹的自由軟體。
Vim普遍被推崇為類Vi編輯器中最好的一個,事實上真正的勁敵來自Emacs的不同變體。1999 年Emacs被選為Linuxworld文本編輯分類的優勝者,Vim屈居第二。
但在2000年2月Vim贏得了Slashdot Beanie的最佳開放源代碼文本編輯器大獎,又將Emacs推至二線, 總的來看, Vim和Emacs同樣都是非常優秀的文本編輯器。
二、EMACS,即Editor MACroS(編輯器宏)的縮寫,最初由Richard Stallman(理查德·馬修·斯托曼)於1975年在MIT協同Guy Steele共同完成。這一創意的靈感來源於TECMAC和TMACS,它們是由Guy Steele、Dave Moon、Richard Greenblatt、Charles Frankston等人編寫的宏文本編輯器。
自誕生以來,Emacs演化出了眾多分支,其中使用最廣泛的兩種是:1984年由Richard Stallman發起並由他維護至今的GNU Emacs,以及1991年發起的XEmacs。XEmacs是GNU Emacs的分支,至今仍保持著相當的兼容性。
Emac使用Emacs Lisp,這種有著極強擴展性的編程語言,從而實現了包括編程、編譯乃至網路瀏覽等等功能的擴展。
三、對比:
1、vim內置腳本語言有局限性,emacs的lisp語言更加強大。
2、功能上來講emacs可以做編輯器以外的很多事情。
比如很多軟體都可以使用emacs作為前端。
3、一般來說vim只用作編輯器,或者是一個繁瑣的IDE。
雖然vim可以通過腳本干一些別的事情,但是效率上總是不合適的。
❼ emacs是什麼
Emacs是一種強大的文本編輯器。高手可以實現全鍵盤操作編輯文本。
有些文本編輯器如記事本,在用其編輯或寫文章、代碼時如果要修改,此時要用滑鼠。這對於全鍵盤狂人來說非常影響效率。
❽ 本人編程初學者,EMACS這個軟體開進去以後到底在哪裡輸入代碼啊
哪裡都可以.
其實, emacs只是個文本編輯器.
❾ 一個編程初學者,是用vs好呢還是用emacs好
這兩個都是開發環境,也就是IDE。用什麼開發環境取決於你用什麼編程語言和工具。VS最適合微軟系的語言,例如VC++、C#、VB等.NET語言;emacs雖然適合很多語言,但是是一種較輕量級的IDE,對每種語言的專精度並不高,雖然集成了項目管理、版本控制等功能,但是距離一種專精的大型IDE還是有差距的,只適合需要大量切換編程語言的程序員和項目。因此,如果你只用一種編程語言,那麼就去找最適合這種編程語言的開發環境。比如C#用VS,Java用Eclipse,Python用Python(x,y)等。
熟悉linux系統對程序員來說還是很重要的,除了能幫助了解操作系統基礎知識外,在伺服器端編程與管理、嵌入式開發等領域都是必不可少的。