Wie kann ich vim die Syntax-Hervorhebung eines anderen Dateispeicherorts verwenden?

1071
Kevin M

Ich benutze nie sudo vim /path/to/some.file; Ich benutze immer sudoedit. Dies bedeutet jedoch, dass vim nicht den richtigen Pfad sieht. Wenn ich beispielsweise öffne /etc/http/conf/httpd.conf, erstellt sudoedit eine Kopie von httpd.conf und verwendet dann vim zum Öffnen. Anstatt vim diese Datei zu sehen, sieht sie "/var/tmp/httpdXX3H43AK.conf"(zum Beispiel). Dies bedeutet, dass das Syntax-Highlighting-System von vim nicht den richtigen Dateityp erkennt. Wenn ich die Datei einfach ohne Sudo (und damit ohne Schreibzugriff) öffnen würde, würde vim den Dateispeicherort sehen und entscheiden, dass der Syntax-Highlighting-Dateityp Apache sein muss. Da es sich jedoch nicht an dieser Position befindet, erhält es nicht den Typ der Apache-Syntax und den Dateityp conf.

Ich suche nach einer Möglichkeit (einer Befehlszeilenoption?), Um vim mitzuteilen (und insbesondere die Syntaxhervorhebung): "Diese Datei sollte so behandelt werden, als wäre sie an diesem anderen Ort." Ich kann manuell laufen :se syntax=apacheund das Hervorheben ist wieder so, wie es sein sollte. Dazu muss ich jedoch die richtige Syntax kennen und dies ist ein zusätzlicher Schritt, den ich meiner Meinung nach nicht tun sollte. Kennt jemand eine Möglichkeit, Sudoedit zu verwenden und den korrekten Dateispeicherort zu verwenden?

Kontext: CentOS 7.1, vim-Version: vim-enhanced-7.4.160-1.el7.x86_64

0

1 Antwort auf die Frage

2
Sato Katsura

Füge set modelinezu deiner hinzu vimrcund füge dann eine Zeile wie diese am Ende deines hinzu httpd.conf:

# vim: filetype=apache 

Natürlich können Sie das auch mit anderen Dateien machen. Siehe :help auto-settingfür weitere Informationen.