--c-kinds=+l
태그 파일이 생성되어 로컬 변수가 포함되도록하려면 태그 파일을 사용하여 인식 된 이름을 강조 표시 할 수 있습니다. 그러나 이러한 변수 (ctags를 많은 정보를 제공하지 않습니다) 따라서 빔이 하나의 기능과 다른 변수를 구분하지 않습니다의 범위를 식별하는 현실적인 방법은 현재 없습니다 :
void main(void)
{
int MyVariable; // Highlighted
}
int MyFunction(void)
{
int MyFunctionVariable; // Highlighted
MyVariable = 1; // Syntax error, but still highlighted
}
그것은 구문 분석을 수행 할 수 C 파일을 좀 더 자세하게 설명하고 각 함수의 구문 영역을 만드는 것은 쉽지 않습니다 (그리고 Vim은 겹치는 영역을 지원하지 않으므로 rainbow.vim과 같은 플러그인과 호환되지 않습니다).
관련 메모에서 내 태그 강조 플러그인 available here에 관심이있을 수 있습니다. 로컬 변수를 강조 표시합니다 (:UpdateTypesFile
을 실행할 때 b:TypesFileIncludeLocals
이 버퍼에 열린 1
으로 설정된 경우). 그러나 로컬 변수의 범위는 처리하지 않습니다. 그러나 :help tag-highlight
에서 제안 된 강조 표시보다 훨씬 더 많은 강조 표시 색상을 제공합니다. 많은 색의 추가 그룹 (예 : GlobalVariable
, LocalVariable
, DefinedName
등)에 대한 하이라이트가 색상 표에 정의되어 있어야합니다.
문제의 예를 들려 줄 수 있습니까? 어쩌면 나는 밀도가 있지만 실제로 이해하지 못합니다. – innaM