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

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

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



답변

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

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


답변

대부분의 셸에서 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의 표준 키 바인딩을 터미널에 추가하는 방법에 대한 포괄적 인 가이드를 작성했습니다.


답변

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

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

16 진수 코드 …

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

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


답변

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

여기에 이미지 설명 입력


답변

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

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

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


18.09.2013 업데이트

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


답변

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

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


답변