原文地址http://tieba.baidu.com/p/3621892904?pn=1
第九名:Notepad++

總體印象:雖然過(guò)時(shí)了,但還是有不少大叔在用。
入選理由:
理由1:提供了Document Map功能。也就是Sublime、Atom等的minimap功能。
理由2:ViSimulator插件提供了Vim編輯模式,支持命令模式、插入模式、底線命令模式。不過(guò)這個(gè)插件弱爆了,連替換命令(:s, :%s)、窗口分割(:sp)都不支持,更不用說(shuō)Vim的其他高級(jí)命令了。并且非常不穩(wěn)定。
理由3:?真還找不到其他使用Notepad++的理由了,Notepad++提供的所有功能其他編輯器都做得更好。
必須的插件
ViSimulator:提供Vim編輯模式,支持命令模式、插入模式、底線命令模式。不過(guò)這個(gè)插件弱爆了,連替換命令(:s, :%s)、窗口分割(:sp)都不支持,更不用說(shuō)Vim的其他高級(jí)命令了。并且非常不穩(wěn)定。
Compare:文件比較,功能有點(diǎn)弱。
JSLint:Javascript語(yǔ)法檢查。不過(guò)這個(gè)功能只能手工運(yùn)行,編輯和保存文件時(shí)都不會(huì)自動(dòng)進(jìn)行語(yǔ)法檢查,尼瑪還能不能再弱智點(diǎn)?
HTML Tab:標(biāo)簽匹配。
缺陷:
不能打開(kāi)目錄,只能在Wordspace的Project里從目錄添加文件,不過(guò)速度特慢,特別是大型項(xiàng)目目錄要等很久,并且添加后所有目錄處于弱智打開(kāi)狀態(tài),得一個(gè)一個(gè)地慢慢關(guān)。
缺乏快速代碼瀏覽功能。
目錄窗口無(wú)法顯示文件和目錄的版本狀態(tài),編輯窗口無(wú)法顯示代碼的版本狀態(tài)。
缺乏PHP代碼檢查功能。
缺乏CSS語(yǔ)法檢查功能。
不支持jQuery函數(shù)模板。
不支持json,只能在Style Configure里把.json作為Javascript文件進(jìn)行語(yǔ)法高亮。
不支持yml語(yǔ)法。
不支持twig語(yǔ)法和標(biāo)簽匹配。
不支持Apache配置文件語(yǔ)法。
不能上下分割窗口,tab右鍵clone to other view只能水平分割窗口。
太多缺陷我都懶得羅列了。
問(wèn)題1:這么弱的編輯器都還有人在用?
問(wèn)題2:一個(gè)編輯器有啥資格抵制2008北京奧運(yùn)會(huì)?你以為你是奧巴馬他爹?
第八名:WebStorm

WebStorm = PhpStorm - PHP - Database support
總體印象:只專注Web前端開(kāi)發(fā)
入選理由:
理由1:代碼導(dǎo)航:Shift+Shift快速查找文件和代碼。Ctrl+B跳轉(zhuǎn),但無(wú)法像Vim那樣快速回到跳轉(zhuǎn)前的地方。
理由2:Shift+Ctrl+A快速調(diào)用編輯器提供的各種功能。
理由3:CodeGlance插件在代碼右側(cè)提供了minimap
理由4:Ctrl+Q快速查看當(dāng)前代碼的文檔,并且還可以查看外部的聯(lián)機(jī)文檔。
理由5:自帶git集成,文件在folder和tab上用不同的顏色標(biāo)示不同的版本狀態(tài),并且修改的代碼在左右側(cè)有顏色提示。不過(guò)folder里的目錄沒(méi)有版本狀態(tài)標(biāo)示,這點(diǎn)沒(méi)有Atom做的好。
理由6:IdeaVim插件提供了完整的Vim編輯模式,包括命令模式、插入模式、底線命令模式。PhpStore的ideaVim是所有編輯器中最好的Vim插件,甚至支持.vimrc配置,不過(guò)ideaVim的配置文件是~/.ideavimrc文件,是不是很逆天。超級(jí)棒!
理由7:強(qiáng)大的插件管理功能。打開(kāi)不支持的文件格式時(shí),會(huì)提示下載相關(guān)插件。
理由8:CSS文件左側(cè)顯示所見(jiàn)即所得的顏色。
必要的插件:
ideaVim: 提供Vim編輯模式
CodeGlance: 代碼右側(cè)的minimap
Apache config(.htaccess) support:Apache配置文件格式支持
缺陷:
不支持PHP是硬傷。
啟動(dòng)速度慢。
不支持Twig。
問(wèn)題:有了PhpStorm,為啥還有人使用WebStorm?
第七名:Eclipse

