터미널에서 커서가 단어 안에 있을 때 단어를 어떻게 삭제합니까?

터미널에서 커서가 단어 안에 있을 때 단어를 어떻게 삭제합니까?

c + a + wvim 이나 d + a + wvim 과 유사한 기능을 구현하고 싶습니다.

터미널에서 Ctrl + w왼쪽 및 Alt + Backspace오른쪽 단어를 삭제할 수 있지만 이를 달성하는 명령을 찾을 수 없습니다.

답변1

readline(3)을 bash로 사용하는 쉘을 사용하는 경우 두 가지 단축키를 결합할 수 있습니다:Alt-dAlt-Backspace

또는 아직 사용되지 않은 키를 정의했습니다. command 출력을 참조하세요 bind -sp. 후자는 이미bash readline inputrc: 키를 여러 명령 시퀀스에 바인딩.

답변2

zsh의 라인 편집기는 모드에서(tcsh 또는 in과 유사한 입력 사용) 모든 기능을 기본적으로(추가 보너스로도) 지원 vim합니다 [cd][ai][wW].[cd][ia]avibindkey -vset -o viksh

바라보다info zsh 'Text Objects'더 알아보기.

$ bindkey -M viopp
"^[" vi-cmd-mode
"^[OA" up-line
"^[OB" down-line
"^[[A" up-line
"^[[B" down-line
"aW" select-a-blank-word
"aa" select-a-shell-word
"aw" select-a-word
"iW" select-in-blank-word
"ia" select-in-shell-word
"iw" select-in-word
"j" down-line
"k" up-line

문서에 나와 있듯이 emacs스키마에 바인딩할 수도 있습니다. 좋다:

bindkey '^W' select-a-word

모드에서는 emacs 방식을 선호하고 +/를 사용하여 emacs단어별로 탐색하고 +/+1을 사용하여 단어를 앞으로 또는 뒤로 삭제하고 결정할 수도 있습니다.AltbfAltdCtrlw단어동적으로select-word-style그리고 회사..

당신은 또한 볼 수 있습니다zsh zle 시프트 선택Microsoft Windows와 마찬가지로 "stackoverflow" 자매 사이트에서 탐색하고 선택(축어적 포함)하려면 화살표 키(키보드에 있는 경우)를 사용하세요.


1 글쎄요, 기술적으로는 - 와 같지 ^W않고 emacs터미널 라인 분야의 것과 더 비슷합니다.

관련 정보