Question Comment faire pour que vim ouvre plusieurs fichiers dans des onglets à la fois


Est-il possible d'obtenir vim pour ouvrir plusieurs fichiers dans des onglets, comme le args <path> commande ouvrira plusieurs fichiers dans des tampons?

Faire quelque chose comme :tabe ./* entraîne l'erreur "E77: Trop de noms de fichiers", même si le nombre de fichiers est inférieur à la valeur définie dans le fichier. tabpagemax propriété.

(Je crois que le vim -p <files> l'option s'ouvrira dans des onglets, mais j'espère trouver un moyen de le faire lorsque vim est déjà ouvert.)


78
2017-08-04 06:37


origine


Merci d'avoir mentionné l'option -p; c'est ce que je cherchais - user72923
J'ai trouvé cette question via Google. Je cherchais comment ouvrir vim avec des onglets depuis la ligne de commande, vim -p était ce que je cherchais :-) - Rocket Hazmat
En relation: Comment puis-je ouvrir plusieurs onglets à la fois? chez Vim SE - kenorb
En relation: Ouvrez plusieurs fichiers dans de nouveaux onglets avec VIM au débordement de pile. - Mihai Capotă
En relation: Comment ouvrir plusieurs onglets pour beaucoup de fichiers dans vim? chez Super User. - Mateusz Piotrowski


Réponses:


:tab all

ouvrira tous les fichiers de la liste d'arguments de Vim dans des onglets individuels. La liste d'arguments est initialement définie sur la liste des noms de fichiers indiqués sur la ligne de commande au démarrage de Vim. La liste peut être modifiée avec le :args et commandes connexes. Voir

:help :all
:help argument-list

Exemple:

:args *.c
:tab all

ouvrira tous les fichiers .c du répertoire en cours dans des onglets individuels.


77
2017-08-04 07:19



Je ne sais pas comment cela est censé fonctionner. Disons que si je veux ouvrir tous les fichiers .txt du répertoire en cours, comment entrer? Si j'entre :tab all *.txt, vim avec "E488: caractères de fin" - Ash
J'ai édité la réponse pour clarifier ce que je voulais dire par "arguments". Je voulais dire la liste des arguments de Vim plutôt que des arguments pour :tab all. - garyjohn
Je ne connais pas une seule commande capable de faire cela, mais vous pouvez placer deux commandes sur une seule ligne en les séparant par une barre verticale, comme ceci: :args *.c | tab all. - garyjohn
L'inconvénient est que l'utilisation :tab all remplace vos onglets existants. De ce fait, dans mon cas d’utilisation, il n’est pas très avantageux par rapport à la réouverture de fichiers avec vim -p. Cependant, s’il y avait un moyen de remplir les onglets existants :args, il pourrait être possible d’ouvrir de nouveaux onglets et de conserver ceux existants. - Kevin Qi
Si un onglet est déjà ouvert, remplacez-le argadd pour args. - cdosborn


Vous pouvez réellement ouvrir de nouveaux onglets et conserver vos onglets actuels sans écrire de nouvelles fonctions. Voir cette réponse sur le débordement de pile: https://stackoverflow.com/a/11430615/200234

:args file1 file2 | argdo tabe

Vous voudrez peut-être ouvrir un nouvel onglet vide (:tabe) avant de le faire, car le premier fichier s’ouvrira dans l’onglet actuel. De plus, un onglet vide supplémentaire sera laissé ouvert (voir :help argdo pour comprendre pourquoi).


4
2018-03-26 15:44