vim에서 파일의 파일 형식을 확인하고 파일 형식에 따라 구문 강조를 설정하는 방법을 찾고 있습니다. 유일한 캐치는 파일 형식을 결정하기 위해 파일 확장명을 사용할 수 없다는 것입니다.유효한 파일 확장명없이 vim의 파일 형식을 감지하십시오.
이것은 내 시나리오입니다. vimdiff
또는 gvimdiff
을 내 P4DIFF
도구로 사용합니다.이 도구는 로컬 복사본의 파일과 PERFORCE 서버의 파일 간의 변경 내용을 보여줍니다./tmp 디렉토리에 억지로 서버에서 파일을 가져올 것으로 보인다 예를 들어, 파일 이름을 위해 PID
를 사용하여 억지로 :
/tmp/tmp.24673.23
을 이것은 C++ 소스 파일을이었다.
PERFORCE 저장소에서 자주 만나는 파일 유형은 C/C++ 소스 및 헤더 파일, Makefile, Python 스크립트, Perl 스크립트, Ruby 스크립트 및 TCL 스크립트입니다.
나는
modeline
를 사용하여 살펴본 결과,하지만 우리의 트리에서 소스의 대부분은 파일에 포함 된 정보가 없습니다.This 게시물에는 마법 패턴을 검색하고 식별하는 방법에 대한 언급이 나와 있습니다. 나는 높은 성공률을 얻을 수있는 일관된 마술 패턴을 찾을 수 없었다.
내가 얻은 결과를보기 위해 내 리눅스 상자에
file
바이너리를 사용해 보았습니다. 잘 C/C++ 소스를 식별하기 위해 보이지만합니다 (hashbang을 가지고 있지 않는) 메이크 실패, 심지어 파이썬 스크립트
, 그 비교 2 개 파일, 파일들 오른쪽에있는 파일은 내 로컬 사본에 있으므로 확장명이 올바른 파일 이름을 가지므로 구문 강조가 오른쪽 파일에 올바르게 사용됩니다.
왼쪽에 표시된 파일에 대해 동일한 구문 강조 표시를 설정하는 데이 방법을 사용할 수 있습니까?
이 문제에 대한 대안은 또한 환영합니다.
아주 좋습니다. '2/winnr()'트릭을 좋아합니다 !! –
쿨! 이것은 정말 멋지다. if -endif를 함수로 옮기고 명령을 함수 호출로 대체했다. :) – Tuxdude