Office那樣的文本編輯器和帶Parser的文本編輯器有哪些不同?

我是指對開發人員而言。比如代碼編輯器會有牽一髮動全身的問題(插個空格,整棵AST樹完全不一樣了,增量更新非常困難),office類不太清楚


Vim、Atom、Sublime Text、VSCode

這四個裡面沒有一個原生支持 bidi 的

Emacs 的原生 bidi 支持也是剛剛做完……

Word 支持蒙古文豎排排版和正確的阿拉伯文排版,這一條可以乾死所有的文本編輯器…

另外 Word 的排版為了能實時更新,實際上基本是單向不回溯的,據我所知唯一的回溯是在孤寡行(Orphan and Widow)控制的地方。


Word排版的時候會「來回震蕩」,就像一個退火的過程。代碼編輯器顯然不需要。


office這種應該是以段落為單位吧?開發類編輯器一種是詞法分析類,這種會向前定位一個詞法起始點開始分析(比如一個函數起始點),還有一種是實時語法分析,一般是後台非同步分析,可參考language server工作原理


推薦閱讀:

Vim 8 中 C/C++ 符號索引:從 GTags 到 LanguageServer
如何從頭打造一個Markdown編輯器(序章)
Confluence 6 在編輯器中控制參數的顯示
收集漂亮的 Vim 主題
移動端內容編輯器(鍵盤)的設計參考

TAG:文本編輯器 | MicrosoftOffice | WPSOffice | IntelliJIDEA | IDE集成開發環境 |