OSX에서 회선을 어떻게 선택합니까?


8

텍스트를 편집 중입니다. 행을 선택하는 번거로운 방법은 행의 시작 부분 (cmd <-)으로 이동 한 다음 전체 행을 끝까지 선택하는 것입니다 (Shift cmd->). 더 잘할 수 있습니까?

또한 줄을 자르고 버퍼에 저장하는 단축키도 환영합니다. (cmd D)는 행을 버퍼에 저장하지 않습니다.


1
어떤 프로그램에서 텍스트를 편집하고 있습니까?
ForeverWintr

터미널의 Eclipse에서 주로 사용되었지만 가능한 경우 모든 응용 프로그램에 대한 일반적인 솔루션을 원했습니다.
다비드 나 팅가

os x home의 풀 키보드에서 shift-end는 전체 라인을 선택하지만 풀 키보드가 없을 것입니다. 또한 대부분의 응용 프로그램에서 줄의 시작 부분에 커서를 놓은 다음 아래쪽 화살표를 누르면 Shift 키를 누릅니다.
sdjuan

답변:


10

나는 항상 다음을 사용합니다.

  • cmd - Left arrow 줄의 시작에 도달
  • shift + cmd + right arrow 라인을 표시
  • cmd - C(나 cmd - X) 클립 보드에 표시된 선을 복사 (또는 잘라 내기) 할 수

그런 다음 원하는 곳으로 이동하여 줄을 붙여 넣을 수 있습니다 cmd - v.

그러나 MacOS는 마우스없이 그래픽 사용자 인터페이스에 강력하게 고정되어 있기 때문에 가능하지만 때로는 경우와 같이 하나 이상의 키 누르기를 포함합니다.


1
가장 오른쪽 : Shift + cmd-오른쪽 화살표, Shift + cmd-아래쪽 화살표
Kevin Le-Khnle 5

1
shift + cmd + 아래쪽 화살표는 줄 바꿈 문자를 제외한 현재 줄을 표시하고 shift + cmd + 오른쪽 화살표는 줄 바꿈 문자를 제외한 줄을 표시합니다. 우린 둘 다 맞아;)
heiglandreas

5

