[macos] OS X 터미널에서 단어 단위로 커서를 이동하는 방법

나는 조합 알고 Ctrl+는 A현재 명령의 시작 부분으로 이동하고, Ctrl+ E끝으로 이동합니다.

그러나 Cocoa 응용 프로그램에서 Alt+ / 와 같이 단어별로 단어를 건너 뛸 수있는 방법 이 있습니까?



답변

상자에서 상당히 기괴한 Esc+ F를 사용하여 다음 단어 의 시작으로 이동 하고 Esc+ B를 사용하여 현재 단어의 시작으로 이동할 수 있습니다.


답변

Mac OS X의 경우 다음 키보드 단축키가 기본적으로 작동합니다. 터미널 탭의 키보드 탭 아래에있는 옵션 키가 메타 처럼 작동하도록 해야합니다.

  • alt (⌥)+ F점프 F의 단어로 orward을
  • alt (⌥)+ 한 단어로 B를 ackward B로 점프

간단한 텍스트 탐색을위한 기본 emacs 키 바인딩이 bash 쉘에서 작동하는 것으로 나타났습니다. 당신이 사용할 수있는

  • alt (⌥)D현재 커서 위치에서 시작하는 단어를 삭제하려면 +
  • ctrl+ A줄의 시작으로 점프
  • ctrl+ E줄의 끝으로 점프
  • ctrlK커서 위치에서 시작하여 줄을 죽이려면 +
  • ctrl+ Ykill 버퍼에서 텍스트를 붙여 넣기
  • ctrl+ R기록에서 과거에 입력 한 명령을 역으로 검색
  • ctrl+ S검색을 전달하려면 (zsh에서는 작동하지만 bash는 작동하지 않음)
  • ctrl+ F한 문자 씩 앞으로 이동
  • ctrl+ B한 문자 씩 뒤로 이동
  • ctrl+ W커서 위치에서 단어를 뒤로 제거

답변

당신이 그것을 할 수있는 방법은 다음과 같습니다

기본적으로 터미널에는 단어별로 이동 (왼쪽 및 오른쪽)하는 바로 가기가 있습니다.

  • esc+ B(왼쪽)
  • esc+ F(오른쪽)

alt+ 를 구성 하고 해당 시퀀스를 생성 할 수 있습니다 .

  • 터미널 환경 설정 열기 ( cmd+ ,);
  • 설정 탭에서 키보드를 선택하고 키보드가있는 ⌥ ←경우 두 번 클릭 하거나없는 경우 추가하십시오.
  • 수정자를 원하는대로 설정하고 상자에 esc+를 입력 B하여 텍스트를 생성합니다 \033b(이 텍스트를 수동으로 입력 할 수 없음).
  • 오른쪽 단어에 반복 ( esc+ F\033f)

또는 textmate에서이 블로그 게시물을 참조 할 수 있습니다.

http://blog.macromates.com/2006/word-movement-in-terminal/


답변

iTerm2로 전환 하십시오 . 평범한 오래된 터미널보다 무료이며 훨씬 좋습니다. 또한 키보드 단축키와 같이 사용자 정의를위한 훨씬 더 많은 옵션이 있습니다.

또한 cmd1-9를 사용 하여 탭 사이를 전환 할 수 있음을 좋아 합니다. 그것을 시도하고 당신은 일반 터미널로 돌아 가지 않을 것입니다 🙂

iterm2에서 사용자 정의 키보드 환경 설정을 설정하는 방법

  • iTerm2 설치
  • 시작한 다음 환경 설정 창으로 이동하십시오.
  • 키보드 프로파일 탭을 선택하십시오
  • 프로필을 새로운 것으로 복사 한 다음 ^+ Right/ 와 같은 화살표 키 바로 가기를 삭제 Left하거나 백업에 신경 쓰지 않으면 기본 프로필에서 삭제하십시오.
  • 그런 다음 수정 된 프로필이 선택되어 있는지 확인하십시오 (별표 표시).

그림 1.png

  • 이제 키보드 탭을 선택하십시오 (맨 위 줄)

iTerm 2

  • 더하기 버튼을 클릭하여 새로운 키보드 단축키를 추가하십시오
  • 첫 번째 상자에 CMD+를 입력하십시오Left arrow
  • 두 번째 상자에서 “이스케이프 코드 보내기”를 선택하십시오.
  • 세 번째 상자에 문자를 입력하십시오 B

