![Linux에서 작업하고 C-shell을 사용할 때 프롬프트에서 입력의 일부를 어떻게 지울 수 있습니까?](https://linux55.com/image/45565/Linux%EC%97%90%EC%84%9C%20%EC%9E%91%EC%97%85%ED%95%98%EA%B3%A0%20C-shell%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EB%95%8C%20%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8%EC%97%90%EC%84%9C%20%EC%9E%85%EB%A0%A5%EC%9D%98%20%EC%9D%BC%EB%B6%80%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%A7%80%EC%9A%B8%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
저는 Linux와 C-shell에서 일하고 있습니다. History 명령을 사용하여 역검색을 수행하여 얻은 프롬프트에 이미 있는 내용의 일부를 변경해야 하는 경우가 많습니다 CTRL+R. 나는 이런 일을 하고 싶지 않습니다 Backspace. 나는 본 적이superuser.com에 대한 이 질문이것은 bash를 위해 특별히 설계되었습니다. 이것답변이를 사용하면 CTRL+U현재 커서 위치 이전의 모든 내용이 지워짐을 나타냅니다. 하지만 백스페이스 키를 몇 번 눌렀고 지금은 프롬프트 텍스트 중간에 있지만 이로 인해 모든 것이 지워졌습니다. Linux에서 동일한 작업을 수행하는 C-shell 특정 방법이 있습니까?
답변1
(완전 마조히스트 가 tcsh
아닌 경우 이것이 "C-Shell"이라고 부르는 것 같습니다) 모드(보통 기본 모드) 에서 emacs
사용할 수 있습니다 Ctrl-W.kill-region
표시( Ctrl-Space줄의 시작 부분으로 설정되지만 기본값은) 및 커서입니다.
Ctrl-W이러한 점에서 해당 동작은 bash(readline)/ksh/zsh emacs 모드보다 emacs에 더 가깝지만 이전 단어가 삭제되는( werase
, middle ) 터미널 드라이버 내장 라인 편집기(표준 모드)에는 그렇지 않습니다 vi
. 그 때 일반적인 터미널 동작을 선택하지만 emacs
emacs에서 범용 매개변수이고 터미널의 -line 문자인 경우는 아닙니다.Ctrl-Ukill
Ctrl-U줄의 시작 부분까지 삭제 하려면 다음 을 수행할 수도 있습니다.
bindkey '^U' backward-kill-line
En vi
모드, Esc명령 모드로 들어가서 d0줄의 시작 부분까지 삭제합니다(또는 c0삭제하는 대신 변경하려는 경우).