Dans Vim, comment fractionner le même fichier dans différentes fenêtres à l'aide d'une syntaxe différente

1

Souvent, je me trouve à éditer un fichier HTML avec du JavaScript dans le bas. J'utilise un fractionnement vertical ( vsp) ou horizontal ( sp) sur le fichier pour pouvoir voir le code JavaScript et le code HTML dans deux fenêtres différentes. Je voudrais utiliser

set syn=html

pour la fenêtre HTML et

set syn=javascript

dans l'autre.

Malheureusement, cette commande affecte les deux mémoires tampons de sorte que le code JavaScript sera mis en surbrillance en tant que HTML et inversement. Existe-t-il un moyen de rendre la surbrillance des fenêtres indépendante les unes des autres?

Jesse Hogan
la source
Excellente question; Cependant, je soupçonne que la réponse pourrait être d'utiliser un autre éditeur.
miltonb

Réponses:

1

Vous ne pouvez pas vraiment faire cela avec des fenêtres divisées, car les fenêtres ne sont pas connectées au type de fichier - mise en surbrillance, indentation, etc. Ils sont simplement différents pour afficher le même contenu.

Je comprends votre problème, cependant, c'est pourquoi j'ai écrit un plugin il y a quelque temps pour faire quelque chose. Ce n'est pas une solution idéale, mais cela pourrait suffire: https://github.com/AndrewRadev/inline_edit.vim .

Le plug-in vous permet d'utiliser un raccourci clavier pour ouvrir le javascript dans un tampon séparé, qui reflète celui d'origine - chaque modification du tampon javascript met à jour le tampon d'origine.

Andrew Radev
la source
NrrwRgn.vim est une autre alternative plus générale au plugin .
Ingo Karkat