Mac OS X 터미널 : 맵 옵션 + 삭제를 "뒤로 삭제 단어"로


232

환경 설정-> 설정-> 키보드에서 매핑하려고 시도했지만 "키"콤보 상자에는 "전달 삭제"만 있고 "삭제"는 없습니다. 반면에 내 키보드에는 "삭제"만 있고 "앞으로 삭제"는 없습니다!

환경 설정을 제외하고 다른 방법이 있습니까?


"뒤로 단어 삭제"란 백 스페이스 키를 의미합니까? 삭제 키가있는 최근 Apple 키보드를 알 수 없습니다.
Sören Kuklau

"뒤로 단어 삭제"란 커서에서 뒤로 전체 단어를 삭제한다는 의미입니다. :) 마지막 Macbook에는 "delete"라는 레이블이 붙은 키가 있지만 백 스페이스 역할을합니다.
ibz

나는 같은 문제에 직면하고있다. 키보드가 뒤로 삭제되었지만 Terminal.app에서 바인딩으로 사용할 수 없습니다.
knoopx

나를 위해, 당신의 질문은 수백만의 공감할 가치가 있습니다. 그것은 많은 도움이되었습니다. 이전에는 우분투였습니다. 이제는 Mac OS에서도 저의 삶을 더 편하게 만들었습니다. 감사.
doptimusprime

답변:


424

옵션 키를 메타 키로 사용

  1. 로 이동 Terminal> Preferences> Profiles>Keyboard
  2. 확인하십시오 Use option key as meta key.

영상

macOS High Sierra 10.13.6에서 2018 년 10 월 23 일에 캡처되었습니다.

옵션 키를 메타 키로 전환하는 창 그림

노트

bash 및 tcsh를 포함한 많은 응용 프로그램은 Meta-Delete를 "뒤로 삭제 단어"로 취급합니다.


32
하단의 터미널 환경 설정> 설정> 키보드 아래에 있습니다.
Jon

16
이것이 기본이 아닌 이유는 무엇입니까?!
Ross Hambrick

8
Yosemite에서이 설정은 이제 환경 설정-> 프로파일-> 키보드 아래에 있습니다. 각 프로필마다 변경 / 설정해야하는 것 같습니다.
palimpsestor

6
미국 이외의 키보드에서는 특정 문자를 얻기 위해 옵션 키가 필요한 경우가 많습니다 (예 : 파이프 '|'는 쉘에서 매우 중요합니다). 이 경우 다른 답변에 언급 된 <Esc> b 및 <Esc> f가 아마도 가장 좋은 해결책입니까?
Touko April

