google code-beautifer

星期四, 6月 08, 2017

emacs 裡要快速跳躍記憶文件位置

編輯超過一千行的程式,要從不管是開頭或結尾跳到中間都會蠻痛苦的。當然emacs 也可以下指令一次跳好幾頁,但是要是不知道正確的數量一次到位,也是很麻煩,這時候需要有個好方法來快速跳躍:比如說在事情沒做完的位置先留個書籤,就可以先跑到其他的地方編輯(比如說回頭去修改定義,或前一次叫用的地方改個幾行),改完再按一個鍵跑回來
理論上要是cedet 可以辨識你的程式語言語法的話,應該是不太需要用記憶程式位置,不過有時候就是得在一些cedet 不是支援很好的文件裡跳來跳去作編輯,這時記憶程式位置就很有用

emacs 裡要記憶位置可以用register 或bookmark來完成:
register有個缺點: 一旦關掉emacs 這些記憶就被清掉,而且位置標籤名只能用單一字母。但是對於臨時要用的再方便不過,但是用 bookmark的話位置標籤名會一直記住,且位置標籤名可以取一個很長的名稱,比較不常用的位置這樣記會比較適合
用bookmark 的話,假如對某個檔是第一次叫用,預設的標籤名就是目前檔名,假如是針對多個檔案這當然是方便,但是對在同一個檔案裡跳來跳去就不便。

視這個變數對於修改的本質,我自己是這樣工作:假如是臨時要在一個檔案跳來跳去,而且一旦改完這個位置就不須需要記憶的,我用register 來處裡,位置名就取1, 2, 3, 4  ....
但是對於久久用一下的就用bookmark,當然bookmark 也是可以用單一字母來當標籤名
所以我通常都用bookmark 來處理,就像前面說的:短期記憶就用1 2 3 4 命名,需要長期記憶的再取個有意義方便回想的名稱
我有在.emacs設定下綁定兩個熱鍵F9跟 F12 來當設置書籤 跟跳到書籤去
(global-set-key (kbd "") 'bookmark-set)
(global-set-key (kbd "") 'bookmark-jump)

此外我有搭配hide-show mode ,先把目前不會去處理的一些副程式的細節收藏起來,真的要用時再打開。這樣編輯處理大程式就更清爽靈活

星期三, 6月 07, 2017

用 windows版emacs輸入中文

忘了是 23 版還是24 版之後的emacs 加入了unicode 支援,所以在新的winodws 上輸入中文還是改用unicode 編碼吧

得先把這兩行加到.emacs
(require 'unicode-fonts)
(unicode-fonts-setup)

在windows 下.emacs 他的路徑要放在\User\使用者名稱\AppData\Roaming\之下 (怪異的是我照新的方式在.emacs.d下設置init.el 沒用 )

中文輸入法我目前是用pime ,不過pime 1.10 或0.16對emacs 都有個問題:在按enter 之前,選字buffer 不會出現,但是按enter後選字buffer 的內容會正確送到應用程式裡
可是在其他編輯程式如emeditor下  pime都沒有問題

然後目前cygwin mate desktop下我沒有辦法輸入中文,可能跟它預設的ibus 輸入有關,
cygwin 版emacs其實可以用symbolic link 跟windows版emacs共用設定檔,但是額外安裝套件跟路徑得自己搞定