텍스트 입력을 허용하는 대부분의 응용 프로그램 (터미널, 텍스트 편집기, Safari의 URL / 검색 막대 등)에는 표준 키 바인딩 (어떤 표준 ... ANSI, ASCII?

control+ a: 줄의 시작

control+ e: 줄의 끝

따라서 control+ shift+ a or e는 위치에 따라 선을 선택합니다.

또한:

control+ shift+ k: 줄 끝까지 죽이기

control+ shift+ y: yank (버퍼에서)

bindkey터미널 에서 명령을 사용하여 전체 목록을 생성 할 수 있지만 모든 앱에서 작동하지는 않습니다.


1
OS X 텍스트 뷰는 readline을 사용하지 않으며, emacs 모드에서 readline과 동일한 키 바인딩을 지원하기 만합니다. Cu, C- @ 및 Cw는 DefaultKeyBinding.dict에서 정의 할 수 있지만 기본적으로 바닐라 텍스트보기에서 작동하지 않아야합니다.
Lri

명령 프롬프트에서 수행 한 것을 제외하고 게시하기 전에 모든 것을 테스트했습니다. 도.
Nevin Williams

이것은 좋지만 여전히 전 세계적으로 작동하는 것을 찾고 있습니다.
Louis Waweru

2

~/Library/KeyBindings/다음과 같은 속성 목록을 만들고 저장할 수 있습니다 DefaultKeyBinding.dict.

{
    "~l" = selectParagraph:;
    "~z" = (selectParagraph:, delete:);
    "~x" = (selectParagraph:, cut:);
    "~c" = (selectParagraph:, copy:);
}

예를 들어 응용 프로그램을 다시 연 후 ⌥L은 대부분의 기본 텍스트보기에서 선을 선택해야합니다. Eclipse, Terminal 또는 Xcode에서는 작동하지 않습니다. 자세한 내용은 Cocoa Text System 기사 또는 내 웹 사이트를 참조하십시오 .

또 다른 옵션은 KeyRemap4MacBook을 사용하고 다음과 같은 것을 private.xml 로 저장하는 것입니다 .

<?xml version="1.0"?>
<root>
<item>
<name>test</name>
<identifier>test</identifier>
<not>TERMINAL</not>
<not>EMACS</not>
<not>VIRTUALMACHINE</not>
<not>ECLIPSE</not>
<autogen>__KeyToKey__ KeyCode::L, VK_OPTION | ModifierFlag::NONE, KeyCode::A, ModifierFlag::CONTROL_L, KeyCode::E, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L, KeyCode::CURSOR_RIGHT, ModifierFlag::SHIFT_L</autogen>
</item>
<item>
<name>test2</name>
<identifier>test2</identifier>
<only>ECLIPSE</only>
<autogen>__KeyToKey__ KeyCode::L, VK_OPTION | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::CURSOR_RIGHT, ModifierFlag::SHIFT_L</autogen>
</item>
</root>

대부분의 응용 프로그램에서 ⌃A는 줄 바꾸기 줄의 시작으로 이동하고 ⌘ ←는 줄 바꿈의 시작으로 이동하지만 ⌃A는 Eclipse에서 작동하지 않는 것 같습니다.

키 코드 값사전 정의 된 설정에 대해서는 소스를 참조하십시오 .


1

모든 Cocoa 앱에서 작동하는 것처럼 보이는 솔루션 을 찾았 습니다 . home& end키가 Apple 이외의 시스템처럼 작동 하도록하십시오 (전체 문서 대신 행의 시작 / 끝으로 이동).

파일 ~/Library/KeyBindings/DefaultKeyBinding.dict에는 다음이 포함되어야합니다.

{
    /* home */
    "\UF729"  = "moveToBeginningOfLine:";
    "$\UF729" = "moveToBeginningOfLineAndModifySelection:";

    /* end */
    "\UF72B"  = "moveToEndOfLine:";
    "$\UF72B" = "moveToEndOfLineAndModifySelection:";
}

파일 또는 디렉토리가 존재하지 않으면 위의 코드 스 니펫을 전자 칠판에 복사하고 터미널을 열고 다음 두 명령을 입력하십시오.

mkdir ~/Library/KeyBindings
pbpaste > ~/Library/KeyBindings/DefaultKeyBinding.dict

앱을 다시 시작해야 예상대로 작동 할 수 있습니다.


1

나는 아무도 이것을 언급하지 않은 것에 놀랐다

Shift + CMD + 왼쪽 화살표 (또는 처음에있는 경우 오른쪽 화살표)


아니요, @heiglandreas는 그의 대답에서 그것을 언급했습니다 (명시 적이지는 않지만 그는했습니다). 두 번째 글 머리 기호를 참조하십시오.
C0deDaedalus

1

macOS의 장점 중 하나 (WIN / Linux)는 거의 모든 텍스트 상자 에있는 글로벌 emacs 스타일 키 바인딩입니다 (예외로 이러한 키 바인딩을 귀찮게 재정의하는 Mac 용 Microsoft Office는 예외입니다 ...)

이 질문에 관해서는, 나는 항상 C-a라인의 헤드에 도달하여 라인의 C-S-e끝까지 선택하고 'CMD-c'를 복사하기 위해 사용합니다.

많은 리터럴 줄을 가로 지르는 줄 (\ n으로 끝나는)이 있으면 일반적으로 다음을 수행합니다.

1) C-a줄의 시작으로 이동

2) C-n다음 리터럴 라인의 시작으로 이동

3) C-b한 문자 뒤로 이동

4) C-S-a라인 헤드까지 선택

5) CMD-c내용을 복사

복잡한 솔루션 일 수도 있지만 macOS의 대부분의 텍스트 상자에서 작동해야합니다.


0

control+ shift+aef

( Control 및 Shift를 누른 상태에서 aef 를 입력 하십시오 )

이것은 현재 행을 세 번 클릭하는 것과 동일한 결과를 제공합니다.

선택에 후행 EOL이 포함됩니다. 그것이 원하는 것이 아니라면 f를 빼십시오 .

보너스로 f 다음n을 반복해서 눌러 여러 줄을 선택합니다.

Xcode 및 TextEdit에서 테스트되었습니다.

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