2014-09-10 1 views
0

그래서 vim에서 특정 파일을 열 때 강조 표시를 설정하는 방법을 발견하게되어 매우 기쁩니다. 나는 또한 정상 '의 색상을 변경하려면하이라이트 일반 vim의 파일 유형에만 해당

if has("autocmd") 
    augroup JavaScript 
    au! 
    au BufReadPost *.js call SetUpJavaScript() 
    augroup END 
... 

을 : 그들의 대부분은 그것을 실행하는 데 이것을 사용할 수 있습니다 등'하이 jsStringD '와'하이 jsFunction ' 그래서 나는, 자바 스크립트 파일에 대해이 작업을하고 있어요 '또는 전경 텍스트이지만 자바 스크립트 파일에만 적용됩니다.

execute 'hi Normal ctermfg=' normalText 

하지만 어떻게 난 단지 특정 파일 형식에 제한 않습니다

이 색상을 설정하기 위해 노력? 그러면 'Normal'을 갖는 모든 파일이 해당 색상으로 강조 표시됩니다.

편집 : 명확히하기 위해 자바 스크립트 파일을 열고 작동합니다. 다른 파일 (.jade 파일을 말합니다)을 열고 'Normal'색상은 'normalText'값으로 유지됩니다.

답변

1

당신이 강조하기 때문에 하나 개의 세션에서 여러 파일 사이를 전환 할 경우 문제가됩니다 자바 스크립트 파일 형식

autocmd FileType javascript execute 'hi Normal ctermfg=' normalText 

만 불 그러나 나는이 생각 autocmd를 사용하여 글로벌입니다.

이 문제를 해결하려면 기본 Normal 강조 표시를 설정하는 BufEnter (또는 이와 비슷한 항목)에서 실행되는 다른 FileType autocmd를 추가 할 수 있습니다. (당신이 포커스를 변경하는 경우가 파열에 강조 표시를 변경되지만)이 같은


뭔가

autocmd BufEnter * if (&filetype ==# 'javascript') | execute 'hi Search ctermfg=' . normalText | else | execute 'hi Search ctermfg=' . defualtText | endif 
+0

그래, 그게 문제입니다 작동합니다. .JS 파일 뒤의 다른 것으로 전환. BufEnter는 어떤 경우를 다루는 것처럼 들리지만, 모든 것을 커버하는 방법을 알고 싶습니다. – aikeru

+0

또한, ".js가 아닌 파일"을 어떻게 말 할 지 모르겠습니다. 파일 그룹 : – aikeru

+0

@aikeru 업데이트를 참조하십시오. 당신은 단지 그것을 수동으로 할 필요가 있습니다. – FDinoff