Bash에서 세트마크란 무엇입니까? 어떻게 작동할 것으로 예상해야 합니까?

Bash에서 세트마크란 무엇입니까? 어떻게 작동할 것으로 예상해야 합니까?

단지 지름길을 언급하고 사용법이 분명해야 하는데 나에게는 명확하지 않습니다. 내가 뭔가를 "태그"했는지 어떻게 알 수 있나요? 왜 태그를 지정해야 하나요? 이게 범위가 있나요? 만료되나요? bash 경고는 언제 어디서 받을 수 있나요? 무엇보다도 가장 좋은 점은 내가 "표시를 설정"했다는 것입니다. 우리는 지금 무엇을해야합니까?

그렇다면 내가 설정할 수 있는 이 플래그는 정확히 무엇이며 이를 사용하여 무엇을 할 수 있습니까?

답변1

엄밀히 말하면 set-markbash 명령이 아니라 readline 명령입니다. 현재 편집된 명령줄의 특정 위치에 "플래그"를 설정하는 데 사용됩니다.

그러면 이 플래그는 다른 읽기 라인 편집 작업에 사용될 수 있습니다.

Readline의 전체 문서는 기본적으로 설치되지 않을 수 있습니다. 배포판에 따라 readline-docGNU Info File Format과 유사한 이름을 가진 별도의 패키지에 있을 수 있습니다(사용하거나 보려면 필요함 info) pinfo. 온라인에서도 찾을 수 있습니다https://tiswww.case.edu/php/chet/readline/rltop.html

이는 또한 bash 매뉴얼 페이지와 readline을 사용하는 다른 여러 GNU 프로그램의 매뉴얼 페이지에도 문서화되어 있습니다. 실행 man bash하고 검색하세요 ^READLINE.

에서 man bash:

Readline 명령 이름

다음은 명령 이름과 바인딩된 기본 키 시퀀스 목록입니다. 기본적으로 동반되는 키 시퀀스가 ​​없는 명령 이름은 바인딩 해제됩니다. 아래 설명에서는,보다현재 커서 위치를 나타냅니다. 표시set-mark명령에 의해 저장된 커서 위치를 참조합니다 . 사이의 텍스트보다그리고표시라고 영역.

readline 명령은 대화형(예: 명령줄 편집 시)과 프로그래밍 방식(예: ~/.inputrc. 이것이 일부 명령에 옵션/인수가 있는 이유입니다.

그런데, 사용 가능한 readline 명령이 많지 않습니다.분수또는영역(이것보다많은 readline 명령에서 자주 사용됩니다). 그들은:

두 개에는 기본 키 바인딩이 있습니다.

마크를 설정하다(C-@, M-<스페이스>)

설정표시도착하다보다. 숫자 인수가 제공되면표시이 위치로 설정되어 있습니다.

포인트 및 마커 교환(CxCx)

교환보다그리고표시. 현재 커서 위치는 저장된 위치로 설정되고 이전 커서 위치는 다음 위치에 저장됩니다.표시.

Ctrl-@따라서 또는 를 사용하여 현재 커서 위치를 표시 Meta-<space>하고 를 두 번 입력하여 현재 커서 위치 표시를 바꿀 수 있습니다 Ctrl-x. 즉, 대기열의 두 위치 사이를 앞뒤로 이동할 때 유용합니다.

나머지 두 개에는 기본 키 바인딩이 없습니다.

킬 존

현재 텍스트 종료영역.

영역을 종료로 복사

텍스트에서 내용 복사영역종료 버퍼에.

명령줄에서 대화형으로 편집하는 동안 이들 중 하나를 사용하려면 키에 바인딩해야 합니다.

관련 정보