La commande en mode normal permet d' gf
accéder à un fichier avec le chemin d'accès actuel du curseur.
Mais il le fait dans la fenêtre actuelle en remplaçant le texte actuel. Cela signifie que vous devez revenir explicitement en arrière pour revenir plus tard et que vous devez potentiellement écrire des modifications dans le tampon actuel.
Je suis sûr que c'est possible avec l'ouverture du fichier sous le curseur dans un nouvel onglet à la place?
key-bindings
tabbed-user-interface
multiple-files
file-operations
Volker Siegel
la source
la source
'hidden'
option (set hidden
) vous permet de vous écarter des mémoires tampons non enregistrées. Pour moi, il s'agissait d'un énorme gain de productivité et il était essentiel de ne plus compter uniquement sur les scissions et les séparations.Réponses:
EDIT: Suggérez des mappages bien symétriques pour le cas fractionné verticalement, car Vim dispose par défaut de deux mappages pour le cas fractionné horizontal.
Il y a plusieurs façons de modifier le "fichier sous le curseur", et bien que vous puissiez certainement reconfigurer gfpour modifier une nouvelle page à onglet en tant que @ alexander-myshov mentionne, cela signifie que vous avez deux façons de le modifier dans une nouvelle page à onglet, mais aucun moyen de éditez-le dans la fenêtre courante, ce que vous pouvez aussi parfois vouloir faire. Il n’est pas difficile d’utiliser les mappages standard, mais si vous souhaitez en modifier l’un gf, je vous suggère de changer de mappage afin de ne pas en perdre un.
Certaines des manières de modifier un nom de fichier sous le curseur sont:
Il n’existe pas de mappage standard permettant d’éditer le fichier existant sous le curseur dans une division verticale, mais vous pouvez y parvenir en scindant d’abord la fenêtre verticalement, puis en modifiant le fichier sous le curseur dans la fenêtre active.
Comme vous pouvez le voir ci-dessus, il existe deux correspondances par défaut pour l'édition de fichier sous le curseur dans une division horizontale. Vous pouvez donc remapper l'une d'elles sur la chaîne de clés ci-dessus, en élargissant le groupe de cartes pour couvrir également le cas de division verticale. Vous pouvez lier quoi que ce soit, bien sûr, mais cela semble compléter la symétrie bien:
nnoremap <C-W><C-F> <C-W>vgf
. Maintenant vous avezVous pouvez également accéder à une ligne particulière du fichier si le nom du fichier sous le curseur est suivi d'un numéro de ligne. Si tu as
vous pouvez éditer le fichier et déplacer le curseur à la ligne 10 avec gF. L'équivalent est vrai pour C-WFune scission et C-WgFune page à onglet. Compléter la symétrie pour une scission verticale n’est pas aussi simple ici, mais je suggérerais que la C-WC-S-Fcarte obtenue avec
nnoremap <C-W><C-S-F> <C-W>vgF
, imitant le Fou Shift+ fdes cartes par défaut en tant que candidat.Ceci
:
est un exemple, vous pouvez utiliser n'importe quel caractère qui n'est pas un caractère de nom de fichier (voir:h 'isfname'
).Toutes ces commandes sont livrées avec de la sauce aux pommes, comme
'path'
choix'suffixesadd'
choix'includeexpr'
choixPour plus d'informations
:help gf
, consultez les rubriques d'aide relatives à ces différentes options.Si le nom de fichier sous le curseur nomme un fichier qui n'existe pas, vous feriez mieux d'utiliser les commandes d'édition standard avec
<cfile>
, commeet avec ceux-ci bien sûr, vous pouvez utiliser des choses comme
:spl+10 filename
déplacer le curseur sur une ligne particulière ou:tabe+/cologne filename
pour déplacer le curseur jusqu'à la première occurrence d'un motif.la source
Il suffit d'utiliser des liaisons pour cela:
ouverture dans une nouvelle fenêtre (split):
ouverture dans un nouvel onglet:
vérifiez aussi ceci:
:help CTRL-W_gf
la source
gf
quelque chose d'autre. Mêmennoremap gf :echo "hello"<CR>
toujours ouvre le fichier sous le curseur dans un nouveau tampon (et oui, j'ai acheté vimrc).