다음 공간으로 진행되는 입력 제거

다음 공간으로 진행되는 입력 제거

터미널에서 프롬프트 왼쪽으로 이동할 때 Ctrl+를 사용 w하면 전체 단어나 IP(각 옥텟의 구분 기호)를 삭제할 수 있습니다. .그러나 Alt+ d프롬프트 오른쪽으로 이동하면 터미널은 IP를 구분 기호로 "."으로 인식하고 .전체 IP가 나올 때까지 블록 중 하나만 제거합니다.

터미널이 단어 구분 기호에 대한 공백만 인식하도록 하거나 다른 구분 기호에 대한 또 다른 단축키( , .등 )를 갖도록 하려면 어떻게 조정해야 합니까 ?=,

이는 터미널에서 Ctrl+화살표(왼쪽 및 오른쪽)를 사용하는 것과 매우 유사하며 단어 구분 기호 설정에 따라 유사하게 작동합니다.

이러한 단축키를 제공하기 위해 터미널 뒤에 있는 Emacs 편집기가 사용된다는 것을 읽었지만 사용할 수 없습니다.

우분투 10에서 구현하려고 합니다.

여기:https://askubuntu.com/questions/577433/deleting-input-forward-to-the-next-space이것은 내가 Ubuntu 14의 다른 포럼에서 제안한 것입니다.

나는 이것을 시도했습니다 :

Alt"따라서 이제 이 두 키 입력( + w다음에 Ctrl+ )을 새로운 키 입력으로 결합하려면 아래와 같이 이전 키 입력 키를 수행하기 위해 새 키 입력( w내 예에서는 Alt+ )을 바인딩해야 합니다.q

bind '"\eq": "\ew \C-w"'

마지막으로 이러한 변경 사항을 영구적으로 적용하려면 파일에 다음 줄을 추가하기만 하면 됩니다 ~/.inputrc(또는 파일이 없는 경우 새로 생성하세요).

"\ew": vi-forward-bigword
"\eq": "\ew \C-w" 

그러나 내가 얻는 결과는 다음과 같습니다.

추가한 후에도 Alt+는 w여전히 작동하지 않으며, Ctrl+ error는 더 이상 작동하지 않습니다. 터미널 출력 ;5D;5C한 단어에서 다른 단어로 이동하는 데 사용되는 경우...

이 두 버전의 차이점은 무엇입니까?

답변1

당신이 Emacs 사용자라면 내 답변을 사용하고 싶지 않을 수도 있지만 이 페이지에 기록해 두어야 하므로 다음과 같습니다.

viBash 쉘에서 키 바인딩을 매우 쉽게 사용할 수 있습니다 . 유형 set -o vi. .bashrc결과가 마음에 들면 결과에 추가해 주세요.

다음 공백으로 삭제하라는 특정 질문에 대한 답변은 dt<Space>(공백까지 삭제) 또는 dE(공백으로 구분된 단어 끝까지 삭제)로 수행할 수 있습니다.

표준 vi키 바인딩 사용 - 익숙해져야 할 가장 중요한 점은 (이미 vi 사용자인 경우) 기본적으로 삽입 모드에 있다는 것입니다. 따라서 위의 일반 모드 명령을 사용하려면 먼저 를 입력하십시오 <Esc>. 또는 Alt키를 누른 채 명령의 첫 문자를 입력할 수도 있습니다. 예를 들어, kvi 명령은 한 줄 위에 있으므로 <Alt>k위쪽 화살표처럼 사용하여 기록에서 한 명령으로 돌아갈 수 있습니다.

답변2

공백 찾기, 앞으로, 단어 삭제를 사용하여 이 작업을 수행할 수도 있습니다.

"\eq": "\C-]\ \C-f\C-w"

답변3

.inputrc있는 경우 /etc/inputrc더 이상 읽지 않으므로 현재 사용 중인 모든 설정이 손실됩니다( .inputrc전역 설정 덮어쓰기). 전역 항목을 복사하고 수정 사항을 추가하기만 하면 됩니다. 그런 다음 새 바인딩을 추가하여 이전처럼 작동해야 합니다. 또는 bind명령에 명령을 넣으면 .bashrc대화형 셸을 열 때마다 실행됩니다. 기본적으로 현재와 동일한 효과입니다.

에서 다른 구성 파일을 "가져오기/포함"하는 방법을 아는 사람이 있다면 .inputrc이에 대해 듣고 싶습니다.

관련 정보