• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 76,  comments - 621,  trackbacks - 0
            編輯器0.0.1版(原MegaxEdit)兼征名,歡迎噴!

            首先,對(duì)于下面的文字你可以盡情的噴,不過還是建議你留下聯(lián)系方式,以便我能和你做進(jìn)一步探討。現(xiàn)在這個(gè)進(jìn)度雖然不具備發(fā)布的條件,不過還是放上來獻(xiàn)丑吧。


            歷時(shí)數(shù)月大幅強(qiáng)化了內(nèi)核功能,目前已經(jīng)可以很流暢的編輯大文件了,并且只占用較低的內(nèi)存。打開一般文件的時(shí)候,所使用內(nèi)存也大幅降低,同時(shí)也提高了批量命令的執(zhí)行效率。當(dāng)然除了內(nèi)核,目前還談不上什么外圍功能。只實(shí)現(xiàn)了查找、替換、打開、保存、關(guān)閉、編碼探測、多窗口切換、DockWindow、窗口分割、bs/js腳本嵌入等等。附件中的版本應(yīng)該會(huì)有很多問題,在以后的日子里,我的主要工作是讓其穩(wěn)定。

            內(nèi)核功能主要有以下特色:
            1.語法著色。我寫了一個(gè)共通的CommonLexer,只需要配置一下即可渲染一般文件;還寫了HtmlLexer,它可以很好的分別渲染html、css、 js、vbs。像php、jsp、asp之類的以后均從HtmlLexer繼承即可。如果你覺得CommonLexer不夠好,你可以自己寫一個(gè),然后在配置文件中指定Lexer=XXXX即可,另外支持正則進(jìn)行匹配,你可以指定一個(gè)正則匹配某一個(gè)狀態(tài),匹配后要變成哪一個(gè)狀態(tài)。這樣你就可以匹配注釋中的email之類的,還有c++中的宏。

            2.多內(nèi)碼支持,完美Unicode支持。你可以用你喜歡的任意字體,對(duì)任意編碼文件,同時(shí)輸入多種語言字符而不會(huì)出現(xiàn)亂碼,很多軟件是不支持該特性的,比如scite, ue等等。(在發(fā)布這篇文章的時(shí)候,chardet出了點(diǎn)小問題,在sp3無法運(yùn)行,暫時(shí)未找到原因,屏蔽之)

            3.大文件支持。不過,仍不建議你對(duì)巨大文件做變態(tài)操作,比如打開一個(gè)1000萬行的文件,對(duì)每一行交換臨近兩行等等。對(duì)于大文件,我的目標(biāo)是低內(nèi)存打開之,在任意處可以做適量編輯之。目前較為完美地實(shí)現(xiàn)了,歡迎評(píng)測,絕對(duì)不輸EmEditor之流。

            4.實(shí)時(shí)拼寫檢查。這個(gè)沒什么難度,不過暫時(shí)屏蔽掉了。因?yàn)檫€要寫配置,用戶字典,ignore,多種語言的字典的切換等等外圍……so……暫時(shí)先看截圖吧。

            5.高速自動(dòng)換行,目前只做了在窗口邊界換行,其它換行只要寫個(gè)規(guī)則即可。

            6.列編輯(添加,刪除)。當(dāng)進(jìn)入列編輯模式時(shí),下方的statusbar的模式欄會(huì)顯示Col并閃爍。

            7.高速批量命令處理

            8.高速查詢與替換,完美正則支持(使用的鬼車正則庫)。

            9.代碼折疊和行修改指示器。請(qǐng)參考上一版本,因?yàn)橐湍_本溝通形成自定義outline,該版本暫時(shí)屏蔽。代碼折疊還需要進(jìn)一步強(qiáng)化。

            其它的還有一些小功能,控制字符顯示,行高調(diào)整之類的。
            寫這個(gè)編輯器內(nèi)核花費(fèi)了我不少心血,白天要忙著上班,下班和周末則去寫代碼。我花了大約4,5年的時(shí)間在上面,代碼履歷有好幾百個(gè),連我自己都嚇一跳,ps:我喜歡打包成zip以日期命名備份之。

            寫一個(gè)簡單的文本編輯器,有點(diǎn)料的高手可能都差不多。不過高性能編輯器個(gè)人認(rèn)為還是頗有難度的。本來我是不打算再更改內(nèi)核的,可是如果我有更好的點(diǎn)子而不實(shí)現(xiàn)它的話,豈不是有違蒼天厚待~~~~~~時(shí)間總是不夠用,如果我有足夠多的時(shí)間就好了...........

            寫編輯器內(nèi)核是很有意思的。不過當(dāng)你想把它做成一個(gè)產(chǎn)品的時(shí)候,就不是一件趣事了。編輯器里面會(huì)有很多沒有技術(shù)含量的無聊的配置Dialog,比如Hidemaru的最新版本就有上百個(gè)對(duì)話框。我是挺不喜歡寫這種東西的,一度打算直接用腳本接口導(dǎo)入各種各樣的配置,就像VIM/Emacs那樣。用腳本來實(shí)現(xiàn)配置是最最最最簡單的。不過最后還是堅(jiān)持下來決定使用簡單易讀的配置文件。

            很多人都有自己的興趣,都可以高明巧妙地實(shí)現(xiàn)某一個(gè)點(diǎn)上的設(shè)計(jì),在我看來這還不是真正的牛人。我現(xiàn)在最佩服做產(chǎn)品的,哪怕是最簡單的產(chǎn)品,其中的麻煩與艱辛也許不像我們想象的那樣。就像中國的動(dòng)車,雖然車頭和機(jī)身關(guān)鍵技術(shù)直接照抄日本的新干線和歐洲的啥啥,但是中國的動(dòng)車系統(tǒng)仍然可以稱得上是一流的。因?yàn)檫@個(gè)系統(tǒng)后面要涉及到道路,建設(shè),調(diào)度,維護(hù),配置,人員,管理等等,不僅僅是一個(gè)車子而已。不過好在,我覺得我有了一個(gè)不錯(cuò)的車頭。

            到目前為止,大部分專業(yè)的或者商業(yè)的編輯器,比如EmEditor,Editplus, UE, TextMate之類的特性和特色,對(duì)于我而言幾乎都不是問題,我都知道是如何去實(shí)現(xiàn)的。不過仍然有一些編輯器的某些功能我還沒揣摩透,比如Hidemaru。它的自動(dòng)完成和代碼折疊非常高效。有興趣的同學(xué)可以研究研究。

            提到編輯器,不得不說VIM和EMACS(這個(gè)比較容易惹起噴,不過這個(gè)不是本文重點(diǎn),只是我個(gè)人分析)。我個(gè)人認(rèn)為EMACS比VIM牛,VIM說到底也只是一個(gè)純文本編輯器,而emacs我認(rèn)為不是。這倆,雖然一個(gè)被稱之為神,一個(gè)被叫做仙,但是我覺得他們沒有市場,在可以預(yù)見的將來,它們?nèi)詴?huì)牢牢的守住終端這一塊;隨著*inx桌面的進(jìn)步,其市場仍會(huì)持續(xù)縮小,并最終成為”神仙”的編輯器。事實(shí)上我曾經(jīng)在AIX下面很長時(shí)間使用過vim,對(duì)于他能提高效率一說,我不這么認(rèn)為。也許只是手不離鍵盤,各種花哨的配置能帶來一點(diǎn)IT人士專有的成就感吧。

            關(guān)于開源。我打算把該編輯器做成一個(gè)產(chǎn)品,搞點(diǎn)外快,增加點(diǎn)GDP啥的……所以……以后再說吧。不過任重而道遠(yuǎn)啊!

            征名



            我發(fā)現(xiàn)一個(gè)好聽,簡單,未被注冊的名字幾乎都沒了。下面這幾個(gè)還湊合,殷切期望眾網(wǎng)友投個(gè)票,表達(dá)一下。

            1. LiteEdit  (美中不足的是已經(jīng)有一個(gè)不在更新的編輯器也叫l(wèi)iteedit,而且這個(gè)名字有連續(xù)的兩個(gè)e,不美觀, Litedit?)
            2. EditLite  (連續(xù)出現(xiàn)兩個(gè)it,不好看)
            3. EditWin (取Edit For Windows之意)
            4. EverEdit (跟風(fēng)EverNote)

            就這么多了!明天就回國了,好久沒吃炒土豆絲了!!!即將開始的半年,肯定又是非常繁忙的日子。即使如此,我要給自己豎立一個(gè)目標(biāo),把這個(gè)編輯器做成一個(gè)產(chǎn)品,一定要讓他成為5員盜版盤里面的必備。


            點(diǎn)擊這里下載可執(zhí)行文件


            拼寫檢查:



            渲染HTML:

            posted on 2010-12-29 22:51 megax 閱讀(2634) 評(píng)論(30)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            99精品国产免费久久久久久下载| 成人免费网站久久久| 久久99精品国产99久久6男男| 狠狠色丁香久久婷婷综合图片| 国产亚洲精久久久久久无码AV| 精品久久久久久无码专区不卡| 欧美大香线蕉线伊人久久| 精品久久久无码21p发布| 伊人久久大香线蕉精品不卡| 亚洲&#228;v永久无码精品天堂久久| 91久久福利国产成人精品| 91久久九九无码成人网站| 老司机国内精品久久久久| 久久综合丝袜日本网| 97久久精品人人做人人爽| 精品无码久久久久久国产| 久久婷婷五月综合成人D啪| 久久久久人妻精品一区三寸蜜桃| 久久久久一级精品亚洲国产成人综合AV区| 国产免费久久精品99久久| 久久国产福利免费| 精品国产乱码久久久久软件| 少妇人妻综合久久中文字幕| 亚洲精品乱码久久久久久蜜桃图片| 无码日韩人妻精品久久蜜桃| 国产高潮国产高潮久久久| 嫩草影院久久国产精品| 久久WWW免费人成—看片| 婷婷久久五月天| 国产精品禁18久久久夂久| 精品久久人人爽天天玩人人妻| 久久人人爽人人人人片av| 久久人人爽爽爽人久久久| 国产成人精品久久亚洲高清不卡| 久久性生大片免费观看性| 亚洲级αV无码毛片久久精品 | 青青草原综合久久| 一本久久精品一区二区| 精品免费久久久久久久| 欧美久久久久久精选9999| 亚洲熟妇无码另类久久久 |