Mac 터미널에서 단어를 삭제 합니다 Ctrl+W
(커서 위치부터 단어의 시작 부분까지 삭제).
반대 방법 - 커서 위치부터 단어 끝까지 삭제하시겠습니까?
답변1
이는 쉘과 활성 명령줄 편집 모드에 따라 다릅니다.
Emacs 명령줄 편집 모드가 있는 셸( set -o emacs
일부 셸)의 경우 다음을 사용하세요 Alt+D(어떤 이유로든 macOS에서는 작동하지 않지만 문자가 인쇄됩니다 ∂
. Escd대신 사용하세요).
Vi 명령줄 편집 모드를 사용하는 쉘( set -o vi
일부 쉘에서는) 의 경우 Escdw다음을 사용하십시오.하다macOS에서도 실행됩니다.)
답변2
Linux 터미널에서는 Ctrl+를 사용하여 K커서부터 줄 끝까지 삭제할 수 있습니다.
다음과 같은 몇 가지 다른 단축키가 있습니다.
- Ctrl+ E: 커서를 줄의 끝으로 이동합니다.
- Ctrl+ T: 커서 주위의 두 문자를 뒤집습니다.
- Ctrl+ Y: 삭제 링에서 텍스트를 가져옵니다(이전에 삭제한 텍스트 붙여넣기).
- Ctrl+ U: 줄의 처음부터 커서까지의 텍스트를 삭제합니다.
- Ctrl+ O: 현재 줄을 커밋하고 기록에서 다음 줄을 로드합니다(사용 가능한 경우).
- Ctrl+ P: 역사에서 이전 줄(예:)을 가져옵니다 ↑.
- Ctrl+ K: 커서 뒤의 나머지 줄을 삭제합니다.
- Ctrl+ A: 커서를 줄의 시작 부분으로 이동합니다.
- Ctrl+ D: 줄이 비어 있으면 일반적으로
EOF
;와 동일하게 쉘을 종료합니다. 그렇지 않으면 커서 뒤의 문자를 삭제합니다. - Ctrl+ F: 커서를 한 문자 앞으로 이동합니다.
- Ctrl+ H: 와 동일합니다 Backspace.
- Ctrl+ J: 와 동일합니다 Enter.
- Ctrl+ M: 와 동일합니다 Enter.
- Ctrl+ B: 와 동일합니다 →.
- Ctrl+ W: 커서 왼쪽에 있는 단어를 삭제합니다.
답변3
tty 줄 규칙의 경우 ^W
앞의 공백 구분 기호를 제거하세요.단어.
vi
삽입 모드의 편집기에서, ^W
alnums 또는 non-alnums의 첫 번째 시퀀스 시작 부분까지 뒤로 삭제합니다( foo-+-bar.. baz
에서는 먼저 삭제한 baz
다음 , 그 다음 ..
, 그 다음 bar
, -+-
그 다음 삭제 합니다 foo
).
emacs
편집기 에서 ^W
커서 위치부터 삭제하여표시( 로 설정한 것 Ctrl+Space).
readline
(using bash
, gdb
...), zle
(using zsh
), (using) 과 같은 일부 줄 편집기는 pdksh
모드에 있을 때 (대신) 이와 관련하여 tty 줄 규칙처럼 동작합니다.vi
vi
emacs
emacs
libedit
(BSD 쉘 또는 (선택 사항)에서 사용됨 dash
) tcsh
AT&T ksh
모드는 삭제 처럼 emacs
작동합니다 .emacs
^W
표시(처음에는 버퍼의 시작 부분에 있음)
편집기에서 앞으로 단어를 삭제하려면 vi
다음을 수행하십시오.주문하다(정상dw
) 다음 alnum 또는 non-alnum 시퀀스의 시작(또는 줄 끝)까지 삭제하고 공백이 아닌 다음 시퀀스( dW
tty 라인 규칙에 대한 펜던트) 까지 삭제하는 모드입니다 .^W
라인 편집기 에서 emacs
삭제Meta-D끝다음 일련의 alnum 문자입니다. 단어 동작 연산자( Meta-B, Meta-F)도 비슷하게 동작합니다.
명령줄 편집기는 vi
mode 에서 유사하게 작동 vi
하지만 모드에는 학교와 학교 emacs
라는 두 개의 주요 학교가 있습니다 .tcsh
ksh
학교 ksh
( readline
, ksh
, yash
)의 동작은 대부분의 동작과 유사합니다 ( 및 패턴에서 숫자가 아닌 공백 문자가 아닌 문자를 emacs
처리하는 데 약간의 차이가 있음 ).fish
emacs
vi
tcsh
학교( tcsh
, libedit
, ) 에서 zsh
단어 이동은 공백으로 구분된 단어를 기반으로 하므로 ^W
이 점에서 tty 줄 규칙과 일치합니다.
에서 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핵심이 무엇인지 는 참조하세요.거기.