stackoverflow!ここ数日、私はemacsを少しカスタマイズしようとしていましたが、私はどのように接近するのか分からないという問題に直面しました。グローバルセットキーによってマスクされたイドモードバインディング
私がしようとしているのは、グローバルキーバインディングと同じキーを使ってさまざまなことを行うイドモードのキーバインドを定義することです。
イドモードのキーバインドをこのように定義されています。
(defun ido-my-keys()
"Add my keybindings for ido."
(define-key ido-completion-map (kbd "M-<return>")
'ido-invoke-in-vertical-split)
)
(add-hook 'ido-setup-hook 'ido-my-keys)
をそして、私は私の.emacsファイルに以下の行を配置するまで、それが正常に動作します:この行現在M-リターンで
(global-set-key (kbd "M-<return>") 'insert-newline-and-indent)
ido-switch-bufferからでもinsert-newline-and-indentを呼び出します。興味深いことに、グローバルセットキーを対話的に使用すると(つまり、init-fileではなくM-x呼び出しから)、すべてが期待通りに機能します。
ありがとうございました。私の英語のために申し訳ありません。
問題は、私はオンになっていたergoemacsモードであることが判明しました。このモードは、この効果を引き起こすグローバルセットキーのアドバイスを定義します。
私はergoemacsの初期化よりも上にグローバルセットキー呼び出しを移動することでこの問題を解決しました。最高の解決策ではなく、単純な解決策です。
私はこれを再現傾けます。 BTW 'ido-invoke-in-vertical-split'はinbuilt関数ではありません。 https://gist.github.com/493269 – kindahero
このような不明な点は申し訳ありません。とにかく、この関数は問題には関係していないようです。例えば、ido-exit-minibufferなどのように変更しても効果は変わりません。 – campugnatus
使用しているEmacsのバージョンは?私はこの問題を再現できません(Emacs 24.0.94)。 – phils