OS X 터미널에서 커서를 단어 단위로 이동할 수 있는 방법이 있나요?

StackOverflow https://stackoverflow.com/questions/81272

문제

내가 아는 그 조합 Ctrl 키+ 현재 명령의 시작 부분으로 점프하고 Ctrl 키+이자형 끝까지 점프하려면.

하지만 단어별로 건너뛸 수 있는 방법이 있나요? Alt+/ Cocoa 애플리케이션에서는 어떻게 되나요?

도움이 되었습니까?

해결책

기본적으로 매우 기괴한 기능을 사용할 수 있습니다. Esc+에프 다음 단어의 시작 부분으로 이동하고 Esc+ 현재 단어의 시작 부분으로 이동합니다.

다른 팁

Mac OS X에서는 다음 키보드 단축키가 기본적으로 작동합니다.참고해서 만드셔야 합니다 옵션 핵심 행위는 다음과 같습니다 메타 터미널 환경설정(키보드 탭 아래)

  • Alt(⌥)+에프 점프 에프한마디로
  • Alt(⌥)+ 점프 한마디로 칭찬하다

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

  • Alt(⌥)+ 현재 커서 위치에서 시작하는 단어를 삭제하려면
  • Ctrl 키+ 줄의 시작 부분으로 점프하려면
  • Ctrl 키+이자형 줄 끝으로 점프하려면
  • Ctrl 키+케이 커서 위치에서 시작하는 줄을 죽이려면
  • Ctrl 키+와이 킬 버퍼의 텍스트를 붙여넣으려면
  • Ctrl 키+아르 자형 기록에서 과거에 입력한 명령을 역검색하려면
  • Ctrl 키+에스 검색 전달(zsh에서는 작동하지만 bash에서는 작동하지 않음)
  • Ctrl 키+에프 한 글자씩 앞으로 나아가다
  • Ctrl 키+ 한 문자씩 뒤로 이동하려면
  • Ctrl 키+ 커서 위치에서 뒤로 단어를 제거하려면

방법은 다음과 같습니다.

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

  • 에스+ (왼쪽)
  • 에스+에프 (오른쪽)

구성할 수 있습니다. 대체+ 그리고 해당 시퀀스를 생성하려면 다음을 수행하십시오.

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

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

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

로 전환 iTerm2.무료이며 기존의 일반 터미널보다 훨씬 좋습니다.또한 키보드 단축키와 같이 사용자 정의를 위한 더 많은 옵션이 있습니다.

또한 나는 당신이 사용할 수 있다는 것을 좋아합니다 cmd 탭 사이를 전환하려면 1-9를 사용하세요.그것을 시도하면 일반 터미널로 돌아 가지 않을 것입니다 :)

iterm2에서 사용자 정의 키보드 기본 설정을 지정하는 방법

  • iTerm2 설치
  • 실행한 다음 환경 설정 창으로 이동합니다.
  • 키보드 프로필 탭을 선택하세요.
  • 프로필을 새로운 항목에 복사한 다음 다음과 같은 화살표 키 단축키를 삭제해야 합니다. ^+ 오른쪽/왼쪽 또는 백업에 관심이 없다면 기본 프로필에서 삭제하세요.
  • 다음으로 수정된 프로필이 선택되었는지(별표 표시됨) 확인하세요.

Picture 1.png

  • 이제 키보드 탭(맨 윗줄)을 선택하세요.

iTerm 2

  • 새로운 키보드 단축키를 추가하려면 더하기 버튼을 클릭하세요.
  • 첫 번째 상자 유형 명령+왼쪽 화살표
  • 두 번째 상자에서 "이스케이프 코드 보내기"를 선택하십시오.
  • 세 번째 상자에 문자를 입력하세요.

Picture 2.png

  • 원하는 키 조합으로 반복하세요. 탈출하다+ 한 단어를 왼쪽으로 이동합니다. 탈출하다+에프 한 단어를 오른쪽으로 이동합니다.
  • 당신은 또한 설정을 원할 수도 있습니다 cmd+ 커서 앞에 있는 단어를 삭제하려면 탈출하다+

나는 종종 잘못된 버튼을 눌렀다(cmd / 제어 / 대체) 화살표 키가 있으므로 해당 버튼과 화살표 키 조합이 단어 앞으로 및 뒤로 이동하도록 모두 설정되어 있지만 가장 적합한 것을 선택하세요.

실제로 훨씬 더 나은 접근 방식이 있습니다.잡고 있다 옵션 ( 대체 일부 키보드) 단어 단위로 이동하려면 왼쪽이나 오른쪽 화살표 키를 누르세요.그렇게 간단합니다.

옵션
옵션

또한 Ctrl 키이자형 당신을 줄의 끝으로 데려갈 것입니다. Ctrl 키 당신을 시작으로 데려다 줄 것입니다.

