%EC%97%90%EC%84%9C%20%EB%8B%A8%EC%96%B4%EB%A5%BC%20%EB%92%A4%EB%A1%9C%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
명령줄에서 단어를 뒤로 삭제하려면 어떻게 해야 합니까? 나는 Ctrl+ 를 사용하여 마지막 '단어'를 삭제하는 일부 편집자에 정말 익숙하며 Backspace명령줄에서도 해당 기능을 사용하고 싶습니다.
나는 현재 Bash를 사용하고 있으며 한 단어 뒤로 이동한 다음 앞으로 한 단어를 삭제할 수 있지만 빠른 키나 이벤트로 Ctrl+ 를 사용하고 싶습니다 Backspace.
어떻게 이를 달성할 수 있습니까?
답변1
Ctrl+ W는 표준 "kill word"(일명 werase
)입니다.
Ctrl+ U전체 줄을 종료합니다 ( kill
).
로 변경할 수 있습니다 stty
.
-bash-4.2$ stty -a
speed 38400 baud; 24 rows; 80 columns;
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl
-echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
-extproc -xcase
iflags: -istrip icrnl -inlcr -igncr -iuclc ixon -ixoff ixany imaxbel
-ignbrk brkint -inpck -ignpar -parmrk
oflags: opost onlcr -ocrnl -onocr -onlret -olcuc oxtabs -onoeot
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
min = 1; quit = ^\; reprint = ^R; start = ^Q; status = <undef>;
stop = ^S; susp = ^Z; time = 0; werase = ^W;
-bash-4.2$ stty werase ^p
-bash-4.2$ stty kill ^a
-bash-4.2$
실제 제어 문자를 줄에 놓을 필요는 없으며 stty
퍼팅을 이해한 ^
다음 제어로 칠 문자를 입력해야 한다는 점에 유의하십시오.
Ctrl그런 다음 +를 누르면 P해당 줄에서 한 단어가 지워집니다. Ctrl+를 누르면 A줄 전체가 지워집니다.
답변2
Alt+ Backspacebash와 zsh에서 작동합니다.
답변3
로 이 작업을 수행할 수도 있습니다 CtrlW.
또 다른 옵션은 자신만의 단축키를 설정하는 것이지만 이는 사용 중인 터미널 에뮬레이터에 따라 달라집니다. xterm
그리고 rxvt
다른 경우에는 다음 행을 추가하십시오 ( ~/.inputrc
파일이 없으면 작성하십시오).
## rxvt, xterm
"\b":backward-kill-word
gnome-terminal
그리고 그 ilk는 AltBackspace기본적으로 가지고 있는 것 같지만보기에readline()
를 얻으려면 패치가 필요합니다 CtrlBackspace.
다음도 참조하세요.
답변4
놀랍게도 macOS esc에서도 delete작동합니다.
또한, 사용하는 경우iTerm2, 기본값을 업데이트할 수 있습니다프로필:
Keys > Key Mapping > Presets > Natural Text Editing