vim에서 나노와 같은 공백 강조 표시를 활성화하는 방법은 무엇입니까?

vim에서 나노와 같은 공백 강조 표시를 활성화하는 방법은 무엇입니까?

nano두 가지 상황에서 공백(탭 및 공백)을 실제로 강조 표시하는 유용한 구문 강조 기능이 있습니다. (1) 공백이 마지막 문자이거나 줄의 시작이고 그 사이에 공백이 아닌 문자가 없는 경우, (2) 파일은 쇼핑 목록과 같은 일반 텍스트가 아닌 소스 코드입니다. 에서 이 동작을 어떻게 모방할 수 있습니까 vim?

답변1

나는 show 및 trail을 사용 set list하여 선택적 파일 형식에 대해 이와 같은 조건을 사용할 수 있습니다.set listchars.vimrctabswhite spaces

if !(&filetype == "txt")
  set list                " show special characters
  set listchars=tab:→\ ,trail:·,nbsp:·
endif

따라서 이러한 문자가 있으면 내 파일은 다음과 같습니다.

function someFunc() { // no trailing spaces here
→   var a = "hola"; // 3 trailing spaces.···
    alert(a); // this line starts with spaces instead of tab
// next a line with 4 white spaces and nothing else
····
// next a line with a couple tabs
→   →   
}

참고: ·아니요.

편집하다

따라서 귀하의 의견에 답변하려면 에 추가하여 이를 수행할 수 있습니다 ~/.vimrc. 반드시 색상 구성표 뒤에 추가하십시오 hi clear. 그렇지 않으면 제거 됩니다.

if !(&filetype == "txt")
  highlight WhiteSpaces ctermbg=green guibg=#55aa55
  match WhiteSpaces /\s\+$/
endif

강조 표시 색상을 변경하고 필요에 따라 정규 표현식을 구체화할 수 있습니다. /\s\+$/이 두 문자 중 하나만 포함하는 후행 공백이나 탭 및 줄과 일치합니다. 탭과 공백만 포함된 줄만 강조 표시하려는 경우에 사용합니다 /^\s\+$/.

관련 정보