나는 가지고있다 Alt+/ 일하고 있는:열려 있는 환경 설정 » 설정 » 키보드, 다음에 대한 항목을 설정합니다. 옵션 커서 왼쪽 에게 문자열을 쉘로 보냅니다:\033b, 그리고 설정 옵션 커서 오른쪽 에게 문자열을 쉘로 보냅니다:\033f.다른 Control 키 조합에도 이 기능을 사용할 수 있습니다.

실제로 사용하는 쉘에 따라 다르지만 대부분의 쉘에는 유사한 바인딩이 있습니다.당신이 언급하고 있는 바인딩(예: Ctrl 키+ 그리고 Ctrl 키+이자형)는 다른 많은 프로그램에서 찾을 수 있는 바인딩이며 오랫동안 사용되며 BTW는 대부분의 UI 앱에서도 작동합니다.

Bash의 기본 바인딩은 다음과 같습니다.

가장 중요한 Bash 키보드 단축키

맞춤설정도 가능하니 참고하세요.원하는 대로 이름을 지정하는 파일을 생성해야 합니다. 저는 .bash_key_bindings라는 이름을 지정하고 홈 디렉터리에 넣었습니다.여기에서 몇 가지 일반적인 bash 옵션을 설정할 수 있으며 키 바인딩도 설정할 수 있습니다.적용되었는지 확인하려면 다음과 같은 파일을 수정해야 합니다. ".bashrc" bash는 시작 시 읽고(없으면 생성해야 함) 거기에서 다음 호출을 수행합니다.

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를 선택했습니다) 아무 일도 일어나지 않습니다.그러나 소문자 w를 입력하면 커서 왼쪽에 있는 단어가 삭제됩니다.그러나 대문자를 입력하면 커서 오른쪽에 있는 단어가 사라집니다.커서부터 시작하는 전체 줄에 대해서는 l과 L도 마찬가지입니다."a"를 입력하면 실제로 전체 줄(커서 앞과 뒤의 모든 내용)이 삭제됩니다.

나는 한 단어 앞으로 점프를 배치했습니다 Ctrl 키+에프 그리고 한 단어 뒤로 Ctrl 키+

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

보시다시피, 즉시 작업으로 이어지는 바로가기를 만들 수도 있고, 문자 시퀀스를 초기화한 다음 하나 이상의 문자를 입력해야 다음과 같이 작업이 수행되도록 할 수도 있습니다. 위의 예에 나와 있습니다.

따라서 기본 바인딩이 마음에 들지 않으면 원하는 대로 자유롭게 사용자 정의하세요.여기 Bash 매뉴얼 링크 자세한 내용은.

Vim 사용자라면 bash의 vim 모드를 사용해 볼 수 있습니다.이것을 실행하거나 ~/.bashrc 파일:

set -o vi

기본적으로 삽입 모드에 있습니다.Esc 키를 누르면 일반 모드 Vim에서처럼 이동할 수 있으므로 단어 단위로 이동하는 것은 w 또는 b, 그리고 일반적인 이동 키도 작동합니다.

확인해보면 Use option as meta key 환경 설정의 키보드 탭에서 앞으로 및 뒤로 단어 및 ⌥F (Alt+에프) 그리고 ⌥B (Alt+) 각각.

나는 독서를 권하고 싶다 Bash에서 Z-Shell까지.bash/zsh 실력을 높이고 싶다면!

Mac OS X Lion 10.7 기준, 터미널 지도 옵션-왼쪽/오른쪽 화살표 에게 Esc-b/f 기본적으로 이것은 이제 이러한 emacs 호환 키 바인딩을 사용하는 bash 및 기타 프로그램에 내장되어 있습니다.

Bash에서는 다음과 같이 바인딩됩니다. Esc- 그리고 Esc-에프.Bash에는 훨씬 더 많은 키보드 단축키가 있습니다.의 출력을 살펴보세요 bind -p 그들이 무엇인지 알아보기 위해.

아래에 iterm2'에스 환경 설정 > 프로필 > 키, 당신은 + 아래에 키 매핑 새로운 바로가기를 녹음하세요.을 위한 행동, 선택하다 Send Escape Sequence 그리고 유형 b 또는 f 각각 뒤로 및 앞으로.

(Ctrl 키+), 나는 키보드 단축키 화살표가 나타나지 않은 필드.알고 보니 기본 Mac을 비활성화해야 했습니다. 시스템 환경설정 > 키보드 > 단축키 > 미션 컨트롤 iterm2의 기본 단축키를 재정의하므로 작업을 수행하려면 먼저 단축키를 사용하세요.표준 터미널 앱에도 마찬가지입니다.

Keyboard system preferences

Option 키를 누른 채 커서를 이동할 위치를 클릭하세요.

사용 자연스러운 텍스트 편집 미리 설정!

enter image description here

기본적으로 다른 키 시퀀스 중에서 Option + LeftArrow를 바인딩합니다. ^[b 시퀀스 및 Option + RightArrow ^[f

이것은 psql 터미널뿐만 아니라 fish와 bash에서도 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top