Ouvrir des fichiers dans différents split windows dans VIM
J'ai quelques $somePaths
tableau de 4 dossiers. Je veux ouvrir certains fichiers à partir de ce dossiers dans VIM. La suite de les ouvrir dans des onglets.
vim -p `for i in ${somePaths[@];}; do echo $i/src/main.cpp; done`
En fait j'aimerais avoir ces fichiers de split windows (de la croix). Comment peut-il être fait?
OriginalL'auteur Loom | 2014-03-28
Vous devez vous connecter pour publier un commentaire.
En dehors de
-p
, Vim propose également la-o
et-O
arguments de ligne de commande horizontale /verticale divise. Malheureusement, ils ne peuvent pas être mélangés. Pour construire votre propre personnalisé fenêtre mise en page, vous devez passer l'explicite de la fenêtre des commandes de placement via-c
. Cet exemplecrée une mise en page qui ressemble à ceci:
Pour garder le passage de la liste de fichiers comme un bloc, vous pouvez utiliser le fait que le tampon de nombre augmente de façon monotone, et de se référer à un tampon de numéros dans la commande:
Oui, voir mon edit.
OriginalL'auteur Ingo Karkat
vim a
:vertical
de commande, ce qui pourrait être utile dans votre cas. donner à ceci un essai:OriginalL'auteur Kent
Vous pouvez essayer d'utiliser
-O4
au lieu de-p
.OriginalL'auteur Jeff
La solution retenue posté ci-dessus est bonne et permet de résoudre votre cas d'utilisation, cependant, je voudrais souligner un autre moyen de réaliser quelque chose de similaire sans trop d'effort ou de configuration.
VIM a intégré de soutien pour la tenue des séances,
:h :mksession
, ce qui permet de le faire est d'enregistrer le vim session (fichiers ouverts, des criques, des onglets, des fenêtres, etc, en fonction de la valeur de:h 'sessionoptions'
. Mais la tenue et le maintien des sessions peut être un peu fastidieux, ce que je suggère est d'utiliser soit dexolox/vim-session
(je l'ai déjà utilisé auparavant) outpope/vim-obsession
(maintenant l'utiliser). Qui vous permettra de ré-ouvrir une session, exactement comme vous l'avez laissé!Voici ce que je fais, j'ai ce morceau de code dans mon ~/.zshrc:
Ce que cela fait est de vérifier si vim est lancé sans arguments et vérifie si une session existe déjà & charge, ou à l'aide de
tpope/vim-obsession
démarre l'enregistrement d'une nouvelle session, qui sera chargé de la prochaine fois que vous ouvrez vim. Le nom de la session est juste le nom du répertoire de lancement de vim. Si vous ne passer aucun argument pour vim cependant, il serait se comporter comme vous vous attendez et ne prend pas la peine de se soucier de sessions.De cette façon, je peux maintenant il suffit de lancer vim dans un répertoire quelconque, et la première fois que je le fais, il va commencer l'enregistrement d'une nouvelle session, alors que sur les invocations, il se charge de cette session et
tpope/vim-obsession
maintient à jour.OriginalL'auteur Dhruva Sagar