Je sais que je peux ouvrir plusieurs fichiers vim
en faisant quelque chose comme cela vim 2011-12*.log
, mais comment puis-je changer de fichier et fermer les fichiers un à un? Aussi, comment puis-je connaître le nom du fichier actuel que je suis en train de modifier?
169
Réponses:
Tout d’abord, dans vim, vous pouvez entrer :(deux points), puis help
help
, ala:help
pour obtenir une liste de sujets d’auto-assistance, y compris un court tutoriel. Dans la liste des sujets, déplacez votre curseur sur le sujet qui vous intéresse, puis appuyez sur ctrl]et ce sujet sera ouvert.Un bon endroit pour commencer serait le sujet
Ok, pour ta réponse.
Après avoir démarré vim avec une liste de fichiers, vous pouvez passer au fichier suivant en entrant
:next
ou:n
en abrégé.:wnext
est l'abréviation d'écrire les modifications actuelles, puis de passer au fichier suivant.Il y a aussi un analogue
:previous
,:wprevious
et:Next
. (Notez que:p
c'est un raccourci pour:print
. Le raccourci pour:previous
est:prev
ou:N
.)Pour voir où vous en êtes dans la liste des fichiers, entrez
:args
et le fichier en cours de modification apparaît[]
entre crochets.Exemple:
résultat:
la source
vous pouvez ouvrir un autre fichier lorsque vim est ouvert avec
:tabe filename
et pour passer en conséquence à l'autre fichier que vous tapez:tabn
ou:tabp
pour next et previous.Les raccourcis clavier gT et gt peuvent également être utilisés pour changer d'onglet lorsque vous n'êtes pas en mode édition (c'est-à-dire pas en mode insertion, remplacement, etc.). Sur certains systèmes, Ctrl+ Alt+ Page Upet Ctrl+ Alt+ Page Downautorisent également la commutation par tabulation, mais cela ne fonctionne pas toujours (par exemple, cela ne fonctionnera pas dans le terminal OS X «prêt à l'emploi»).
Et vous pouvez voir le nom du fichier en haut de l'application vim.
la source
vim -p file1 file2
:argadd filename
et ensuite:next
. De même, vous pouvez utiliser:argdel filename
pour supprimer l'un des fichiers en cours d'édition.Commandes pour basculer entre les tampons:
:help buffer
pour trouver plus d'informationsPour connaître le nom du fichier, utilisez Ctrl+ G,
:file
ou:f
la source
:bw
fermer le fichier haha. N'oubliez pas de lire l'aide pour savoir:bw
où il est indiqué de ne l'utiliser que si vous savez ce que vous faites. Ce n'est pas bien grave, mais à moins que vous ne vouliez effacer toutes les marques et informations sur le fichier, il serait préférable de l'utiliser:bd
ou de:q
ressembler à une personne normale:bw
si vous êtes curieux: vi.stackexchange.com/questions/2212/…Une autre option en dehors des réponses fournies est de scinder la fenêtre avec:
:vsp
est pour la division verticale. Puis utilisezCtrl+W <ARROW_KEYS>
pour vous déplacer dans les volets.la source
:vs
place de:vsp
Ctrl+W, v
pour la division verticale etCtrl+W, s
pour la division horizontale.CTRL+W
des années et récemment, je fais beaucoup de montage de VIs à l'intérieur de pages Web. À chaque fois, je tape la commande sans même y penser et… whammmm… l'onglet du navigateur est VENU! Je continue à oublier. J'ai vraiment besoin d'apprendre un nouveau raccourci.la source
J'ai posé une question similaire au superutilisateur,
"Comment copier et coller entre différentes fenêtres bash et les fichiers ouverts avec VI?"
La réponse à ma question était que vous ne pouvez pas, mais vous pouvez ouvrir deux fichiers dans une fenêtre bash en utilisant la
:split
commande de VIM :$ vim file1
, ouvrez un deuxième fichier dans VIM à l'aide de la:split file2
commande.$ vim -o file1 file2
de bash.:q
quitte et:q!
force quitte.Mon bash est en noir et blanc, de sorte que le nom de fichier de chaque écran est stylé comme une ligne "sélectionnée" inversée avec le nom de fichier qui y est cité.
Woot!
la source
Je trouve que la méthode la plus pratique pour éditer plusieurs fichiers est d'utiliser des onglets. Vous pouvez ouvrir plusieurs fichiers dans des onglets séparés via la ligne de commande, comme suit:
Ou si vim est déjà ouvert, vous pouvez ouvrir un nouveau fichier dans un nouvel onglet comme ceci:
Une fois les onglets ouverts, utilisez
gt
pour afficher l'onglet suivant etgT
pour afficher l'onglet précédent.Vous pouvez également passer au premier onglet avec
1gt
, au deuxième onglet avec2gt
, etc.Vous pouvez fermer les onglets en utilisant
:tabc
Enfin , vous pouvez déplacer l'onglet en cours à l'
n
e position avec:ntabm
oùn
est un nombre supérieur ou égal à0
.la source
argadd ...
ajoutera tous les fichiers aux arguments, et également à:ls
/:buffers
et vous permettra de les éditer.Voir
:h arglsit
&:h argedit
&:h argsd
En outre, vous pouvez effectuer certaines actions uniquement sur des arguments avec
:argdo ...
, et vous pouvez recommencer avec vos arguments en le faisant:argsd*
.la source
Il y a beaucoup de façons de le faire. Le premier, peut-être le moins pratique, consiste à appeler
vim
avec les fichiers que vous souhaitez modifier - créez:Il appelle les deux fichiers dans deux tampons. Pour passer d’un fichier à un autre, veuillez utiliser
:n
et:N
. Pour lister les fichiers que vous éditez,:args
fera le travail.:help buffer
vous aidera plus à ce sujet.Ceci devrait répondre à votre question. Mais voici plus d'informations:
Il existe un moyen plus facile d’éditer vos fichiers en divisant l’écran de votre console avec vim . Pour ce faire, ouvrez deux cadres avec
:split
(:sp
) ou:vsplit
(:vs
) tout en utilisant vim . Puis naviguez dans ces cadres en utilisant la combinaison Ctrl+ W> Ctrl+ W. Vous pouvez également utiliser Ctrl+ W+ la flèche ou la touche ( H, J, Kou L) correspondant à l'image suivante. Lorsque cela est fait, éditez le fichier que vous voulez:e file_name
.:help opening-window
vous aidera plus à ce sujet.Maintenant, si vous souhaitez voir les différences entre les fichiers, utilisez l'
-d
argument ou appelez le programme vimdiff (c'est la même chose) avec les fichiers correspondants.:help diff
vous aidera plus à ce sujet.S'il vous plaît laissez-moi savoir si vous avez un problème.
la source
J'aime utiliser des fenêtres divisées - horizontales et verticales - pour modifier plusieurs fichiers.
J'utilise tmux pour gérer ces fenêtres plus facilement
https://tmux.github.io/ "Qu'est-ce qu'un multiplexeur de terminal? Il vous permet de basculer facilement entre plusieurs programmes d'un même terminal, de les détacher (ils continuent de fonctionner en arrière-plan) et de les rattacher à un autre terminal. beaucoup plus. Voir le manuel. "
Exemple: consulter des fichiers ou exécuter des tests à droite, éditer des fichiers de test et des fichiers source à gauche:
la source
:e #(filename)
pour basculer entre deux fichiers ouverts:p
pour le fichier précédent:n
pour le fichier suivantla source