改行しないスペースのOption-Spaceキーの組み合わせを無効にする方法は?


59

改行のないスペースの迷惑なOption-Spaceキーの組み合わせを無効にする方法は?

これは、通常のスペースの代わりにノンブレークスペースを入力することが多いため、Eclipseまたはターミナルでは非常に迷惑です。


3
FWIW、これはMacではaltキーではなくオプションキーと呼ばれます。
Chealion

ターミナルにnbspを逆の文字またはある種の文字として表示させることは可能ですか?何回か実際にnbspを入力たいからです。
4

回答:


60

~/Library/KeyBindings/DefaultKeyBinding.dictファイルを次のようにします(ファイルが存在しない場合は作成し、既にバインディングが存在する場合は下から追加します)。

{
"~ " = ("insertText:", " ");
}

これは何をしますか?中断しないスペースを挿入する代わりにOption-Spaceを押すたびに、OS Xは通常のスペースを挿入するようになりました。問題が修正されました。

この変更を適用するには、デバイスを再起動する必要があります。


OSX 10.7ではこの作品を入手できませんでした:(
Eemeli Kantola

4
@EemeliKantolaまだ機能しますが、変更を適用するにはアプリケーションを再度開く必要があります。ターミナル、Xcode、および多くのクロスプラットフォームアプリケーションは、DefaultKeyBinding.dictをサポートしていません。
Lri

1
@LauriRantaターミナルはDefaultKeyBinding.dictファイルをサポートしているようです。
Ragnar123 14年

これはYosemite 10.10.2で動作します。ディレクトリとファイルを最初から作成しました。本当にありがとう!
ペトルチブルカ

1
エルキャピタン、OS X 10.11でも働いていました。ありがとう!
n2o

14

コメントで述べたように、Martinが提供するソリューションは一部のアプリケーションでは機能せず、最も重要なのは(私にとっては)私のエディターであるSublime Text 2です。

そのため、コード内のスペースを壊すことに悩まされていないすべての人のために、次のカスタムキーバインドをユーザーキーマップに追加できます("Sublime Text 2 > Preferences > Key Bindings - User"):

{ "keys": ["alt+space"], "command": "insert_snippet", "args": {"contents": " " } }

これにより、改行なしの代わりに通常のスペースが挿入されます。


11

私はほとんどの作業にiTerm2を使用しており、[キー]設定ペインにマッピングを追加できます。[設定]-> [キー]-> [プラス]ボタンに新しいキーの組み合わせを追加します。キーを追加するときは、下のボックスに示されているようにスペースを1つ入れてください。

キーボードショートカットを追加するスクリーンキャップ


非常に良い解決策!ヘック、私はまだ4年前の投稿から貴重な情報を得ています。:
マラックス

あなたは私の一日を作ります!
エンリケマルコス14年

6

Ukelele(https://superuser.com/a/515151を参照)でカスタムキーボードレイアウトを作成するか、KeyRemap4MacBookを使用することもできます。

https://github.com/tekezo/KeyRemap4MacBook/blob/master/src/core/server/Resources/include/checkbox/standards/space.xml

<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>

3

これは、「Sublime Textの改行なしスペースを無効にする方法」を検索するときにGoogleが表示する答えなので(x3roの答えを参照)、LinuxでSublime Textの答えを投稿すると思いました。これをキーバインディングに追加します。

{ "keys": [" "], "command": "insert_snippet", "args": { "contents": " " } }

[設定]→[キーバインディング-ユーザー]に移動して、キーバインディングを編集します。

のスペース"keys": [" "]は改行なしスペースであることに注意してください。

また、このキーバインドは、検索ボックスなどのウィジェットにも影響することに注意してください。つまり、問題になる可能性のある検索ボックスに改行しないスペースを入力できなくなりました。テキストエディタだけで改行しないスペースを無効にするには、代わりに次のキーバインドを使用します。

{
    "keys": [" "],
    "command": "insert_snippet", "args": { "contents": " " },
    "context": [
        { "key": "setting.is_widget", "operand": false }
    ]
}

3

可能なグローバルソリューションを設定することですalt- spaceシステム環境設定の表示通知センター>キーボード>ショートカット>ミッションコントロールのような何か他のものに。

ここに画像の説明を入力してください


3

OSX Sierra(10.12.6)を使用し、Karabiner-Elementsを使用してこれを非常に簡単に解決しました。

https://github.com/tekezo/Karabiner-Elements

開いたら、[複雑な変更]> [ルールの追加]> [インターネットからさらにルールをインポート]に移動し、[alt + spacebar(改行なしスペース)を無効にする]ルールをダウンロードします。それを追加すれば完了です!


3

また、KeyBindingsの修正を機能させることができませんでした。Sublimeの答えと同様に、私はエディタ(VS Code)を追加して通常のスペースを挿入するように設定しました

{ "key": "alt+space", "command": "type", 
                      "when": "editorTextFocus",
                      "args": { "text": " " } }

私のグローバルにkeybindings.jsonPreferences: Open Keyboard Shortcuts Fileコマンドパレットで)。


1

私にとって、KeyBindingsの修正は機能しませんでした。Coda2をエディターとして使用します。しかし、BetterTouchToolで動作するように置き換えを取得することができました。

BetterTouchTool:「キーボード>新しいショートカットの追加」、「キーボードショートカット」に「alt +スペース」、「トリガー他のキーボードショートカット」に「スペース」と入力


ありがとう!、bettertouchtoolはすべての問題を解決します:p
Steven.B
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.