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 ,先把目前不會去處理的一些副程式的細節收藏起來,真的要用時再打開。這樣編輯處理大程式就更清爽靈活