デフォルトのオプションキーバインディングを無効にする

デフォルトのオプションキーバインディングを無効にする

どのテキスト エディターでも、入力するとカーソル位置に
⌥ p挿入されます。 したがって、オプション付きでキーを押すと、何らかの特殊文字が挿入されます。 π
⌥ w

質問

これを無効にするにはどうすればいいですか?

なぜこれを無効にしたいのですか?

  1. 私はこれらの記号をほとんど使用しません
  2. 私はハードコアなEmacsユーザーなので、いつも次のようなショートカットを好んで使います。
    • ^ Aカーソルを先頭に移動するには、Home
    • ^ n次の行に、
    • ^ K行を削除するテキスト内の移動には
      必ずこれを使用します。 しかし、Macには他の機能があるため、領域をコピーする などの機能は使用できません。Control + Key
      Option + Key ⌥ w

注: - Crispy UI 以外に、Linux よりも Mac を好む理由は、emacs ショートカットのネイティブ サポートです。option修飾子付きのショートカットがうまく機能すれば、私にとってすべてのテキスト エディターは emacs になります。

答え1

以下を保存します~/Library/KeyBindings/DefaultKeyBinding.dict(必要に応じて作成します)。

{ "~a" = (); "~b" = (); "~c" = (); "~d" = (); "~e" = (); "~f" = (); "~g" = (); "~h" = (); "~i" = (); "~j" = (); "~k" = (); "~l" = (); "~m" = (); "~n" = (); "~o" = (); "~p" = (); "~q" = (); "~r" = (); "~s" = (); "~t" = (); "~u" = (); "~v" = (); "~w" = (); "~x" = (); "~y" = (); "~z" = (); }

これにより、すべての ⌥<文​​字> の組み合わせが無効になります。有効にするにはアプリを再起動してください。

上記の DefaultKeyBinding.dict は、構文を使用してキーと値のペアを定義する古いスタイルのプロパティ リスト1です。この場合、キーは値内のメソッドをアクティブにするキーの組み合わせです。{ key = value }

標準の辞書キー シンボルが使用されます: ~ alt、^ control、$ shift、@ command。
したがって、~a⌥A (alt-A) を意味し、^$1⌃⇧1 (control-shift-1) になります。

各キーの値は、()メソッドなしで空の括弧に設定されます。DefaultKeyBinding.dict が をオーバーライドするため/S*/L*/Fr*/AppKit.*/R*/StandardKeyBinding.dict、ショートカットはメソッドなしで定義され、何も実行されません。システムのキー バインディング ファイルを編集するのではなく、このように独自のキー バインディング ファイルを作成することをお勧めします。

1必要に応じて、新しい XML プロパティ リスト スタイルを自由に使用してください。動作は同じように動作します。

答え2

Unicode hex input入力ソース ( System Preferences > Keyboard > Input Sources、次にソースを追加して言語の下で選択)を使用するとOtherうまくいきました。@exmaxx の提案に基づいて入力ソースを変更しようとした後に、これを見つけました。注: ABC (私のデフォルト) または US を使用しても問題は解決しませんでした。

答え3

後でこれを見つけて問題を抱えている人のために。

これを試してもうまくいかず、Ukelele の他のオプションにも独自の問題 (デフォルトのキーボードを削除するのが難しい) があるため、最終的には BetterTouchTool を使用してオプション ショートカットを他のアクションに置き換えました。

答え4

解決策としては、異なるキーボードレイアウトを使用するU.S.:

  • 「Alt」キーの問題: U.S. InternationalABC
  • 解決:U.S.

に変更してくださいSystem Preferences -> Keyboard -> Input Sources


Stack Overflowで解決策を見つけましたここそれで、それがあなたにも役立ったなら、著者にクレジットを与えてもいいかもしれません ;)

関連情報