0
我試圖在我的點emacs中添加兩個keybinds來保存/恢復緩衝區位置。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沒有錯誤,但寄存器似乎不存在 - 我認爲這是因爲寄存器保存在函數中,而不是當前緩衝區。
那麼,我該怎麼辦?
的確。您的原始嘗試不起作用,因爲'(eq「m」「m」)'是'nil'(因爲讀者爲兩個字符串創建獨立的對象)。雖然你可能不想使用角色。交互式地,寄存器是字符;但是在代碼中,您可以使用與'eq'相媲美的任何東西,因此爲此目的使用非衝突符號是明智的,這樣您就不會破壞註冊字符之一的交互式使用。 – phils