改行しないスペースの迷惑なOption-Spaceキーの組み合わせを無効にする方法は?
私は通常のスペースの代わりに改行しないスペースを入力することが多いので、これはEclipseまたはターミナルで非常に迷惑です。
あなたの~/Library/KeyBindings/DefaultKeyBinding.dict
ファイルは次のようになります(存在しない場合は作成してください。すでにバインディングが存在する場合は、下から1つ追加してください)。
{
"~ " = ("insertText:", " ");
}
これは何をしますか?改行しないスペースを挿入する代わりにOption-スペースを押すたびに、OS Xは通常のスペースを挿入するようになりました。問題が修正されました。
この変更を適用するには、デバイスを再起動する必要があります。
コメントで述べたように、Martinが提供するソリューションは一部のアプリケーションでは機能しません。最も重要なのは(私にとって)エディターであるSublime Text 2です。
したがって、コードのスペースを壊さないことに悩んでいるすべての人のために、次のカスタムキーバインドをユーザーキーマップ("Sublime Text 2 > Preferences > Key Bindings - User"
):
{ "keys": ["alt+space"], "command": "insert_snippet", "args": {"contents": " " } }
これにより、改行しないスペースの代わりに通常のスペースが挿入されます。
私は仕事のほとんどでiTerm2を使用しており、マッピングは[キー]設定ペインに追加できます。[設定]-> [キー]-> [プラス]ボタンで新しいキーの組み合わせを追加します。キーを追加するときは、図のように下部のボックスにスペースを1つ入れてください。
Ukeleleでカスタムキーボードレイアウトを作成することもできます( https://superuser.com/a/515151 を参照)、または KeyRemap4MacBook を使用します。
<item>
<name>Non-Breaking Space to Normal Space</name>
<appendix>(Option+Space to Space)</appendix>
<appendix>(Option+Shift+Space to Space)</appendix>
<identifier>remap.option_space_to_space</identifier>
<autogen>__KeyToKey__ KeyCode::SPACE, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | ModifierFlag::NONE, KeyCode::SPACE</autogen>
<autogen>
__KeyToKey__
KeyCode::SPACE, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_SHIFT | ModifierFlag::NONE,
KeyCode::SPACE,
</autogen>
</item>
OSX Sierra(10.12.6)を使用し、Karabiner-Elementsを使用してこれを非常に簡単に解決しました。
https://github.com/tekezo/Karabiner-Elements
開いたら、[複雑な変更]> [ルールの追加]> [インターネットからさらにルールをインポート]に移動し、[alt +スペースバー(改行しないスペース)を無効にする]ルールをダウンロードします。それを追加すれば完了です。
可能なグローバルソリューションは、 alt-space [システム環境設定]> [キーボード]> [ショートカット]> [ミッションコントロール]の[通知センターを表示]などに変更します。
また、KeyBindingsフィックスを機能させることができませんでした。 Sublimeの回答と同様に、エディタ(VSコード)を追加して、通常のスペースを挿入するように設定しました
{ "key": "alt+space", "command": "type",
"when": "editorTextFocus",
"args": { "text": " " } }
私のグローバルへkeybindings.json
(Preferences: Open Keyboard Shortcuts File
(コマンドパレット)。
これは、「Sublime Textの改行しないスペースを無効にする方法」( x3roの回答を参照 )を検索したときにGoogleが表示する回答なので、LinuxのSublime Textの回答を投稿すると思いました。これをキーバインディングに追加します。
{ "keys": [" "], "command": "insert_snippet", "args": { "contents": " " } }
「設定」→「キー割り当て-ユーザー」に移動して、キー割り当てを編集します。
"keys": [" "]
のスペースは、改行しないスペースであることに注意してください。
このキーバインディングは、検索ボックスなどのウィジェットにも影響することにも注意してください。言い換えると、問題になる可能性がある検索ボックスに改行しないスペースを入力できなくなりました。テキストエディタで改行しないスペースを無効にするには、代わりにこのキーバインディングを使用します。
{
"keys": [" "],
"command": "insert_snippet", "args": { "contents": " " },
"context": [
{ "key": "setting.is_widget", "operand": false }
]
}
私にとって、KeyBindingsの修正は機能しませんでした。私はCoda2をエディターとして使用しています。代わりにBetterTouchToolで動作するように取り替えることができました。
BetterTouchTool:「キーボード>新しいショートカットの追加」、「キーボードショートカット」に「alt +スペース」、「その他のトリガーキーボードショートカット」に「スペース」と入力