색상 역방향 검색 실패

색상 역방향 검색 실패

다음 명령을 입력할 수 있습니다.

$ echo hello
hello

그런 다음 Ctrl+R을 사용하여 검색합니다.

(reverse-i-search)`h': echo hello

그러면 검색이 실패하는 경우가 있습니다.

(failed reverse-i-search)`hz': echo hello

디스플레이의 "역검색 실패" 부분에 색상을 지정할 수 있나요? 나는 일반적인 흰색 텍스트와 대조되는 빨간색 텍스트를 선호합니다. 이렇게 하면 검색이 실패했음을 빨리 알 수 있습니다.

답변1

현재 버전의 Bash(4.4) 기준으로 "reverse-i-search"와 동일한 위치, 동일한 방식으로 "failed reverse-i-search" 메시지가 생성되어 변경될 수 있는 어떤 기능과도 구별할 수 없게 만듭니다. 그 색깔.

기본적으로 원하는 것을 정확하게 얻으려면 bash 소스 코드를 수정해야 합니다. (180행 주위의 파일 ./lib/readline/isearch.c)http://git.savannah.gnu.org/cgit/bash.git/tree/lib/readline/isearch.c

또 다른 접근 방식은 터미널에 "시각적 벨"을 활성화하는 것입니다. 검색이 실패하면 터미널에서 오디오 또는 시각적 이벤트가 될 수 있는 "벨 울리기" 작업이 수행되기 때문입니다. (파일 ./lib/readline/isearch.c 라인 715 참조)

답변2

~처럼czvtools가 지적했습니다., "역검색 실패" 알림이 울립니다. 일반 벨소리 대신 시각적 벨소리를 만들 수 있습니다. "xterm-vb.terminfo" 파일을 생성합니다:

xterm-vb|red visible bell,
# \e7                   save current cursor position
# \e[40A                up 40 lines
# \e[80C                move right 80 spaces
# \e[4D                 move left 4 spaces
# \e[5;30;41mERROR\e[m  bright background; foreground black; background red
# \e8                   restore cursor to position of last save_cursor
  flash=\e7\e[40A\e[80C\e[4D\e[5;30;41mERROR\e[m\e8,
  use=xterm,

파일을 컴파일하고 설치합니다.

tic xterm-vb.terminfo

"~/.profile" 또는 이와 유사한 줄을 추가합니다.

TERM=xterm-vb

"~/.inputrc"에 다음 줄을 추가합니다.

set bell-style visible

관련 정보