Office那樣的文本編輯器和帶Parser的文本編輯器有哪些不同?
05-19
我是指對開發人員而言。比如代碼編輯器會有牽一髮動全身的問題(插個空格,整棵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集成開發環境 |