Mac OS X“Option-Arrow”가 Windows“Ctrl-Arrow”처럼 작동하게하십시오


20

Windows 에서 " Ctrl- "명령을 사용하여 텍스트 문서를 탐색합니다.

이 유용한 키 조합은 다음 단어 의 시작 부분 으로 빠르게 이동할 것 입니다. 예를 들어, 다음 순서는 Ctrl-를 연속으로 누른 후 커서 위치에서 발생하는 상황을 보여줍니다 ( "^"는 커서를 나타냄).

^The quick brown fox jumped over the lazy dog
The ^quick brown fox jumped over the lazy dog
The quick ^brown fox jumped over the lazy dog
The quick brown ^fox jumped over the lazy dog
The quick brown fox ^jumped over the lazy dog
...

그리고 대신 누르기를 시작 하면 커서가 문서의 동일한 지점으로 이동하고 다른 방향으로 이동합니다 (커서의 위치를 ​​예측할 수 있기 때문에 이상적입니다. 편집) :

The quick brown fox ^jumped over the lazy dog
The quick brown ^fox jumped over the lazy dog
The quick ^brown fox jumped over the lazy dog
The ^quick brown fox jumped over the lazy dog
^The quick brown fox jumped over the lazy dog
...

Mac OS X에는 비슷한 키보드 단축키가 있습니다 ( Option-- "" Ctrl"를" Option"에 매핑 하여 익숙한 방식으로 이와 동일한 기능을 얻을 수 있습니다).

그러나 " Option- Arrow"는 오른쪽 화살표 키를 사용할 때 다음과 같이 현재 단어 의 을 알려 줍니다.

^The quick brown fox jumped over the lazy dog
The^ quick brown fox jumped over the lazy dog
The quick^ brown fox jumped over the lazy dog
The quick brown^ fox jumped over the lazy dog
The quick brown fox^ jumped over the lazy dog
...

그리고 더 나쁜 것은, 다른 방향으로 나아가더라도 앞으로 나아갈 때와 같은 지점으로 돌아 가지 않고 마지막 단어의 시작으로 연결됩니다.

The quick brown fox^ jumped over the lazy dog
The quick brown ^fox jumped over the lazy dog
The quick ^brown fox jumped over the lazy dog
The ^quick brown fox jumped over the lazy dog
^The quick brown fox jumped over the lazy dog
...

Windows와 Mac 사이를 자주 전환해야하기 때문에 현재로서는 매우 실망스럽고 현재 단어의 끝으로 가고 싶지는 않습니다 ( " Shift"를 누르지 않는 한 왜 그렇게 하시겠습니까? ). 나는 항상 다음 단어의 시작으로 건너 뛰고 싶습니다.

Mac 버전을 동일한 방식으로 작동시키기 위해 약간의 시간을 할애 할 것입니다 (소프트웨어 구입,이 키보드 단축키와 연결된 사용자 정의 Applescript 명령 작성). 제안을 찾고 있습니다.

나를 위해 이것을 바꿀 기존의 도구가 있습니까?

"고정"을 어떻게 제안 하시겠습니까?

감사

편집하다

Automator에서 "서비스"를 만들 수 있었고 다음 AppleScript를 사용했습니다.

on run {input, parameters}

    tell application "System Events" to key code 124 using {option down}
    tell application "System Events" to key code 124

end run

그런 다음 시스템 환경 설정의 "키보드"설정을 사용 하여이 서비스를 " Command- "키 스트로크에 연결했습니다 .

그러나 이것이 작동하려면 손가락을 Command열쇠에서 빼야합니다. 또한 속도가 느리고 (Xcode)에서 작동하는 데 가장 필요한 응용 프로그램에서는 작동하지 않는 것 같습니다.

답변:


22

⌃ Control설명과 같이 작동하도록 + 화살표 키를 얻는 방법은 다음과 같습니다 . 다음 특성 목록을 복사하십시오 ~/Library/KeyBindings/DefaultKeyBinding.dict(아직없는 경우 디렉토리를 작성할 수 있음).

{
    "^\UF703" = ("moveWordForward:", "moveWordForward:", "moveWordBackward:");
    "^$\UF703" = ("moveWordForwardAndModifySelection:", "moveWordForwardAndModifySelection:", "moveWordBackwardAndModifySelection:");
}

그러면 ⌃ Control다음 단어의 시작으로 이동하도록 + 화살표 가 설정됩니다 (OS X의 일반 탐색을 세 번 사용하여 현재 단어의 끝, 다음 단어의 끝, 다음 단어의 시작으로). 또한 ⇧ Shift텍스트를 선택할 수 있도록 작동하는 버전도 포함되어 있습니다.

주의 사항 : 이것은 Cocoa 앱에서만 작동하지만 일반 ⌥ Option+ 화살표 탐색도 작동 한다고 생각합니다 . 또한 앱을 다시 시작하십시오!


으악! 내가 바랐던 바로 ... 고마워요! 시도 해보고 대답을 표시하겠습니다.
Steve

정말 고마워! 매력처럼 일했다. 참고로 "Key Bindings"vs "KeyBindings"... "KeyBindings"를 사용했는데 효과가있었습니다. 차이가 있는지 확실하지 않습니다. Xcode가 너무 나쁘면 고유하고 덜 강력한 키 바인딩으로 재정의합니다.
Steve

그렇습니다, 나는 KeyBindings를 의미했습니다! camelCase 하위 단어를 탐색 할 수 있기 때문에 Xcode는 친절합니다.
jtbandes

나는 camelCase 탐색을 좋아한다. 이상적으로는 Xcode에서 Visual Studio의 동작을 원합니다 ... 오.
Steve

최소한 Xcode를 사용자 정의 할 수 있습니다. 환경 설정에는 키 바인딩 변경을위한 탭이 있습니다.
jtbandes

5

시도해 볼만한 것들. 나는 그들이 필요한 기능을 수행하는지 확인하기 위해 이것을 테스트하지 않았습니다.

DoubleCommand 라는 Mac OS X의 주요 명령을 다시 매핑하기위한 무료 오픈 소스 유틸리티가 있습니다. 커널 확장이므로 매우 낮은 수준에서 작동합니다.

DoubleCommand 사람들이 권장하는 또 다른 무료 프로그램은 KeyRemap4MacBook 입니다. 둘 중 하나를 사용해야합니다. 둘 다 Mac에 설치되어 있으면 충돌합니다.


1
사용 KeyRemap4MacBook를 만들기 위해 OS X 10.11.x에 컨트롤 +는 [화살표] 윈도우에서 같은 일이 당신 때까지 아래로 스크롤 찾을 PC 사용자를 위해 (나를 위해 옵션 여섯) 다음 확인 "을 사용하여 PC 스타일 컨트롤 + 상 / 하 / 좌 / 우를 ". 거기에 다른 유용한 옵션이 있습니다. 이 답변을 확실히 찬성하고 그 위에 추가로 100 달러가 들지 않았습니다!
John

1

수년간의 성가신 OSX 기본 매핑 후 나는 Command와 Control 키를 전환하고 Control + Arrow 키를 사용하여 BOL / EOL 대신 단어 이동, 단어 이동 뒤로 이동 기능을 제공하기를 원했습니다. 허용 된 대답은 Command 대신 Control을 사용했기 때문에 ^가 @로 변경 된 것을 제외하고는 나를 위해 일했습니다. 또한 덜 사용되는 BOL / EOL 기능을 Option + Arrow 키 조합에 매핑했습니다.

{
    "@\UF702" = ("moveWordBackward:");
    "@$\UF702" = ("moveWordBackwardAndModifySelection:");
    "~\UF702" = ("moveToBeginningOfLine:");
    "~$\UF702" = ("moveToBeginningOfLineAndModifySelection:");
    "@\UF703" = ("moveWordForward:", "moveWordForward:", "moveWordBackward:");
    "@$\UF703" = ("moveWordForwardAndModifySelection:", "moveWordForwardAndModifySelection:", "moveWordBackwardAndModifySelection:");    
    "~\UF703" = ("moveToEndOfLine:");
    "~$\UF703" = ("moveToEndOfLineAndModifySelection:");
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.