Finden Sie heraus, welcher Dateityp in vim geladen ist


224

Sobald ich eine Datei in vim lade, wird versucht, die Datei zu erkennen und wenn möglich farblich hervorzuheben.

Ich möchte einen vim-Befehl kennen, der mir sagt, welches ftplugin oder Dateityp-Plugin / Dateityp vim in Betracht zieht, um die Datei hervorzuheben.


Macht vim das nicht automatisch?
Am

Wenn Sie ein Vimscript in ~ / .vim / ftplugin / einfügen, wird dieses Vimscript beim Laden einer Datei mit dem entsprechenden Dateityp erstellt. So setzen setlocal cursorlinein ~/.vim/ftplugin/python.vimund Sie werden aktuelle Zeile haben in Python - Dateien markieren. Siehe :help ftpluginund:help after
idbrii

Antworten:


365

:set filetype?


39
Sie können ein paar Tastenanschläge speichern und einfach verwenden:set ft?
Matthew Rankin

35
:se ft?- Ich gewinne. ;)
sjas

39
:se ft? Ich habe gewonnen!
Fábio Santos

SO erfordert eine minimale Kommentarlänge, daher ist es möglicherweise nicht offensichtlich, dass der kürzeste nach dem endet t. ? es ist optional.
Reergymerej

15

Sie können auch den Dateityp auf Ihre Statuszeile oder Fenstertitel mit der hinzufügen %yund %YArtikel. Sehen

:help 'statusline'
:help 'titlestring'


2

Als ich den Dateityp finden wollte, hatte ich die Erweiterung .ipy, die ein Ipython-Skript modifizierte. Die obigen Fragen und Antworten haben hervorragend funktioniert, um festzustellen, dass die Ipython-Erweiterung nicht als Python behandelt wurde (etwas offensichtlich). Daher wollte ich das Festlegen des Dateityps erzwingen, und ich fand dies von der immer helfpul vim-Site. http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions

Das Hinzufügen des Folgenden zu Ihrer .vimrc funktioniert

au BufRead,BufNewFile *.ipy set filetype=python

2

Da Sie diese Frage in erster Linie stellen / suchen, gehe ich davon aus, dass Sie dies tun, weil Ihr vim die richtige Syntax für Sie nicht automatisch hervorhebt und Sie versuchen herauszufinden, warum und wie Sie sie beheben können.

Der Befehl :set filetype?in der gewählten Antwort fragt vim grundsätzlich "Hey, welcher Typ ist Ihrer Meinung nach die aktuelle Datei?". Und wenn vim nicht die richtige Farbe / Hervorhebung anzeigt, wird diese wahrscheinlich filetype=am unteren Rand Ihrer Konsole angezeigt, was bedeutet, dass vim den Dateityp nicht kennt. Dies ist nur die Hälfte Ihrer Suche.

Logischerweise wird Ihr nächster Schritt vim sagen "Markieren Sie es einfach mit (zum Beispiel) ps1-Syntax". Wenn Sie dies eingeben :set filetype=ps1, hebt vim jetzt die aktuelle Datei im ps1-Stil hervor (vorausgesetzt, Sie laden bereits die richtige Powershell-Syntaxdatei herunter und fügen sie in Ihre ~ / .vim / -Syntax ein ).

An diesem Punkt möchten Sie wahrscheinlich von nun an die automatische Syntaxhervorhebung. Die Lösung besteht darin, ein entsprechendes Erkennungsskript in Ihren Ordner ~ / .vim / ftdetect zu legen. Wenn Sie beispielsweise alle PowerShell-Skripts .ps1, .psm1 usw. hervorheben möchten, fügen Sie diese Datei in ~ / .vim / ftdetect ein

Das ist ein Happy End.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.