iTerm2 : 줄을 삭제 하시겠습니까?


81

iTerm2⌘+Delete 에서 줄의 시작 부분 (브라우저 및 텍스트 편집기에서 작동하는 것과 같이)을 삭제하기 위해 매핑 (백 스페이스)을 시도하고 있는데 작동중인 이스케이프 코드를 찾을 수 없습니다. Wikipedia에서 읽은 내용을 기반으로 1K ( )를 시도했습니다 . "K"만 인쇄됩니다.^[1K

편집 : Ctrl+U. 이제 그것을 매핑하는 방법을 알아보십시오. 아마도 16 진수 코드 21 (U는 21 번째 문자)이므로 0x15?


3
CTRL+A CTRL+K그동안 시도 하십시오. 또는CTRL+C
Carlos

1
ctrl + K는 확실히 배우기에 좋은 것입니다. 하지만 저는 cmd + delete에 더 익숙합니다. 나는 그것을 가져야한다! 다른 모든 곳에서 작동합니다!
Steven Lu

1
다음은 유용하다고 생각되는 몇 가지 추가 정보입니다. ALT+Backspace-> Hex 0x17 보내기, ALT+RightArrow-> Exc Seq f ALT+LeftArrow보내기 , -> Exc Seq b 보내기
Carlos

Alt + Delete는 이미 기본적으로 작동했습니다. 최근에 ^ [b와 ^ [f를 설정했는데 잘 작동합니다. 특히 Cmd + Delete가 전체 줄을 삭제하고 싶습니다.
Steven Lu

@Carlos, ctrl + C의 좋은 점이며 실제로 꽤 많이 해왔습니다. 그래도 행동이 다르고 실수로 물건을 종료하고 싶지도 않습니다. 예를 들어 내가 어떤 종류의 통역사에 있고 내가 입력 한 줄을 삭제하려는 경우. Ctrl + C는 특정 상태에서만 작동하며 이러한 종류의 상태 종속성은 정확히 제가 벗어나려는 것입니다. 상태 의존성은 사용성의 골칫거리입니다.
Steven Lu

답변:


127

알았어. iTerm2의 16 진 코드 매핑이 연관된 Ctrl + 키 매핑을 생성하는 이유를 모르겠지만 실제로 수행합니다. 예상대로 A에 할당되지 않았기 때문에 0x00이 무엇을 의미하는지 알 수 없습니다. (나는 유닉스가 널 바이트를 처리하는 것과 관련된 자체 규칙을 가지고 있다고 생각하지만-예를 들어 xargs널 바이트 구분 형식을 받아 find들인다-iTerm2를 사용하여 이것을 핫키에 바인딩 할 수 있다면 깔끔 할 것입니다)

Ctrl + U가 내가 원하는 작업을 거의 정확히 수행한다는 것을 알 수있었습니다 (커서 앞에있는 것만 삭제하는 대신 전체 행을 삭제하지만, 보너스로 Ctrl + Y를 사용하면 모든 작업을 다시 가져올 수 있음). 그럼 난 호기심 나는 16 진수 코드를 한 것을보고 0x10x5매핑 ^A^E각각 내 Cmd를 + 왼쪽 및 Cmd를 + 마우스 오른쪽을 위해 ... 그래서 0x15입니다 ^U!


1
나는 이것을 5 번 더 찬성 할 수 있기를 바랍니다. 나는 이것을 찾는 데 너무 많은 시간을 보냅니다. 0x1과 0x5에서 0x15를 어떻게 계산합니까?
bizi

2
하하 u는 알파벳의 21 번째 글자에 불과합니다! 그래서 표현이 맞다고 생각합니다.
스티븐 루

2
정보를 위해 동일한 논리에 따라 줄 끝까지 삭제하려면 Ctrl-K ... K는 알파벳의 11 번째 문자 또는 16 진수의 0xB입니다. 따라서 'Command-Del->'을 16 진수 0xB에 할당하여 줄 끝까지 삭제합니다.
user2707671

1
@bizi Steven Lu의 대답을 확장하면 'u'는 21 번째, 'k'는 알파벳의 11 번째 글자이며, 원하는 16 진수 코드는 '0x15'와 '0xb'로 나오는 hex (21) & hex (11)입니다. '. 나는 그것들을 더 자주 찾는 것을 발견했습니다. 그래서 쉽게 실행하기 만하면됩니다 ( x물론 원하는 문자로 대체 ) : python -c "import string; print(hex(string.ascii_lowercase.find('x') + 1))" 또는 ~/.bashrc~/.bash_profilealias hexletter='python -c "import string,sys; print(hex(string.ascii_lowercase.find(sys.argv[-1]) + 1))"'
멋지고

2
그냥 여기에 남겨 두겠습니다. garbagecollected.org/2017/01/31/four-column-ascii
Steven Lu

42

대부분의 셸에서 16 진수 코드 0x15+ ←Delete에 매핑 하면 전체 줄 (커서의 왼쪽과 오른쪽에있는 내용)이 삭제됩니다. 때때로 호환되지는 않지만 다음 매핑을 찾습니다.

+ ←Delete16 진수 코드 보내기 :

0x18 0x7f

원하는 기능을 수행합니다. ZSH를 실행하는 경우 .zshrc 파일에 다음을 추가해야 할 수도 있습니다.

$ echo 'bindkey "^X\\x7f" backward-kill-line' >> ~/.zshrc

기본적으로 ZSH는 backward-kill-line아무것도 매핑하지 않습니다 .

또한 다음을 매핑하여 커서 오른쪽에있는 모든 항목을 삭제할 수도 있습니다.

+ fn+ ←Delete또는 + Delete→를 사용하여 16 진수 코드 전송 :

0x0b

여기 에 OSX의 표준 키 바인딩을 터미널에 추가하는 방법에 대한 포괄적 인 가이드를 작성했습니다.


흥미 롭군. 이러한 16 진수 값은 Ctrl + X (취소), DEL (ASCI 차트 참조)에 해당합니다. 이 시퀀스가 ​​DEL의 더 강력한 형식으로 해석되는 것은 꽤 합리적입니다. 그래도 터미널에 입력하면 (리눅스에서 바인딩을 설정하지 않고) Zsh는 나에게 신호음을 울리고 Bash는 a를 삽입 ^X하면 백 스페이스가 지워집니다. iTerm (인간 지연없이 시퀀스를 함께 전송)의 키 바인드로 이것을 시도했고 동일한 동작을 봅니다. 이것은 bash도 바인딩이 필요하다는 것을 나타냅니다.
Steven Lu

그러나 backward-kill-line.NET과 진정한 패리티를 위해 사용 하는 것이 완전히 옳 습니다 ⌘ + ←Delete. 추가 구성은 약간 번거롭지 만 전혀 나쁘지 않습니다.
Steven Lu

어떤 이유로 기록에서 삭제합니다. 내가 위쪽 화살표를 사용하면 더 이상 내가 삭제 한 항목을 얻지
못합니다

38

OSX에서 ⌥ + ⌫ 및 ⌘ + ⌫는 각각 단어 삭제 및 줄 삭제 단축키입니다. ⌘ + ← 및 ⌘ + →는 줄의 시작과 끝으로 이동합니다. 기본적으로 iTerm2는 이러한 방식으로 구성되지 않으며 온라인에 오해의 소지가있는 많은 가이드가 있습니다. 다음은 내 컴퓨터에서 작업 한 내용입니다.

  1. 환경 설정 (⌘ +,)을 열고 키 탭으로 이동합니다.
  2. 전역 단축키를 추가하고 단축키를 입력하기 만하면됩니다.
  3. 작업 드롭 다운에서 16 진수 코드 보내기를 선택합니다.

16 진수 코드 ...

  1. 단어 삭제 : 0x17.
  2. 라인 삭제 : 0x15.
  3. 줄의 시작 부분으로 이동 : 0x01.
  4. 줄 끝으로 이동 : 0x05. 새 탭을 열면 작동합니다!

명확성을 위해 다음은 스크린 샷입니다. 대체 텍스트


당신은 내 하루를 구했습니다!
Jerry

27

Mac OS의 경우 대부분의 편집기는 공통 단축키 + Delete: 줄의 시작 부분까지 삭제합니다. iTerm2에서는이 키 구성으로 전환 할 수 있습니다.

여기에 이미지 설명 입력


이것은 훌륭합니다. "Natural Text Editing"을 얻기 위해 수동으로 사전 설정을 추가했으며이 사전 설정은 필요한 모든 것을 한 번에로드했습니다.
claviska

15

나는 이것이 당신을 도울 수 있기를 바랍니다

map ⌥ <-16 진수 코드 보내기 삭제 : 0x1B 0x08

나는 그것에 대한 테스트를 받았으며 정확합니다.


18.09.2013 업데이트

이것은 한 줄이 아니라 한 단어를 삭제합니다.


1
이건 재미 있네! 설명하는 내용은 Alt + Ctrl + H와 동일하며, Alt + Ctrl + Backspace를 누를 때 내 특정 PuTTY 설정에서도 문제가 발생합니다. 내 zsh 셸에서는 단어 전체가 아닌 백 스페이스로 표시됩니다.
Steven Lu

Ctrl + H ^H는 실제로 많은 터미널에서 "백 스페이스"를 의미한다고 생각합니다. Alt- / meta- / escape-prefix를 "kill-word"로 바꾸는 것은 합리적이지만 얼마나 널리 지원되는지는 분명하지 않습니다.
스티븐 루

1
그것은 한 마디하지 라인을 삭제,하지만 나는 :) 찾고 있던 정확히
hyouuu

감사합니다 감사합니다 감사합니다 감사합니다. 무엇이 바뀌 었는지 모르겠지만 이것은 이전 Mac의 정확한 동작이었습니다 (실제로이 텍스트 상자에서 작동하는 방식입니다). 그러나 어떤 이유로 새 Mac에서는 완전히 달랐습니다. 다른 모든 제안으로 인해 "foo / bar / baz" 가 3이 아닌 단어 로 취급되었습니다.
Dan

4

지적대로 ^U선을 삭제합니다. Better Touch Tool 을 사용하여 명령을 쉽게 다시 매핑 할 수 있습니다. .

또한 자동화, 마우스, 패드 및 키보드 매핑을위한 멋진 기능이 있습니다. 스마트 테두리를위한 창 기능도 포함되어 있습니다.


일부 사람들은 기본 제공 솔루션을 찾고 있으며 추가 도구를 사용하지 않기를 원합니다. 불행히도 이것이 항상 가능한 것은 아니며 두 번째 도구에 위임하는 것은 좋은 속임수입니다.
Rudolf Real
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.