비 공백 공백에 대해 Option-Space 키 조합을 비활성화하는 방법은 무엇입니까?


59

비 공백 공백에 대해 성가신 Option-Space 키 조합을 비활성화하는 방법은 무엇입니까?

Eclipse 또는 터미널에서 일반 공간 대신 ​​비 휴식 공간을 자주 입력하기 때문에 이것은 매우 성가신 일입니다.


3
FWIW, Mac에서는 Alt 키가 아니라 옵션 키라고합니다.
Chealion

터미널 디스플레이를 nbsp로 반전 문자로 만들 수 있습니까? 잘못 입력하면 즉시 볼 수 있습니까? 몇 번 있기 때문에 실제로 않습니다 NBSP을 입력합니다.
forthrin

답변:


59

~/Library/KeyBindings/DefaultKeyBinding.dict파일을 다음과 같이 보이게 만드십시오 (존재하지 않는 경우 파일을 작성하십시오. 이미 바인딩이있는 경우 아래에서 파일을 추가하십시오).

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

이것은 무엇을 하는가? 비 공백 공간을 삽입하는 대신 Option-Space를 누를 때마다 OS X에 일반 공간이 삽입됩니다. 문제가 해결되었습니다.

이 변경 사항을 적용하려면 장치를 다시 시작해야합니다.


OSX 10.7에서이 작업을 수행 할 수 없었습니다 :(
Eemeli Kantola

4
@EemeliKantola 그것은 여전히 ​​나에게 효과적이지만 변경 사항을 적용하려면 응용 프로그램을 다시 열어야합니다. 터미널, Xcode 및 많은 크로스 플랫폼 응용 프로그램은 DefaultKeyBinding.dict를 지원하지 않습니다.
Lri

1
@LauriRanta Terminal이 DefaultKeyBinding.dict파일 을 지원하는 것 같습니다 .
Ragnar123

이것은 요세미티 10.10.2에서 작동합니다. 디렉토리와 파일을 처음부터 작성했습니다. 무리 감사!
Petr Cibulka

1
El Capitan, 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를 사용하며 환경 설정-> 키-> 더하기 버튼에 새 키 조합을 추가하여 "키"환경 설정 창에서 매핑을 추가 할 수 있습니다. 키를 추가 할 때는 그림과 같이 하단 상자에 단일 공간을 두어야합니다.

키보드 단축키 추가 화면 캡처


아주 좋은 해결책! 도대체, 나는 아직도 4 살짜리 게시물에서 귀중한 정보를 얻고 있습니다. :-)
Malax

당신은 내 하루를
Enrique Marcos

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에서 비 공백 공백을 비활성화하는 방법"( x3ro의 답변 참조) 을 검색 할 때 Google이 표시하는 답변이므로 Sublime Text에 대한 답변을 Linux에 게시한다고 생각했습니다. 이것을 키 바인딩에 추가하십시오.

{ "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 + 스페이스 바 비활성화 (공백 없음)"규칙을 다운로드하십시오. 추가하면 끝입니다!


3

또한 KeyBindings 수정 프로그램을 작동시킬 수 없었습니다. Sublime 답변과 유사하게, 나는 추가하여 정상적인 공간을 삽입하도록 편집기 (VS 코드)를 구성했습니다

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

내 글로벌에 keybindings.json( Preferences: Open Keyboard Shortcuts File명령 팔레트에서).


1

나를 위해 KeyBindings 수정이 작동하지 않았습니다. Coda2를 편집기로 사용합니다. 그래도 교체를 BetterTouchTool과 함께 사용할 수있었습니다.

BetterTouchTool : "키보드> 새 바로 가기 추가"를 입력 한 다음 "키보드 바로 가기"에 "alt + space"를 입력하고 "다른 키보드 바로 가기 트리거"에 "Space"를 입력하십시오.


감사합니다!
bettertouchtool
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.