總體印象:易用性最差、速度最慢的IDE,沒(méi)有之一。
入選理由:
理由1:PDT提供了基于XDebug的可視化調(diào)試。
理由3:支持PHPDoc,自動(dòng)生成@param和@return。
理由4:Quick Doc:F2彈出函數(shù)文檔。
理由2:Vrapper插件提供了完整的Vim編輯模式,包括命令模式、插入模式、底線命令模式。支持替換命令(:s, :%s);支持增量搜索(/,?,#,,g#,g),但不是高亮。
必要的插件:
MPC:Marketplace Client
PDT:PHP Development Tool
Vrapper (Vim):提供Vim編輯模式。
Eclipse Color Theme:配色方案。
YEdit:YML語(yǔ)法支持。有可能不能安裝,我倒。
缺陷:
啟動(dòng)太慢
與Git集成很差,目錄窗口無(wú)法顯示文件和目錄的版本狀態(tài),編輯窗口無(wú)法顯示代碼的版本狀態(tài)。
缺乏minimap。
硬傷:缺乏PHP/HTML代碼補(bǔ)齊功能。
不支持yml語(yǔ)法。
問(wèn)題:得多強(qiáng)的配置才能流暢運(yùn)行?
第六名:PhpStorm

PhpStorm = WebStorm + PHP + Database support
總體印象:目前市面上功能最強(qiáng)的IDE。
入選理由:
理由1:PHP代碼格式支持PSR1/PSR2、Drupal、Symfony2等。
理由2:支持PHPDoc,自動(dòng)生成@param和@return。
理由3:自帶git集成,文件在folder和tab上用不同的顏色標(biāo)示不同的版本狀態(tài),并且修改的代碼在左右側(cè)有顏色提示。不過(guò)folder里的目錄沒(méi)有版本狀態(tài)標(biāo)示,這點(diǎn)沒(méi)有Atom做的好。
理由4:生成和查看PHP UML類圖。編輯窗口里選擇PHP class,右鍵菜單點(diǎn)擊Show Diagram就能查看蓋類的UML類圖。這個(gè)功能超級(jí)贊,其他編輯器還未發(fā)現(xiàn)有類似功能。
理由5:容易配置可視化調(diào)試(Xdebug, Zend Debugger)。
理由6:代碼導(dǎo)航:Shift+Shift快速查找文件和代碼。Ctrl+B跳轉(zhuǎn),但無(wú)法像Vim那樣快速回到跳轉(zhuǎn)前的地方。
理由7:Shift+Ctrl+A快速調(diào)用編輯器提供的各種功能。
理由8:CodeGlance插件在代碼右側(cè)提供了minimap
理由9:Ctrl+Q快速查看當(dāng)前代碼的文檔,并且還可以查看外部的聯(lián)機(jī)文檔。
理由10:Drupal Support插件方便基于Drupal框架的開(kāi)發(fā),并且該插件已經(jīng)支持Drupal8,超級(jí)棒!
理由11:IdeaVim插件提供了完整的Vim編輯模式,包括命令模式、插入模式、底線命令模式。PhpStorm的ideaVim是所有編輯器中最好的Vim插件,甚至支持.vimrc配置,不過(guò)ideaVim的配置文件是~/.ideavimrc文件,是不是很逆天。超級(jí)棒!
理由12:強(qiáng)大的插件管理功能。打開(kāi)不支持的文件格式時(shí),會(huì)提示下載相關(guān)插件。
理由13:CSS文件左側(cè)顯示所見(jiàn)即所得的顏色。
必要的插件:
ideaVim: 提供Vim編輯模式
CodeGlance: 代碼右側(cè)的minimap
Apache config(.htaccess) support:Apache配置文件格式支持
缺陷: 由于基于java開(kāi)發(fā),啟動(dòng)速度慢,內(nèi)存耗用大。
問(wèn)題:所有的IDE開(kāi)發(fā)者們,能不能不要再基于java了?
第五名:Sublime

總體印象:?jiǎn)?dòng)速度超快,不過(guò)安裝插件會(huì)難倒一大片人。
入選理由:
理由1:代碼導(dǎo)航:Ctrl+P調(diào)出Goto Anything快速查找文件和代碼。F12跳轉(zhuǎn),遺憾的是跳轉(zhuǎn)后不能像Vim那樣返回。
理由2:Shift+Ctrl+P調(diào)出Command Palette快速調(diào)用功能。
理由3:編輯器右側(cè)有整個(gè)文件的mini-map,方便快速定位代碼位置,不過(guò)這個(gè)mini-map比Atom的minimap要差些。
理由4:SublimeLinter插件提供編輯時(shí)的語(yǔ)法檢查,無(wú)須保存文件后才能檢查。不過(guò)需要為每種語(yǔ)言都安裝語(yǔ)法檢查插件,為啥不能像Vim那樣只安裝一個(gè)插件就支持所有語(yǔ)言?
理由5:Vintageous插件提供了較為完整的Vim編輯模式,包括命令模式、插入模式、底線命令模式。支持增量高亮搜索(/,?,#,,g#,g);支持替換命令(:s, :%s)。
理由6:GitGutter提供代碼修改狀態(tài),不過(guò)功能遠(yuǎn)不如Atom自帶的功能強(qiáng)大,例如minimap里就看不到修改狀態(tài),folder里的文件也看不到代碼修改狀態(tài)。
理由7:Xdebug Client插件提供了PHP可視化調(diào)試功能。
必要的插件:
Vintageous:提供Vim編輯模式。
SublimeLinter, SublimeLinter-php, SublimeLinter-jshint, SublimeLinter-shellcheck:提供語(yǔ)法檢查,保證代碼不出現(xiàn)語(yǔ)法錯(cuò)誤。
sublime-phpcs:PHP代碼審查,保證代碼符合規(guī)范。
PHP-Twig:Twig文件格式。
BracketHighlighter:括號(hào)和HTML標(biāo)簽匹配高亮。
Highlighter:高亮不正常的字符,例如尾部空格等。
DocBlockr:快速寫(xiě)注釋。
GitGutter:查看代碼修改狀態(tài)。
Git:git功能集成。
jQuery Snippets pack:jQuery函數(shù)模板。
Drupal:Drupal框架函數(shù)模板、自動(dòng)補(bǔ)齊、info文件語(yǔ)法高亮等功能。
Xdebug Client:PHP可視化調(diào)試。
缺陷:
解決ibus等中文錄入的問(wèn)題比較麻煩。
Javascript語(yǔ)法檢查不起作用。
問(wèn)題:對(duì)ibus等不能很好支持的編輯器也能賣錢(qián)?
第四名:LightTable

總體印象:雖然是未來(lái)的神編輯器,但還不夠成熟。
入選理由:
理由1:Ctrl+Shift+Enter對(duì)文件代碼進(jìn)行Inline evalutaion(這個(gè)功能太好太強(qiáng)大,是LightTable入選的重要原因)不過(guò)目前只支持的語(yǔ)言有限,支持Clojure、Javascript等。
理由2:無(wú)須外部瀏覽器,網(wǎng)站實(shí)時(shí)預(yù)覽,CSS修改后及時(shí)看效果。
理由3:Ctrl+O調(diào)出Navigator Pane快速查找文件。
理由4:Ctrl+Space調(diào)出Command Pallet快速調(diào)用功能。
理由5:無(wú)處不在的自動(dòng)補(bǔ)齊。
理由6:Ctrl+D顯示聯(lián)機(jī)文檔,這可是真正的inline顯示,劃時(shí)代的進(jìn)步啊,不過(guò)目前只支持Clojure語(yǔ)言是硬傷。
理由7:非常強(qiáng)大和完整的vim插件,提供了Vim所有的常用motions和操作,包括text objects;支持增量高亮搜索(/,?,#,,g#,g);支持跳轉(zhuǎn)列表(Ctrl-o,Ctrl-i);支持命令映射(:map, :nmap, :vmap)等。
必要的插件:
Vim:提供Vim編輯模式。
Git Status Bar:在狀態(tài)欄顯示git分支和代碼修改狀態(tài)。
缺陷:
Light Table是一款非常新的編輯器,插件數(shù)量有限。
缺乏minimap。
不支持代碼折疊。
問(wèn)題:LightTable什么時(shí)候能走向成熟?
第三名:Brackets

總體印象:專注于web前端開(kāi)發(fā)
入選理由:
理由1:Ctrl+E調(diào)出快速編輯,支持HTML標(biāo)簽(找到和編輯HTML標(biāo)簽所對(duì)應(yīng)的CSS樣式)、CSS顏色屬性、Javascript函數(shù)等。
理由2:Ctrl+K調(diào)出快速文檔,支持的語(yǔ)言非常豐富。
理由3:實(shí)時(shí)預(yù)覽。支持無(wú)后端邏輯的實(shí)時(shí)預(yù)覽和有后端邏輯的實(shí)時(shí)預(yù)覽。
理由4:集成Theseus提供Javascript調(diào)試功能。
理由5:Ctrl+Shift+O快速查找文件和代碼
理由6:brackets-minimap插件在代碼右側(cè)提供了minimap。
理由7:雖然不具備vim-css-color那種所見(jiàn)即所得的CSS顏色屬性顯示,但提供了鼠標(biāo)移到CSS顏色屬性上顯示實(shí)際顏色的功能。對(duì)CSS的顏色編輯提供了一定的便利。
理由8:點(diǎn)擊目錄里的圖片可以直接查看圖片、了解圖片尺寸和大小。在編輯HTML時(shí),鼠標(biāo)移動(dòng)到img標(biāo)簽上也可以預(yù)覽圖片,在編輯CSS時(shí)也可以預(yù)覽圖片。
理由9:brackets-vimderbar擴(kuò)展提供了較為完整的Vim編輯模式,包括命令模式、插入模式、底線命令模式。支持增量高亮搜索(/,?,#,,g#,g);支持替換命令(:s, :%s)。
必要的插件:
brackets-minimap:代碼右側(cè)的minimap
brackets-vimderbar:提供Vim編輯模式
brackets-code-folding: 代碼折疊
brackets-phplinter, brackets-csslint: 語(yǔ)法檢查
brackets-QuickDocsPHP:提供PHP快速文檔
brackets-QUickDocsJS:提供Javascript快速文檔
Brackets-icons: 為不同的文件類型添加圖標(biāo)
缺陷:有什么缺陷呢?對(duì)了,實(shí)時(shí)預(yù)覽沒(méi)有LightTable好用。
問(wèn)題:奇怪,對(duì)于Brackets我竟不知道該提什么問(wèn)題?
第二名:Atom

總體印象:基于純web技術(shù)(Node.js + Chromium),使用簡(jiǎn)單、功能強(qiáng)大
入選理由:
理由1:Ctrl+P快速查找文件和代碼
理由2:Ctrl+Space自動(dòng)補(bǔ)齊
理由3:超強(qiáng)的minimap插件,比Sublime的mini-map強(qiáng)大很多,minimap里甚至有g(shù)it-diff顏色提示,這個(gè)很有用啊。
理由4:超強(qiáng)的git集成,folder里不同的版本控制狀態(tài)用不同的顏色標(biāo)示,并且修改的代碼在左右側(cè)有顏色提示。
理由5:linter插件提供實(shí)時(shí)語(yǔ)法檢查功能,代碼修改后無(wú)須保存就能得到實(shí)時(shí)的語(yǔ)法檢查。
理由6:web-browser等插件提供了實(shí)時(shí)預(yù)覽功能,PHP/Javascript/CSS等文件修改后會(huì)自動(dòng)刷新網(wǎng)站顯示。
理由7:強(qiáng)大的插件管理功能,狀態(tài)欄自動(dòng)提醒插件新的版本,一鍵更新,可以在不卸載插件的情況下停用插件等。除了圖形界面外,還可以通過(guò)apm install命令安裝插件。
必要的插件:
linter:實(shí)時(shí)語(yǔ)法檢查,保證代碼語(yǔ)法正確性。
linter-csslint:CSS代碼檢查。
linter-jshint:Javascript代碼檢查。
linter-php:PHP代碼檢查。
minimap: 提供代碼右側(cè)的minimap。
vim-mode: 提供Vim編輯模式,不過(guò)只提供了命令模式和插入模式,遺憾的是還缺乏Vim的底線命令模式,這個(gè)硬傷有點(diǎn)大。
css-snippets:CSS代碼模板。
javascript-snippets:Javascript代碼模板。
jquery-snippets:jQuery代碼模板。
symfony-snippets:Symfony代碼模板。
drupal:Drupal代碼模板。
web-browser:網(wǎng)站實(shí)時(shí)預(yù)覽。
缺陷:
Atom的vim-mode這個(gè)插件有點(diǎn)弱啊。
缺乏快速查看PHP/CSS/Javascript文檔的功能。
問(wèn)題:能不能少占點(diǎn)內(nèi)存呢?
第一名:gVim

總體印象:高效率代碼開(kāi)發(fā)無(wú)可替代的編輯能力。
入選理由:
理由1:Vim是一個(gè)模式化編輯器,提供多種編輯模式:命令模式、插入模式、底線命令模式等,這些不同的模式讓編輯更加輕松。
理由2:快速編輯功能
Vim提供的那些組合命令是快速編輯利器,例如dw(刪除到下一個(gè)單詞)、d$(刪除到行末)、dG(刪除到文件末尾)、d}(刪除到函數(shù)末尾)、以及yw、y$、yG、y}等命令,以及>$,>}等??焖倬庉嬅钐噙@里根本就不可能列完。我們?cè)賮?lái)看幾個(gè)超級(jí)強(qiáng)大的命令:
dtr : 刪除到下一個(gè)r
yit : 拷貝HTML標(biāo)簽里的所有內(nèi)容
di{ : 刪除{}里的所有內(nèi)容
:%s/this/replace/g : 將文件中的所有this替換為replace
:-7,+2d : 刪除當(dāng)前行前面7行到后面2行的內(nèi)容
:vimgrep /SearchItem/ */.scss : 在所有的scss文件中搜索SearchItem
好了到此為止,Vim強(qiáng)大的快速編輯能力寫(xiě)幾本書(shū)都講不玩。
理由3:強(qiáng)大的代碼瀏覽功能:":ts xxx"快速查找代碼;g]跳轉(zhuǎn)代碼,CTRL-O返回。ctrlp.vim插件提供文件和代碼的模糊查詢功能,用于快速打開(kāi)文件。
理由4:youcompleteme插件提供了無(wú)處不在的自動(dòng)補(bǔ)齊功能。
理由5:syntastic插件提供了各種語(yǔ)言的語(yǔ)法檢查功能,保證代碼的正確性。
理由6:vim-gitgutter插件提供代碼修改狀態(tài)。
理由7:matchit插件可以通過(guò)%按鍵匹配HTML標(biāo)簽,方便找到開(kāi)始和結(jié)束標(biāo)簽了。
理由8:vim-css-color插件提供了所見(jiàn)及所得的CSS顏色屬性,極大方便了CSS文件的開(kāi)發(fā)和維護(hù),目前還沒(méi)有其它編輯器提供類似功能。
理由9:vdebug插件提供了PHP、Python的可視化調(diào)試功能。
理由10:通過(guò)PIV插件,Shift+k快速查看PHP函數(shù)文檔。
理由11:Vim自帶的代碼比較和合并功能很好用。
必要的插件:
nerdtree:文件和目錄瀏覽。
ctrlp.vim: 代碼和文件模糊查找。
syntastic:支持各種語(yǔ)言的語(yǔ)法檢查。
fugitive:git集成。
PIV: PHP集成環(huán)境,自動(dòng)產(chǎn)生PHP文檔,Shift+K查看PHP函數(shù)文檔。
tagbar:函數(shù)列表。
ultisnips:提供代碼模板功能,但不包含各語(yǔ)言的代碼模板。
vim-snippets:提供各種語(yǔ)言的ultisnips的代碼模板。
youcompleteme:無(wú)處不在的自動(dòng)補(bǔ)齊
vim-airline:強(qiáng)大的狀態(tài)欄。
echofunc:了解函數(shù)參數(shù)。
vim-twig:Twig模板支持。
vim-css-color:所見(jiàn)及所得的CSS顏色。
vdebug:PHP、Python等可視化調(diào)試。
vim-gitgutter:顯示文件每一行的修改狀態(tài)。
缺陷:
Vim學(xué)習(xí)曲線陡峭且漫長(zhǎng)
缺乏minimap
問(wèn)題:這么多年過(guò)去了,為何就不能出現(xiàn)一款超越Vim的編輯器呢?