를 사용하면 Ctrl-R
bash에서 기록을 검색할 수 있습니다.
하지만 내가 입력한 관련 단어를 강조표시하고 싶다면 어떻게 해야 할까요?
예:
(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)
( zle
is 의 라인 편집기, is zsh
와 유사 ).readline
bash
답변2
따라서 Bash 5.1 및 Readline 8.1부터 실제로 이 작업을 수행할 수 있습니다.
~에서https://lwn.net/Articles/839212/:
가장 눈에 띄는 새로운 기능은 Readline에 있습니다. "Gangs"가 추가되어 점과 마커(영역, 즉 "활성 영역") 사이의 텍스트를 강조 표시합니다. 이는 대괄호 붙여넣기를 통해 삽입된 텍스트를 시각적으로 표시하고 증분 및 비증분 기록 검색을 통해 찾은 텍스트를 표시하기 위해 추가되었습니다. 현재 얼굴은 브래킷 붙여넣기와 연결되어 있으며 브래킷 붙여넣기 모드로 활성화 및 비활성화됩니다. 대괄호 붙여넣기 모드는 기본적으로 활성화되어 있습니다.
이미지 출처:https://www.reddit.com/r/archlinux/comments/ka5xek/
기본적으로 활성화되어 있으므로 비활성화하려면 inputrc에 다음을 추가해야 합니다.
set enable-bracketed-paste off