2015-04-16 64 views
1

使用Emacs 24.3.1如果我按M-s我得到I-search。我希望此功能移至密鑰C-f,並使用M-s保存緩衝區。我怎樣才能做到這一點?如何綁定Emacs中的<M-s>密鑰

+4

請注意,通過這樣做(輸入'M-s C-h'來查看它們),會在'M-s'前綴中找到有用的綁定。其他庫也可能*希望它是一個全局前綴,他們可以添加內容,在這種情況下,您可能會遇到錯誤。 – phils

+3

當然isearch實際上是'C-s',而不是'M-s',所以你的問題很混亂。 – phils

+0

如果你想要「傳統的桌面」鍵盤綁定,也許你想看看['cua-mode'](http://www.emacswiki.org/emacs/CuaMode)。不過,您將會失去重要的Emacs功能。更好地學習*方式*並忘記你過去的骯髒。 – tripleee

回答

2

(global-set-key "\C-f" 'isearch-forward) 
(define-key isearch-mode-map "\C-f" 'isearch-repeat-forward) 
(global-set-key "\M-s" 'save-buffer) 

到您的~/.emacs/init.el(或~/.emacs,或~/.emacs.el)。然後重新啓動emacs(或者將光標放在每行之後並按C-x C-e)。

附錄:因爲有些事情似乎綁定加載OP的~/.emacs後的組合鍵:延遲運行此代碼,希望直到足夠後期的一種方法,是使用after-init-hook。例如:

(add-hook 'after-init-hook 
    (lambda() 
     (global-set-key "\C-f" 'isearch-forward) 
     (define-key isearch-mode-map "\C-f" 'isearch-repeat-forward) 
     (global-set-key "\M-s" 'save-buffer))) 

請注意,我並不完全相信,對安裝的鍵庫綁定是一個好主意。找出重新組合這些關鍵組合並查看是否可以被阻止是一個好主意。

+0

我已將上述三行添加到我的〜/ .emacs文件中,並且這些是我在該文件中唯一的三行,並且當我按時仍然搜索到。 說 –

+0

正如@phils所說,isearch通常是'C-s'。如果你的意思是重新映射,在上面的代碼中使用'「\ C-s」'而不是'「\ M-s」'。否則,啓動時會發生其他事情將'M-s'綁定到isearch。瘋狂猜測:如果你有'〜/ .emacs.el','〜/ .emacs'不會被執行。也許它發生在那裏。 – Wintermute

+0

原諒我,我以前的評論不完整。這讓我很困惑。我所擁有的是一個空的〜/ .emacs.d文件夾和一個〜/ .emacs文件,上面有三行。如果我按,我會搜索。所以我很好奇報告在,它說與非常相似,這讓我感到困惑,因爲我認爲我已經將保存緩衝區綁定到。 .emacs被讀取後,是否有其他庫將搜索「綁定」到? –

相關問題