Dateityp in eingegrenztem Bereich erkennen

Dateityp in eingegrenztem Bereich erkennen

Ich benutze das tolleNrrwRgnPlugin. Ich bearbeite XML-Dateien oft mit PHP in CDATA-Abschnitten, daher erhalte ich im verkleinerten Puffer Folgendes:

<![CDATA[                        
$foo='bar';
doSomething($foo);
            ]]>

Wie kann ich den eingegrenzten Bereich als PHP identifizieren lassen, wenn es PHP ist, und als XML oder etwas anderes, wenn es etwas anderes ist? Beachten Sie, dass selbst in diesem Beispiel durch Auswahl des PHP-Abschnitts mit vit\nrden CDATA-Tags immer noch vorhanden sind, es sich also technisch gesehen um nicht wohlgeformtes XML und nicht um PHP handelt.

Antwort1

Ich konnte keine Lösung für dieses Problem finden, also entschied ich mich für

nnoremap <leader>js set ft=javascript

Ich bin auch neugierig auf eine Lösung.

Antwort2

Ich bin mir nicht ganz sicher, aber ich verstehe vollkommen, was Sie wollen. Das NrrwRgn-Plugin sollte den Dateityp des verkleinerten Fensters automatisch auf den des Originalpuffers setzen. Wenn das nicht das ist, was Sie wollen, können Sie sich jedoch beim Erstellen und Schließen der Fenster in den NrrwRgn-Befehl einklinken. So könnten Sie also vorgehen:

Erstellen Sie eine Datei ~/.vim/after/ftplugin/php.vim(erstellen Sie nicht vorhandene Verzeichnisse; unter Windows wäre dies $VIM/vimfiles/after/ftplugin/php.vim, wobei $VIM das Verzeichnis ist, das vim Ihnen bei der Ausgabe von angibt :echo $VIM) und fügen Sie Folgendes ein:

let g:nrrw_custom_options={}
let g:nrrw_custom_options['filetype']='php'

Und in Ihr .vimrcSchreiben schreiben Sie Folgendes:

let b:nrrw_aucmd_close= "unlet! g:nrrw_custom_options"

Das sollte alles sein, was eingerichtet werden muss. Wenn Sie dann etwas aus einer PHP-Datei eingrenzen, wird es automatisch auf den Dateityp PHP eingestellt.

Stellen Sie sicher, dass Dateityp-Plugins aktiviert sind (dies tun Sie, indem Sie etwas wie filetype plugin onin Ihr einfügen .vimrc).

verwandte Informationen