명령 행에서 단어를 뒤로 삭제하려면 어떻게해야합니까? 나는 Ctrl+를 사용하여 마지막 ‘단어’를 삭제하는 일부 편집자에게 정말로 익숙 Backspace하며 명령 줄에서도 그 기능을 원합니다.
나는 현재 Bash를 사용하고 있는데 단어를 뒤로 건너 뛰고 단어를 삭제할 수는 있지만 이것을 빠른 키 또는 Ctrl+ + 이벤트로 사용하고 싶습니다 Backspace.
이것을 어떻게 달성 할 수 있습니까?
답변
ctrlw표준 “kill word”(일명 werase
)입니다.
ctrlu전체 줄을 죽입니다 ( 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는 입력 ^
한 다음 제어 할 때 문자를 이해 합니다.
이 작업을 수행 한 후 충돌 ctrlp하면 줄에서 단어가 지워집니다. 그리고를 ctrla누르면 전체 줄이 지워집니다.
답변
이 작업을 수행 할 수도 있습니다 CtrlW.
다른 옵션은 고유 한 바로 가기를 설정하는 것이지만 사용중인 터미널 에뮬레이터에 따라 다릅니다. 의 경우 xterm
와 rxvt
다른 사람과 어쩌면,이 라인을 추가하려면 ~/.inputrc
(존재하지 않는 경우 파일을 작성) :
## rxvt, xterm
"\b":backward-kill-word
gnome-terminal
그리고 그 ilk는 AltBackspace기본적 으로 가지고있는 것처럼 보이지만 분명히readline()
얻으려면 패치해야합니다 CtrlBackspace.
참조 :
답변
Alt+ Backspacebash와 zsh에서 나를 위해 일합니다.
답변
Mac에서는 다음을 사용할 수 있습니다.
Fn+Delete