8
불행히도, 이것은 옵션 키를 {메타 키로 사용할 때 작동하지 않기 때문에 옵션 키를 사용하여와 같은 특수 기호를 가져와야하는 외국 키보드를 사용하는 프로그래머에게는 비생산적입니다 .
Magne

74

OS X의 터미널은 bash를 실행하는데 여기에는 readline 지원이 포함됩니다. 팔로우 Glomek의 조언과 메타 키 (또는 다른 사용과 같은 사용 옵션 터미널 알 Esc) 및 당신은 편리한 옵션을 잔뜩 가지고 : Ctrl+ w삭제 이전 단어 (메타 +가 언급 한 바와 같이이 삭제로),하지만 당신은 또한 메타 +를 사용할 수 있습니다 f와 Meta + b를 사용하여 단어를 통해 앞뒤로 이동합니다. Ctrl+ aCtrl+ e는 줄의 시작과 끝으로, Ctrl+ k는 커서에서 줄의 끝까지 삭제합니다.

멋진 작은 참조 테이블 은 http://www.bigsmoke.us/readline/shortcuts 를 참조하십시오.


3
이것이 어떻게 "핸디"입니까? 나머지 시스템은 delete한정자를 사용 하여 단어를 삭제합니다.
idrougge

"줄 삭제"도 가능합니까?
wenbert

1
readline은 훌륭하지만 OP에는 도움이되지 않습니다. Ctrl + w는 단어 (구두점 + 공백으로 구분)가 아닌 WORD (공백으로 구분)를 삭제합니다. 끝에 커서가 있으면 cat .git/refs/headsCtrl-w가로 나타납니다 cat. 메타 + 삭제 결과cat .git/refs/
idbrii

@nadafigment, 'a'와 'e'는 무엇을 의미합니까?
Pacerier

63

돌아가는 단어 삭제 :

클릭률


2
글을 읽고 난 후에 "단어 삭제"가 ctrl + k (시행 오류)임을 알았습니다. 이제이 모든 것에 대해 왜 그렇게 적은 문서가 있는지 궁금합니다.
빅터 n.

8
Ctr-k는 한 단어뿐만 아니라 모든 문자를 삭제합니다.
Shai

이것은 내 맥에서 작동합니다. 우분투 리눅스에서도 작동합니까?
user391339

1
Ctrl + w는 단어 (구두점 + 공백으로 구분)가 아닌 WORD (공백으로 구분)를 삭제합니다. 끝에 커서가 있으면 cat .git/refs/headsCtrl-w가로 나타납니다 cat. 메타 + 삭제 결과cat .git/refs/
idbrii

24

기본적으로 메타 백 스페이스는 대부분의 쉘에서 역방향 단어를 잡아 당깁니다. escape를 누른 다음 backspace를 누르면 거의 모든 곳에서 작동합니다.


3
환상적인 추가 설정이 필요하지 않습니다. I 통지 <Esc> b하고 <Esc> f또한 점프 다시 작동 또는 앞으로 한 단어.
joeytwiddle 2012

1
<ALT> + 화살표가 더 좋습니다. ESC에서는 b 또는 f를 계속 클릭 할 수 없습니다.
Vitali Pom

1
<ALT> + 화살표를 사용하여 이동했지만 비슷한 방법으로 삭제할 방법이 없다는 것을 알았습니다. 위에서 언급 한 CTRL + W 접근 방식은 <ALT> + 화살표와 같은 방식으로 단어가 아닌 문자에서 멈추지 않으므로 공백까지 모든 것을 삭제합니다. 어떤 방법으로 유사한 경계 탐지를 사용하여 삭제합니다 <ALT> + 화살표 주시면 감사하겠습니다
르네 Wooller

18

⌃W(control + W)는 meta + delete (메타 키로 사용 옵션을 선택하지 않은 경우 ESC + delete)와 동일하지 않습니다. meta + delete는 공백을 구분 기호로 간주하는 / _단어 구분 기호로 취급 ^W합니다.

예 : ESC + Bakcspace를 사용하여 (마지막에 커서)

rm /dira/dirb/file1

준다

rm /dira/dirb/

^ W는 같은 것을 줄 것이다

rm

따라서 터미널 프로파일 수정을 정의 할 때 ^ W 대신 \ 033 \ 177을 사용하는 것이 좋습니다. 그렇게하면 실제로 ⌫를 esc⌫에 매핑하고 공간 구분 기호에 따라 단어를 지우려면 ^ W를 계속 사용합니다.

나는 이것을하는 방법에 대한 이미지를 게시하고 싶지만 초보자는 할 수 없습니다.

터미널 프로파일을 수정하는 방법을 보려면 bouke 주석을 참조하십시오.


5
이 작업을 수행하려는 경우 iterm2기본 설정> 키> 키 매핑 ⌥⌫을 추가하여 16 진 코드를 보낼 수 있습니다 0x1B 0x7F. 🍻
qix

\033\177"단어의 일부를 삭제하십시오"에 대해 원하는 것을 어떻게 알았 습니까?
단열

실제로 터미널 환경 설정 대화 상자에서 원하는 키 시퀀스를 눌러야합니다. 환경 설정 → 프로파일 → 키보드 탭 → + 버튼을 선택한 다음 수정 자 "옵션"과 키 "⌫ 삭제"를 선택한 다음 텍스트 필드를 선택하고 이스케이프 키를 누른 다음 ⌫ 키를 누르면 완료됩니다. Esc + ⌫는 ⌥⌫
Stephane Gasparini

14

터미널 프로파일에서 ⌥⌫ (옵션 + 삭제)를 ⌃W (control + W)에 바인딩 할 수 있으므로 다른 앱과 유사하게 작동합니다.

터미널 프로파일 키보드 설정


이 작업을 수행하려면 stty가 ^ w를 werase (기본 동작)에 매핑해야합니다. 명령 행에서 stty -a를 사용하여 맵핑 설정 방법을 확인하십시오.
natersoz

4

명령 편집 바로 가기

Ctrl + a – 명령 행 시작으로 이동

Ctrl + e – 명령 행 끝으로 이동

Ctrl + k – 커서에서 명령 행 끝까지 삭제

Ctrl + u – 커서에서 명령 행 시작까지 삭제

Ctrl + w – 커서에서 삭제하여 단어 시작 (예 : 한 단어 뒤로 삭제)

Ctrl + y – 커서 다음에 삭제 바로 가기 중 하나 (예 : 위와 같은)를 사용하여 잘라낸 단어 또는 텍스트 붙여 넣기

Ctrl + xx – 명령 행 시작과 현재 커서 위치 사이를 이동합니다 (다시 다시).

Alt + b – 한 단어 뒤로 이동 (또는 커서가 현재있는 단어의 시작으로 이동)

Alt + f – 한 단어 앞으로 이동 (또는 커서가 현재있는 단어의 끝으로 이동)

Alt + d – 커서에서 시작하는 단어의 끝까지 삭제 (커서가 단어의 시작 부분에 있으면 전체 단어)

Alt + c – 커서에서 시작하는 단어의 끝을 대문자로 표시합니다 (커서가 단어의 시작 부분에 있으면 전체 단어)

Alt + u – 커서에서 단어 끝까지 대문자로 만듭니다.

Alt + l – 커서에서 단어 끝까지 소문자로 만듭니다.

Alt + t – 현재 단어를 이전 단어로 교체

Ctrl + f – 한 문자 앞으로 이동

Ctrl + b – 한 문자 뒤로 이동

Ctrl + d – 커서 아래 문자 삭제

Ctrl + h – 커서 앞의 문자를 삭제합니다

Ctrl + t – 커서 아래 문자를 이전 문자로 바꿉니다.

커맨드 리콜 단축키

Ctrl + r – 역사를 거꾸로 검색

Ctrl + g – 기록 검색 모드에서 빠져 나오기

Ctrl + p – 히스토리의 이전 명령

Ctrl + n – 히스토리에서 다음 명령 (즉, 명령 히스토리를 통해 진행) Alt + – 이전 명령의 마지막 단어를 사용

명령 제어 바로 가기

Ctrl + l – 화면을 지 웁니다.

Ctrl + s – 화면에 대한 출력을 중지합니다 (장시간 실행 명령의 경우)

Ctrl + q – 화면에 출력 허용 (이전에 위 명령을 사용하여 중지 한 경우)

Ctrl + c – 명령 종료

Ctrl + z – 명령 일시 중단 / 중지

Bash Bang (!) 명령 Bash에는! bash 명령으로 펑키 한 일을 할 수 있습니다.

!! – 마지막 명령 실행! blah – 'blah'로 시작하는 가장 최근 명령 실행 (예 :! ls)

! blah : p –! blah가 실행할 명령을 인쇄합니다 (명령 기록에서 최신 명령으로 추가)

! $ – 이전 명령의 마지막 단어 (Alt +와 동일)

! $ : p –! $가 대체 할 단어를 출력

! * – 마지막 단어를 제외한 이전 명령 (예 : '_find somefile.txt /'를 입력하면! *는 '_find somefile.txt'를 제공합니다)

! : p – 무엇을 출력! 대체 할 것이다


2

함께 Natural Text Editing> 키 - 사전 설정은 프로필에서 사용 가능. 당신은 단순히 단어를 제거 할 수 있습니다

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