J'ai quelques $ Quelqu'un) code> Array de 4 dossiers. Je veux ouvrir des fichiers de ces dossiers dans Vim. Ce qui suit les ouvre dans des onglets.
vim -p `for i in ${somePaths[@];}; do echo $i/src/main.cpp; done`
4 Réponses :
Vous pouvez essayer d'utiliser -O4 code> au lieu de
-p code>. p>
Pas très flexible En matière de division Windows horizontalement (la ligne de fractionnement est horizontale, les onglets sont verticaux), mais sont parfaits pour un démarrage et en fonction de la taille de votre écran appropriée.
vim a : la commande verticale code>, qui pourrait être utile dans votre cas. Donnez ceci un essai:
À part crée une mise en page qui ressemble à ceci: p> Pour continuer à passer la liste des fichiers comme un seul bloc, vous pouvez utiliser Le fait que les numéros de mémoire tampon augmentent monotoniquement et se réfèrent aux numéros de mémoire tampon dans la commande: p> -P code>, Vim propose également le
-o code> et
-O code> arguments de ligne de commande pour des divisions horizontales / verticales. Malheureusement, ils ne peuvent pas être mélangés. Pour vous construire la possession de fenêtre personnalisée, vous devez transmettre les commandes de placement explicite via
-c code>. Cet exemple
Merci. Est-il possible de passer la liste de fichiers pour l'ouvrir avec cette mise en page?
La solution acceptée ci-dessus est bonne et résolvère votre cas d'utilisation, mais je voudrais souligner une autre manière d'atteindre quelque chose de similaire sans effort ni configuration.
Vim a une prise en charge intégrée pour les sessions d'enregistrement, Voici ce que je fais, j'ai cet extrait dans mon ~ / .zshrc: < / p> est essentiellement vérifiant si VIM est lancé si Vim est lancé, sans aucun argument et vérifie si une session existe déjà et le chargent ou en utilisant de cette façon , Je peux maintenant simplement lancer Vim dans n'importe quel répertoire et la première fois que je le ferai, il commencera à enregistrer une nouvelle session, alors que sur les invocations ultérieures, il chargera cette session et : h: mksession code>, ce que cela vous permet de faire est d'enregistrer la session VIM actuelle (fichiers ouverts, divisions, onglets, fenêtres, etc., en fonction de la valeur de
: h 'sessionOptions' code> . Bien que les sessions d'enregistrement et de maintien puissent être légèrement fastidieuses, ce que je suggérerais d'utiliser
xolox / vim-session code> (je l'ai utilisé précédemment) ou
TPOPO / Vim-Obsession < / Code> (Utilisez-le maintenant). Cela vous permettra de ré-ouvrir une session exactement comme vous l'avez laissé! P>
TPOPOP / VIM- obsession code> commence à enregistrer une nouvelle session, qui sera être chargé la prochaine fois que vous ouvrez Vim. Le nom de la session n'est que le nom du répertoire que vous lancez VIM in. Si vous passez des arguments à Vim, mais vous vous comportez comme si vous vous attendez et ne vous inquiétez pas de vous inquiéter des sessions. P>
TPOPO / VIM-obsession code> le garde mise à jour . p> p>