Dans vim, vous pouvez ouvrir un fichier sous le curseur en utilisant la gf
commande.
On peut également facilement ouvrir ce fichier dans une nouvelle fenêtre partagée en appuyant sur <c-w> f
. C'est une fonctionnalité vraiment agréable et qui fait gagner du temps.
Cependant, je ne peux pas comprendre comment ouvrir le fichier dans une fenêtre fractionnée déjà ouverte (sans en créer une nouvelle).
preview
fonction (voir:h preview
).Réponses:
J'ai rassemblé toutes les pièces pour faire l'affaire. La meilleure façon est de créer un mappage personnalisé pour toutes les commandes:
Explication:
map <F8>
mappe sur "F8" les commandes qui suiventlet mycurf=expand("<cfile>")
récupère le nom de fichier sous le curseur et l'enregistre dansmycurf
<c-w>w
change le focus sur la prochaine fenêtre de division ouverteexecute("e ".mycurf)
ouvre le fichier enregistré dansmycurf
<c-w>p
change enfin le focus sur la fenêtre précédente (d'où nous venons en fait)la source
Cela ne peut pas se faire facilement. Un
[count]
avant<C-w>f
spécifie sur quelle correspondance de fichier'path'
est ouvert, il ne sélectionne pas une fenêtre existante. Uniquement pour la<C-w>w
commande,[count]
signifie "aller au numéro de fenêtre existant".Pour obtenir cette fonctionnalité, vous devez écrire un mappage personnalisé qui soit
[count]
fenêtre et émule lagf
commande, ou[count]
fenêtre etgf
y exécutela source
J'ai cherché la fonction du même VIm et j'ai découvert cette solution qui fonctionne comme un charme:
Page source .
la source
Cela a fonctionné pour moi:
la source