web-dev-qa-db-fra.com

Comment revenez-vous de 'gf' dans Vim

J'utilise Vim pour Windows installé en mode Unix. Grâce à ce site, j'utilise maintenant la commande gf pour accéder à un fichier sous le curseur.

Je cherche une commande pour soit:

  1. revenir au fichier précédent (similaire à Ctrl+T pour les balises), ou
  2. remappez gf pour lancer automatiquement le nouveau fichier dans une nouvelle fenêtre.
174
JayG

J'utilise Ctrl-O

277
jop

J'utilise fréquemment Ctrl-6 pour ça.

C'est pratique car cela me permet de passer rapidement d'un fichier à l'autre.

67
Dominic Dos Santos

Vous voudrez peut-être utiliser CTRL-W gf pour ouvrir le fichier dans un nouvel onglet.

Vous pouvez fermer le fichier nouvellement ouvert comme toujours avec :bd, Ou utiliser CTRL-6 et autres moyens habituels de changer les tampons.

43
Roman Odaisky

Il suffit d'utiliser :e# suivi par Enter - qui dit essentiellement de modifier le dernier fichier (le plus récent).

11
paxdiablo

Utilisez gf pour descendre dans un fichier et utilisez: bf pour revenir

11
Ram

Ctrl-Maj-6 est un.

:e#↲ est un autre.

9
tzot

Je ne connais pas la réponse à la partie 2 de votre question, mais je peux vous aider avec la partie 1. Utilisez

:e#

Vim maintient une liste de fichiers (tampons) qu'il édite. Si vous tapez

:buffers

il listera tous les fichiers que vous éditez actuellement. Le fichier dans cette liste avec un% à côté est le fichier actuel. Celui avec le # à côté est le fichier alternatif. : e # va basculer entre le fichier actuel et le fichier alternatif. Plutôt que de taper autant, je mappe F2 vers: e # afin de pouvoir facilement basculer entre les fichiers en cours et les fichiers de remplacement. Je mappe la commande à F2 en l'ajoutant à .vimrc

nmap `<F2> :e#<CR>`
5
codebunny

J'ai CTRL-W f au travail.
C’est assez déprimant d’avoir passé tant de temps à perfectionner les maps de ces commandes pour découvrir qu’il existe des versions intégrées.

4
groovyspaceman
2
Bruno De Fraine

Lorsque vous ouvrez un nouveau fichier (avec gf ou : n ou une autre commande), l'ancien fichier reste dans une liste de tampons. Vous pouvez lister les fichiers ouverts avec : ls

Si vous voulez naviguer facilement entre les tampons dans vim, vous pouvez créer un mappage comme ceci:

nmap <M-LEFT> :bN<cr>
nmap <M-RIGHT> :bn<cr>

Vous pouvez maintenant basculer entre les tampons avec Alt + flèche gauche ou Alt + flèche droite.

La documentation complète sur les mappages est ici:

:help map.txt
2
Oli

Je n'ai pas regardé votre commande gf mais j'imagine qu'il utilise la commande : e ou : find.
En supposant que cela soit correct, remplacez simplement le : e ou :trouver avec :Nouveau (ou : vnew pour une scission verticale) et le fichier s'ouvrira dans une nouvelle fenêtre au lieu de la même.

par exemple.

 "Basculer entre en-tête et cpp 
 Nmap, s: trouver%: t: ​​r.cpp <CR> 
 Nmap, S: nouveau%: t: ​​r.cpp <CR > 
 nmap, h: trouver%: t: ​​rh <CR> 
 nmap, H: nouveau%: t: ​​rh <CR> 
 nmap, F: nouveau = développer ( "<cfile>: t") <CR> <CR> 
 nmap, d: nouveau = développer ("<cfile>") <CR> <CR> 
0
groovyspaceman