40 votes

Comment ouvrir et diviser plusieurs fichiers

Comment ouvrir plusieurs fichiers dans une fenêtre divisée. Un fractionnement pour chaque fichier si je ne suis pas clair.

Je veux faire quelque chose comme. :sp app/views/*.erb et avoir les ~7 fichiers ouverts dans leurs propres fenêtres séparées.

62voto

Pas vraiment à partir de vim, mais vous pouvez peut-être lancer vim comme ceci :

vim -o app/views/*.erb

32voto

Henrik N Points 4447

Je viens d'apprendre de tonymec@#vim que l'on peut faire

:args app/views/*.erb | all

pour les fentes horizontales ou

:args app/views/*.erb | vertical all

pour la verticale.

0 votes

J'ai reçu le code de quelqu'un à l'époque et je n'ai jamais cherché à savoir comment il fonctionne. Si vous trouvez la solution (peut-être en utilisant :help args et ainsi de suite), veuillez partager dans un commentaire ! :)

0 votes

Explication : vim se souvient de tous les fichiers ouverts au démarrage. C'est ce qu'on appelle l'argslist. Même si vous ouvrez d'autres fichiers depuis vim, l'argslist reste la même. Ici, l'argslist est définie à partir de vim, avec la commande args (voir args_f). Ensuite (il s'agit de la commande suivante puisque nous utilisons une barre pour la séparer (voir :bar)) nous utilisons all pour voir tous les fichiers de la liste d'arguments en même temps. Vim avait l'habitude de n'avoir qu'une division horizontale (juste plus facile à mettre en œuvre), donc les divisions sont par défaut une division horizontale. C'est pourquoi vertical existe, qui se contente d'exécuter une commande mais remplace le fractionnement horizontal par un fractionnement vertical.

23voto

James F Points 441
vim -O app/views/*.erb

Cela vient aussi de la coquille. Il s'ouvrira comme des fentes verticales.

3voto

Rob Wells Points 21714

Que se passe-t-il quand on fait un

:sf app/views/*.erb

à partir de vim ?

1 votes

Fonctionne pour moi sur Mac. Mais j'essayais de le faire verticalement. de stackoverflow.com/questions/32399791/ Je pensais que ce serait :vert sf <filename>

1voto

lagsalot Points 218

J'ai dû préparer une fonction.

  fun! OpenSplits(dir)
    for f in split(glob(a:dir), '\n')
      execute "sp " f
    endfor
  endfun

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X