Readline이란 무엇입니까? 문자를 뒤로 삭제(Rubout)

Readline이란 무엇입니까? 문자를 뒤로 삭제(Rubout)

man bash설명하다:

문자를 뒤로 삭제(Routout)

커서 뒤의 문자를 삭제합니다. 숫자 인수가 주어지면 삭제된 텍스트를 종료 링에 저장합니다.

Rubout은 단지 키보드의 삭제 키인가요? bash에서 설명하는backward-delete-char와 동일한 기능을 갖기 때문입니다.

하지만 내가 시도할 때:

Cx 루아웃

라인의 시작 부분까지 뒤로 싸워보세요.

다음 상황을 고려하십시오.

$ testa testb testc testd

지점이 'st'에 있다고 가정하고 testc이제 Control+x를 누른 다음 키보드에서 삭제 키를 누릅니다. 결과 :

$ testa testb [3~testc testd

이해할 수 없습니다. 제가 뭔가를 놓치고 있는 걸까요?

답변1

간단한 설명에서는 세 가지 개념을 명확히 해야 합니다.

문자를 뒤로 삭제(Routout)

  • 키 예제에서 사용한
    키라는 키가 있습니다 . 이 키는 "다음 문자"를 삭제합니다. 행에 문자가 포함되어 있고 커서(깜박이는 표시기)가 문자 위에 있으면 문자 가 삭제됩니다 . 대신, 정확히 동일한 조건에서 문자를 삭제하는 키라는 이름이 있습니다 . 이것은 편지입니다Delete

    test1sDeletes
    Backspacee앞서 있다커서.

    Backspace이 키는 bash 매뉴얼의 "backward-delete-char(Rubout)"에 설명되어 있습니다.

    그 열쇠는 분명히 "커서 뒤의 문자 삭제"입니다.

  • 숫자 인수 "숫자 인수"를 제공하려면 - 를
    눌러야 합니다 . 예를 들어 이렇게 하면 다음 명령(또는 키)에 대한 인수가 만들어집니다 .Alt22

    마찬가지로 줄에 test라는 단어가 적혀 있고 커서가 에 있으면 -를 s누른 다음 를 누릅니다 . 그럴 것이다Alt2Backspace뒤쪽에te단어에서 두 문자를 제거합니다 test.

  • 킬링 링. 무언가가 제거되면 대부분의 경우 킬링 링에 배치됩니다.
    "킬 링" 내의 콘텐츠를 얻으려면 ctrl- 를 사용하세요 y.

    alt-를 사용하여 3여러 문자를 삭제 하면 -를 사용하여 Backspace해당 문자가 다시 나타납니다 .ctrly

    상세히:

    명령에 인수를 사용하면 Backspace커서의 현재 위치 "앞"에 인수에 표시된 문자 수만큼 삭제됩니다.

    명령 프롬프트에 다음 문자열이 있는 경우:

    $ testa testb testc
    

    커서가 문자 "b" 아래에 있으면 a Alt- 3- Backspace문자 "est"가 삭제됩니다.

    $ testa tb testc
    

    이 문자는 다시 인쇄됩니다 ctrl-y

지금:

Cx 루아웃

보도 방법: ctrl-x Backspace

이렇게 하면 종료 링의 "커서 앞에" 전체 줄이 배치됩니다.

또한 다음 키는 다음과 같습니다. ctrl- x Delete해당 키에 대해 정의된 작업이 없으며 해당 ANSI 코드를 인쇄합니다.

[3~

당신의 터미널에서. 이는 bash에서 사용하는 readline 라이브러리의 ~/.inputrc에서 변경할 수 있습니다. 그러나 나는 이것이 이 답변의 범위를 벗어난다고 생각합니다.

관련 정보