유닉스 터미널에서“앞으로”라는 단어를 삭제하는 지름길은 무엇입니까?


14

내가 할 Ctrl+W단어를 삭제하려면 맥 터미널에서 (커서가 단어의 시작 부분에 어디에서 삭제)

커서의 위치를 ​​단어 끝까지 삭제하려면 어떻게해야합니까?

답변:


14

이것은 쉘과 활성 명령 행 편집 모드에 따라 다릅니다.

Emacs 명령 행 편집 모드 ( set -o emacs일부 쉘)가있는 쉘의 경우, Alt+D어떤 이유로 든 macOS에서는 작동하지 않지만 문자를 인쇄 하려면 Escd대신 사용하십시오.

바이올렛 명령 행 편집 (모드 쉘의 경우 set -o vi일부 포탄), 사용 Escdw(이 수행 뿐만 아니라 맥 OS에 대한 작업을).


Meta-D는 zsh에서만 Ctrl-W 와 같은 유형의 단어 를 삭제합니다 (공백으로 구분 된 단어 ). 에서 bashvi모드, 당신이 사용할 수있는 dW사람들을 삭제합니다
스테판 Chazelas가

1
@ StéphaneChazelas 그렇습니다. 두 개의 키 조합은 "단어"를 구성하는 것에 대해 다른 견해를 가지고 있습니다.
Kusalananda

터미널 키보드 환경 설정에서 "메타로 사용 옵션"을 확인하여 작동시킬 수 있습니다.
Jozef Legény

Esc + D와 Alt + D는 모두 xfce4 터미널 0.6.3 에서 작동 합니다.
neverMind9

1

tty 줄 훈련의 ^W경우 이전 공백으로 구분 된 단어를 삭제합니다 .

vi삽입 모드 편집기 ^Walnums 비 alnums의 제 1 시퀀스의 시작 전후 삭제 (에 foo-+-bar.. baz그것을 먼저 삭제 baz한 후 .., 다음 bar다음 -+-다음 foo).

에서 emacs편집기, ^W받는 커서 위치에서 삭제 마크 (당신이 설정 한 Ctrl+Space).

같은 일부 라인 편집기 readline(에 의해 사용이 bash, gdb...), zle(에서 사용 zsh), pdksh시에서의 vi모드처럼 행동 vi그 점에서 때의 emacs청각 장애 제어 규칙 (안 같은 모드로 동작합니다 emacs).

libedit(BSD 껍질 또는 사용에 의해 (임의로) dash) tcsh, AT & T ksh에서 emacs모드처럼 동작 emacs^W삭제받는 마크 (초기 버퍼의 시작 부분).

단어 앞으로를 삭제하려면 vi편집기에서 명령 ( 일반 ) 모드 dw에서 다음 번의 일련 번호 또는 비 순수 (또는 줄 끝)의 시작 부분 dW을 삭제하고 비 공백의 다음 순서 ( ^Wtty 라인 분야 의 펜던트 ).

에서 emacs행 편집기, Meta-D받는 삭제 것이라고 alnum 문자의 다음 순서. 모션 연산자 ( Meta-B, Meta-F) 라는 단어 는 비슷하게 동작합니다.

vi모드에 있을 때 명령 행 편집기 는과 같이 작동 vi하지만 emacs모드에는 tcsh학교와 학교라는 두 가지 주요 학교 가 ksh있습니다.

ksh학교 ( readline, ksh, yash) 대부분처럼 동작 emacs( fish의 행동은 모두 비 alnum, 공백이 아닌 문자를 처리하는 방법에 약간 다릅니다 emacsvi모드).

에서 tcsh학교 ( tcsh, libedit, zsh), 워드 움직임이 공백으로 구분 된 단어를 기반으로하므로 청각 장애 라인 분야의과 일치 ^W하는 점이다.

이어 zsh, 행동은 정의 다른과 워드 스타일 의 모든 단어 모션 위젯.

의 경우 다음을 추가 readline하여 tcsh학교에 갈 수 있습니다 (그리고 Meta-D같은 단어를 삭제함 Ctrl-W) ~/.inputrc.

set keymap vi-move
"\e[EMACS~": emacs-editing-mode
set keymap emacs
"\e[VI~": vi-movement-mode
"\ed": "\e[VI~dW\e[EMACS~"
"\ef": vi-fWord
"\eb": vi-bWord

또는 다른 한편 으로 다음 ^W과 같이 다른 단어 모션 위젯 (처럼 동작 Meta-Backscape)에 정렬 하십시오 .

set keymap emacs
"\C-W": backward-kill-word

Meta열쇠가 무엇인지 에 대해서는 거기를 참조하십시오 .


-1

Linux에서는 Ctrl+k커서가있는 곳에서 단어 끝까지 삭제하십시오.

아래에 나열된 다른 단축키는 거의 없습니다 (Linux에서 작동).

  1. Ctrl+e -> 단어 끝에 커서를 놓습니다.
  2. Ctrl+t -> 알파벳의 위치를 ​​바꾸십시오.
  3. Ctrl+y -> 현재 단어에 접미사 "hh"를 추가합니다.
  4. Ctrl+u -> 전체 줄을 삭제합니다.
  5. Ctrl+o -> Enter 키와 동일하게 작동합니다.
  6. Ctrl+p -> 위쪽 화살표 버튼과 동일하게 작동합니다.
  7. Ctrl+a -> 명령의 시작 위치로 커서를 가져옵니다.
  8. Ctrl+d -> 터미널을 닫습니다.
  9. Ctrl+f -> 한 문자 씩 커서를 앞으로 이동합니다.
  10. Ctrl+h -> 백 스페이스 키와 동일하게 작동합니다.
  11. Ctrl+j -> Enter 키와 동일하게 작동합니다.
  12. Ctrl+m -> Enter 키와 동일하게 작동합니다.
  13. Ctrl+b-> 오른쪽 화살표 키와 동일하게 작동합니다. 14- Ctrl+4 > 단어를 삭제합니다

3
Ctrl+k 끝까지 삭제합니다 . Ctrl+u커서가 끝에있는 경우 전체 줄을 삭제합니다. Ctrl+dEOF를 보냅니다. Ctrl+e 의 끝 등으로 이동
Kusalananda

Ctrl + y는 클립 보드에 마지막으로 저장 한 내용을 붙여 넣거나 k하는 데 사용됩니다. 아마도 "hh"일 것입니다. 세계에서 왜 "hh"라는 문자로 주어진 단어를 수정하는 키보드 단축키가 있다고 생각하십니까? 그것이 어떻게 유용할까요?
bmcentee148
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.