그림 2.png

  • 원하는 키 조합으로 반복하십시오. escape+ B한 단어를 왼쪽으로 이동 하고 escape+ f한 단어를 오른쪽으로 이동합니다.
  • 당신은 또한 설정하실 수 있습니다 cmd+ d와 커서 앞에있는 단어를 삭제 escape+d

나는 종종 화살표 키로 잘못된 버튼 ( cmd/ control/ alt)을 누르기 때문에 그 버튼들과 화살표 키 조합이 모두 앞뒤 단어로 점프하도록 설정되어 있지만 가장 적합한 것을하십시오.


답변

실제로 훨씬 더 나은 접근 방식이 있습니다. 홀드 option( alt일부 키보드에)하고 Enter 키를 눌러 화살표 키를 왼쪽이나 단어로 이동 맞아. 그렇게 간단합니다.

option
option

또한 ctrle줄의 끝으로 ctrla당신을 데려다 줄 것입니다.


답변

I이 Alt+ / 일 : 개방 환경 설정»설정»키보드 , 대한 항목 설정 옵션 커서 왼쪽\ 033b : 쉘 문자열을 전송 하고, 세트 옵션 커서를 오른쪽쉘 문자열을 보내 : \ 033f를 . 다른 Control 키 조합에도 사용할 수 있습니다.


답변

실제로 사용하는 쉘에 따라 다르지만 대부분의 쉘에는 비슷한 바인딩이 있습니다. 참조하는 바인딩 (예 : Ctrl+ ACtrl+ E)은 다른 많은 프로그램에서 찾을 수있는 바인딩이며 연령대에 사용되며 BTW는 대부분의 UI 앱에서도 작동합니다.

Bash에 대한 기본 바인딩은 다음과 같습니다.

가장 중요한 배쉬 키보드 단축키

또한 사용자 정의 할 수 있습니다. 파일 이름을 원하는대로 만들어야합니다. 이름을 mine .bash_key_bindings로 지정하고 내 홈 디렉토리에 넣습니다. 여기에서 일반적인 bash 옵션을 설정하고 키 바인딩을 설정할 수도 있습니다. 파일이 적용되도록하려면 시작시 bash가 읽은 “.bashrc” 라는 파일을 수정하고 (존재하지 않는 경우 작성해야 함) 다음을 호출해야합니다.

bind -f ~/.bash_key_bindings

~는 위에서 언급 한 것처럼 bash의 홈 디렉토리를 의미하며 원하는대로 파일 이름을 지정하고 바인딩 할 올바른 경로 + 이름을 제공하는 한 원하는 곳에 배치 할 수도 있습니다.

내 .bash_key_bindings 파일의 일부를 보여 드리겠습니다.

set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set bell-style none
set print-completions-horizontally off

이것들은 몇 가지 옵션을 설정합니다 (예 : 종소리 비활성화; 이것은 bash 웹 페이지에서 모두 볼 수 있습니다).

"A": self-insert
"B": self-insert
"C": self-insert
"D": self-insert
"E": self-insert
"F": self-insert
"G": self-insert
"H": self-insert
"I": self-insert
"J": self-insert

이것들은 문자만으로 아무 것도하지 않고 문자가 “타이핑”되도록합니다 (쉘에 자신을 삽입합니다).

"\C-dW": kill-word
"\C-dL": kill-line
"\C-dw": backward-kill-word
"\C-dl": backward-kill-line
"\C-da": kill-line

이것은 매우 흥미 롭습니다. Ctrl+ D만 누르면 (삭제를 위해 d를 선택) 아무 일도 일어나지 않습니다. 그러나 소문자 w를 입력하면 커서 왼쪽의 단어가 삭제됩니다. 그러나 대문자를 입력하면 커서 오른쪽의 단어가 죽습니다. 커서에서 시작하는 전체 줄에 대해 l과 L도 같습니다. “a”를 입력하면 전체 줄이 실제로 삭제됩니다 (커서 앞뒤에있는 모든 것).

나는에 한 단어 앞으로 점프 여겼다 Ctrl+ F에 후진 한 단어 Ctrl+B

"\C-f": forward-word
"\C-b": backward-word

보시다시피, 바로 가기를 만들면 즉시 동작으로 이어 지거나 문자 시퀀스를 시작한 다음 하나 이상의 문자를 입력하여 동작을 수행하도록 할 수 있습니다. 위의 예에 더 나와 있습니다.

따라서 기본 바인딩에 만족하지 않으면 원하는대로 자유롭게 바인딩을 사용자 정의하십시오. 여기의 bash는 설명서 링크 자세한 내용은.