2012-03-09 6 views
2

私はemacsの中Emacs:M-sにバインドする方法は?

(defun switch-to-next-frame() 
    "Select the next frame on current display, and raise it." 
    (interactive) 
    (other-frame 1) 
) 

からM-sをバインドしたいですか?試しました:

(global-unset-key "\M-s") 

ただし、動作しません。問題は - M-sはプレフィックスキーです。

編集2

私は自分自身がひどく不明瞭ました。私はswitch-to-next-frameからM-sにバインドしたいと思っていました。私が試した:

(global-set-key (kbd "M-s") 'switch-to-next-frame) 

それは動作しませんでした:私はM-sを押していたとき、EmacsはM-s-をしていました。私は思った - 問題はM-sがプレフィックスキーであることでした。私はそれをアンバインドするのに疲れました - しかし、それはうまくいきませんでした。それから私はここに来て、この質問をしました。私が後で見つけたように、問題は私の.emacsであった - 私がiciclesをコメントアウトしたとき、それはすべて期待どおりに働き始めた。

編集3:実は本当にプレフィックスキーをM-s使用している変数dired

M-s a   Prefix Command 
M-s f   Prefix Command 
M-s f C-s  dired-isearch-filenames 
M-s f ESC  Prefix Command 
M-s a C-s  dired-do-isearch 
M-s a ESC  Prefix Command 
M-s f C-M-s  dired-isearch-filenames-regexp 
M-s a C-M-s  dired-do-isearch-regexp 

だから、M-Sへの結合は、本当に悪い考えです。

+0

が、それは 'グローバル設定解除-key'がキーバインドを解除する名前から明らかではありませんか。 – suvayu

+0

FWIWウィンドウ間を切り替えるのに 'M-t 'を使います。 – kindahero

+0

Wrt [Icicles](http://www.emacswiki.org/Icicles)、あなたがする必要があるのは、' icicle-search-key-prefix'オプションをカスタマイズするだけです。 * default *は 'M-s M-s'です。 – Drew

答えて

1

次は動作するはずです:

(global-set-key [(meta s)] 'switch-to-next-frame) 
+1

kbdマクロを使う方が良いと思います。 '(グローバルセットキー(kbd" M-s ") 'スイッチから次のフレームへ)' – Tom

+3

@Tom確かにあなたは冗談です。 kbd形式の読み込みには慣れているかもしれませんが、ベクトル形式は読みやすくなります。 –

+1

"Ms"部分は、Chkなどが使われているときにEmacsがプリントするものと同じフォーマットです。キーバインディングで同じフォーマットを使うことができるので、[(meta s)]を書く必要はありません – Tom

関連する問題