2017-09-01 15 views
0

バッファの位置を保存/復元するために、私のドットのemacsに2つのkeybindを追加しようとしています。emacsがカスタム関数で登録する

だから、ここに私のコードは次のとおりです。

(defun savePosition() 
    (interactive) 
    (point-to-register "m")) 

(defun goToPosition() 
    (interactive) 
    (jump-to-register "m")) 

(global-set-key (kbd "M-M") 'savePosition) 
(global-set-key (kbd "M-m") 'goToPosition) 

残念ながら、それは動作しません。 emacsではエラーはありませんが、レジスタは存在しないようです - レジスタは現在のバッファではなく関数に保存されているからです。

どうすればいいですか?

答えて

1

解決策が見つかりました。置き換え:

"m" 

で:確かに

?m 
+0

。 '(eq" m "" m ")'が 'nil'であるため(読者が2つの文字列に対して独立したオブジェクトを作成するため)、元の試行は機能しません。あなたはおそらくどちらかの文字を使用したくないでしょう。対話的には、レジスタは文字です。コードでは 'eq'に匹敵するものを使うことができるので、この目的のために矛盾しないシンボルを使用することは賢明です。そうすれば、登録文字の1つのインタラクティブな使用を邪魔することはありません。 – phils

関連する問題