답변:
~/Library/KeyBindings/DefaultKeyBinding.dict
파일을 다음과 같이 보이게 만드십시오 (존재하지 않는 경우 파일을 작성하십시오. 이미 바인딩이있는 경우 아래에서 파일을 추가하십시오).
{
"~ " = ("insertText:", " ");
}
이것은 무엇을 하는가? 비 공백 공간을 삽입하는 대신 Option-Space를 누를 때마다 OS X에 일반 공간이 삽입됩니다. 문제가 해결되었습니다.
이 변경 사항을 적용하려면 장치를 다시 시작해야합니다.
DefaultKeyBinding.dict
파일 을 지원하는 것 같습니다 .
의견에서 언급했듯이 Martin이 제공 한 솔루션은 일부 응용 프로그램에서 작동하지 않으며 가장 중요한 것은 내 편집자 Sublime Text 2에서 중요합니다.
따라서 코드에서 공백이 없어 어려움을 겪는 모든 사용자를 위해 다음과 같은 사용자 정의 키 바인딩을 사용자 키맵 ( "Sublime Text 2 > Preferences > Key Bindings - User"
)에 추가 할 수 있습니다 .
{ "keys": ["alt+space"], "command": "insert_snippet", "args": {"contents": " " } }
끊지 않는 공백 대신 일반 공백이 삽입됩니다.
대부분의 작업에 iTerm2를 사용하며 환경 설정-> 키-> 더하기 버튼에 새 키 조합을 추가하여 "키"환경 설정 창에서 매핑을 추가 할 수 있습니다. 키를 추가 할 때는 그림과 같이 하단 상자에 단일 공간을 두어야합니다.
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>
이것은 "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 }
]
}
OSX Sierra (10.12.6)를 사용하고 Karabiner-Elements를 사용하여이 문제를 매우 쉽게 해결했습니다.
https://github.com/tekezo/Karabiner-Elements
열린 후에는 "복잡한 수정"> "규칙 추가"> "인터넷에서 더 많은 규칙 가져 오기"로 이동하여 "Alt + 스페이스 바 비활성화 (공백 없음)"규칙을 다운로드하십시오. 추가하면 끝입니다!
또한 KeyBindings 수정 프로그램을 작동시킬 수 없었습니다. Sublime 답변과 유사하게, 나는 추가하여 정상적인 공간을 삽입하도록 편집기 (VS 코드)를 구성했습니다
{ "key": "alt+space", "command": "type",
"when": "editorTextFocus",
"args": { "text": " " } }
내 글로벌에 keybindings.json
( Preferences: Open Keyboard Shortcuts File
명령 팔레트에서).
나를 위해 KeyBindings 수정이 작동하지 않았습니다. Coda2를 편집기로 사용합니다. 그래도 교체를 BetterTouchTool과 함께 사용할 수있었습니다.
BetterTouchTool : "키보드> 새 바로 가기 추가"를 입력 한 다음 "키보드 바로 가기"에 "alt + space"를 입력하고 "다른 키보드 바로 가기 트리거"에 "Space"를 입력하십시오.