web-dev-qa-db-fra.com

Comment ouvrir un nouveau fichier dans vim dans une nouvelle fenêtre

Est-il possible d'ouvrir vim dans une nouvelle fenêtre ou un nouvel onglet Shell? J'ai l'habitude de faire $ mate file, qui ouvre le fichier dans une nouvelle fenêtre.

Je préfère avoir un "shell central" dans lequel je donne des commandes et édite des fichiers dans d'autres fenêtres ou onglets, si nécessaire. Comment les gens ouvrent-ils normalement les fichiers vim localement?

68
David542

à l'intérieur de vim, utilisez l'un des éléments suivants

ouvre une nouvelle fenêtre sous la fenêtre actuelle:

:new filename.ext

ouvre une nouvelle fenêtre à côté de la fenêtre actuelle:

:vert new filename.ext
203
Massa

Vous pouvez le faire depuis vim et utiliser ses propres fenêtres ou onglets.

Une solution consiste à utiliser l'explorateur de fichiers intégré. l'activer via :Explore, ou :Texplore pour une interface à onglets (qui me convient le mieux).

:Texplore (et :Sexplore) vous empêchera également de quitter accidentellement le tampon actuel (éditeur) sur :q une fois que vous êtes dans l'explorateur.

Pour basculer entre les onglets ouverts lors de l'utilisation de pages à onglet, utilisez gt ou gT (onglet suivant et onglet précédent, respectivement).

Voir aussi Utilisation des pages à onglet sur le wiki vim.

11
Eliran Malka

J'utilise cet alias subtil:

alias vim='gnome-terminal -- vim'

-x est obsolète maintenant. Nous devons utiliser - à la place

7
srinivasu u

Si cela ne vous dérange pas d'utiliser gVim, vous pouvez lancer une seule instance. Ainsi, lorsqu'un nouveau fichier est ouvert avec elle, il est automatiquement ouvert dans un nouvel onglet de l'instance en cours d'exécution.

pour ce faire, vous pouvez écrire: gVim --remote-tab-silent file

Vous pouvez toujours créer un alias pour cette commande afin de ne pas avoir à taper autant de mots. Par exemple, j'utilise linux et bash et dans mon fichier ~/.bashrc, J'ai:

alias g='gvim --remote-tab-silent'

donc au lieu de faire $ mate file je fais: $ g file

4
aegis