Я ищу способ определить тип файла в vim и установить подсветку синтаксиса на основе типа файла. Единственный улов - я не могу использовать расширение файла для определения типа файла.Определить тип файла в vim без допустимого расширения файла
Это мой сценарий: Я использую vimdiff
или gvimdiff
как мой P4DIFF
инструмент, который показывает изменения между файлами в моей локальной копии и те, с сервера неволей. Волей-неволей, кажется, приносит в файлах с неволей сервера в каталог/TMP и использует PID
назвать файл, например:
/tmp/tmp.24673.23
Это было для исходного файла C++.
Наиболее часто встречающиеся типы файлов, с которыми я сталкиваюсь в репозитории perforce, являются источниками и заголовочными файлами C/C++, Makefile, скриптами python, perl-скриптами, ruby-скриптами и tcl-скриптами.
Я посмотрел в использовании
modeline
, но большинство из источников в нашем дереве не имеет эту информацию, встроенную в файле.This post упоминает о возможном подходе к поиску и идентификации волшебного узора. Я не мог найти какой-либо последовательной магии, с которой я мог бы получить высокий уровень успеха.
Пробовал использовать двоичный код
file
на моем линке, чтобы узнать, какие результаты я получу. Кажется, для идентификации C/C++ источники хорошо, но не выполняется для Makefiles и даже скрипты Python (которые не имеют hashbang)
Одна хорошая вещь в том, что, в том числе 2-х файлов, которые сравниваются, файл справа от моей локальной копии и, следовательно, имеет правильное имя файла с расширением, поэтому подсветка синтаксиса включена правильно для файла справа.
Есть ли способ, которым я мог бы использовать это, чтобы установить ту же подсветку синтаксиса для файла, отображаемого слева?
Любые альтернативные решения этой проблемы также приветствуются.
Очень приятно. Мне нравится трюк '2/winnr() !! –
Прохладный! Это работает очень хорошо ... Просто переместил if-endif в функцию и заменил команду вызовом функции. :) – Tuxdude