역방향 기록 검색을 사용할 때 Ctrl-R을 사용하여 bash에서 텍스트 강조 표시

역방향 기록 검색을 사용할 때 Ctrl-R을 사용하여 bash에서 텍스트 강조 표시

를 사용하면 Ctrl-Rbash에서 기록을 검색할 수 있습니다.

하지만 내가 입력한 관련 단어를 강조표시하고 싶다면 어떻게 해야 할까요?

예:

(reverse-i-search)`mount': sudo mount /dev/sda2 /mnt

mount위의 역검색에서는 전체 명령어에서 세상을 강조 하고 싶습니다 sudo mount /dev/sda2 /mnt. Bash에서 이것을 달성하는 방법은 무엇입니까?

답변1

readline( bash라인 편집기의 경우)에는 이러한 가능성이 없습니다.

zsh그러나 기본적으로 그렇게 합니다. 기본적으로 검색된 텍스트는 밑줄로 강조 표시되지만 이를 변경할 수 있습니다. 예를 들어:

zle_highlight=(isearch:standout)

또는:

zle_highlight=(isearch:fg=red)

( zleis 의 라인 편집기, is zsh와 유사 ).readlinebash

답변2

따라서 Bash 5.1 및 Readline 8.1부터 실제로 이 작업을 수행할 수 있습니다.

~에서https://lwn.net/Articles/839212/:

가장 눈에 띄는 새로운 기능은 Readline에 있습니다. "Gangs"가 추가되어 점과 마커(영역, 즉 "활성 영역") 사이의 텍스트를 강조 표시합니다. 이는 대괄호 붙여넣기를 통해 삽입된 텍스트를 시각적으로 표시하고 증분 및 비증분 기록 검색을 통해 찾은 텍스트를 표시하기 위해 추가되었습니다. 현재 얼굴은 브래킷 붙여넣기와 연결되어 있으며 브래킷 붙여넣기 모드로 활성화 및 비활성화됩니다. 대괄호 붙여넣기 모드는 기본적으로 활성화되어 있습니다.

https://www.reddit.com/r/archlinux/comments/ka5xek/latest_readline_upgrade_causes_it_to_highlight

이미지 출처:https://www.reddit.com/r/archlinux/comments/ka5xek/

기본적으로 활성화되어 있으므로 비활성화하려면 inputrc에 다음을 추가해야 합니다.

set enable-bracketed-paste off

관련 정보