Forum Astuces.divers [Éditeur/Vim] Vim en multi fichier

Posté par  (site web personnel) .
Étiquettes :
0
5
mar.
2002
Tout le monde connait :split pour couper la fenetre en deux pour etre a 2 endroits en meme temps sur un meme texte et ctrl+w+j et ctrl+w+k pour se deplacer dans les fenetres.
Et bien j'ai decouvert que tu pouvais faire :split toto.txt et ca ouvre toto.txt dans la nouvelle fenetre ou :new ca ouvre un nouveau buffer vierge.
Encore mieux: :vsplit terrible c'est vertical et tu te deplaces logiquement avec ctrl+w+h et ctrl+w+l (:vnew existe aussi).
  • # A propos

    Posté par  . Évalué à 1.

    Je ne sais pas si ca march sous linux, mais sous macosX, il suffit de ctrl+w+w pour naviguer entre les fenetres.
    • [^] # Re: A propos

      Posté par  (site web personnel) . Évalué à 1.

      Ca marche effectivement.

      pour redimensionner les fenetre il y a aussi
      ctrl+w++ ou ctrl+w+= ou ctrl+w+- ou ctrl+w+< et ctrl+w+> pour les vsplit.
    • [^] # Re: A propos

      Posté par  (site web personnel) . Évalué à 1.

      c'est un raccourci vim, pas linux, donc ca marche partout ou vim marche.
      sinon Crtl+w+n ca ouvre un nouveau split.
      • [^] # Re: A propos

        Posté par  (site web personnel) . Évalué à 1.

        ctrl+w+s aussi pour splitter
        ctrl+w+v pour splitter verticalement
        vim -o fichier1 fichier2... fichierN pour ouvrir N fichiers en mode split
    • [^] # Re: A propos

      Posté par  . Évalué à 1.

      Et pour info ctrl+w+<fleches> marche aussi pour se deplacer d'une fenetre a une autre.
      • [^] # Re: A propos

        Posté par  . Évalué à 1.

        Cela dépend en revanche du terminal ou de l'émulateur de terminal que tu utilises pour manipuler ledit Vim, certains softs font des catastrophes lorsque l'on utilise les touches. Il vaut mieux connaître les deux solutions, ça évite de se retrouver coinçé.
  • # Re: Vim en multi fichier

    Posté par  (site web personnel) . Évalué à 1.

    Ca je savais. Je sais aussi que pour ouvrir plusieurs fichiers en même temps (dans des tampons) il faut taper
    vim f1 f2 f3
    et il ouvre les trois fichiers en même temps (sans split) pour passer de l'un à l'autre, il suffit de faire :next (suivant ) ou encore :Next (précedent).

    Comment faire pour ouvrir un nouveau fichier et l'ajouter à cette liste de fichiers ouverts. (:vi f4 ne fontionne pas car il ferme les autres.

    Merci.
    • [^] # Re: Vim en multi fichier

      Posté par  (site web personnel) . Évalué à 1.

    • [^] # Re: Vim en multi fichier

      Posté par  . Évalué à 1.

      Si j'ai bien compris, tu veux ouvrir directement les trois fichiers dans 3 «splits» différents ? Si c'est bien ça, il te suffit de faire:

      vim -o f1 f2 f3
      • [^] # Re: Vim en multi fichier

        Posté par  . Évalué à 1.

        Après avoir bien relu ton commentaire, je me suis rendu compte que ce n'était pas du tout ce que tu voulais. Je pense que tu cherches plutot qqch du genre «badd», pour Buffer ADD, qui prend en argument un nom de fichier et crée un nouveau buffer pour. Tu peux ensuite te balader dans les buffers.

        :badd f4

        Voir aussi bdel, bnext et bNext.
        • [^] # Re: Vim en multi fichier

          Posté par  . Évalué à 1.

          Ca marche en faisant :e nom_fichier
          • [^] # Re: Vim en multi fichier

            Posté par  (site web personnel) . Évalué à 1.

            Il vaut mieux eviter de melanger les commandes buffer de l'ancien vi (:next et N) et celle de gvim (:bn, :bp) parce que il gere mal les deux en meme temps. Ex: si tu fais 'gvim f1 f2 f3', :n, :bn, tu es sur f2 ... tiens non, ca a ete corrige. Donc j'ai rien dit.

            Sinon, les commanes buffer de base:
            - :bn, :bp pour naviguer entre buffer
            - :bd pour effacer un buffer
            - :ls pour avoir la liste
            - :buffer n pour sauter au buffer n


            Je profite de cet article sur vim pour signaler un nouveau projet lie a vim, yzis: http://www.yzis.org(...) dont le but est de re-ecrire un editeur compatible gvim en C++, suite a tous les problemes qu'on a eu en voulant integrer gvim a KDE.

            Ca avance doucement mais on ira loin :-)
  • # Re: Vim en multi fichier

    Posté par  . Évalué à 3.

    J'utilise vim régulièrement, mais basiquement (je connais pas beaucoup de raccourcis. Alors quand je vois la prose ci-dessus je me demande : quand vous éteignez le système, vous préparez à manger comment? Parce que moi, au bout d'une journée de ça, j'essaie Ctrl+w+t pour avoir une tarte aux pommes ;-)

    ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

  • # Re: Vim en multi fichier

    Posté par  . Évalué à 1.

    Question à propos d'OpenBSD, sur certains T-Shirts, y'a marquer "Chix Dig"... Chix = cheeks = filles (comme celles qui accompagnent Puffy sur le T-shirt) mais pour "Dig", je comprends pas ...
    Quelqu'un pourrait-il m'aider ?

    Lien de la photo du T-shirt :
    http://www.openbsd.org/tshirts.html#16(...)

    Lien direct photo :
    http://www.openbsd.org/images/tshirt-16b.gif(...)

    A part, j'ai bien envie de me mettre à OpenBSD mais il parait que c'est un OS de malade, trop difficile à maîtriser. Venant de Linux et étant un utilisateur de niveau lambda (ni nul ni master), pourrais-je me débrouiller avec ?
    • [^] # Re: Vim en multi fichier

      Posté par  . Évalué à 1.

      SVP les modos, virez mon message, erreur entre pls fenetres, désolé...
    • [^] # dig dig dig

      Posté par  . Évalué à 1.

      "to dig" ça veut dire trouer... je te laisse imaginer le genre de métaphore que cela donne...

      Je trolle dès quand ça parle business, sécurité et sciences sociales

  • # Re: Vim en multi fichier

    Posté par  . Évalué à 1.

    ajoutons à la longue liste des commandes de split :diffsplit fichier.txt, pour obtenir un split qui met en évidence les différences entre 2 fichiers, avec des couleurs et tout et tout... le split est vertical si on préfixe la commande diff* de la commande de :vertical:
    :vert diffspilt toto.txt

    y'a plein de commandes diff*, voir :help diff pour les détails...

    l'une des plus intéressantes est diffpatch, qui prend en argument un fichier diff, patche le buffer courant avec et ouvre le résultat dans un nouveau buffer splitté, appelé fichier.txt.new:

    diffpatch toto.patch

    évidemment, le préfixage par la commande :vertical fonctionne ici aussi.

    Par défaut, les lignes identiques sont masquées (fold). lorsqu'on ferme la nouvelle fenêtre et qu'on veut éditer normalement a nouveau, on peut utiliser :foldopen pour montrer les lignes masquées et :set diff pour virer le mode diff (les symboles qui donnent des informations sur les différences).

    mais je ne vais pas refaire l'aide de vim, hein, alors je m'arrête là :)
    (a quand un plugin vim pour éditer le texte dans mozilla avec vim ?)

    joyeux patchage ;)
    • [^] # Re: Vim en multi fichier

      Posté par  . Évalué à 1.

      Ben dis donc et y en a qui disent que dans winword les gens n'utilisent pas plus de 20 % de ses fonctionnalités, mais moi je n'utilisent même pas 5 % de celles de vim!

      ben dis donc !
  • # Et maintenant

    Posté par  . Évalué à 2.

    Avec vim et gim on peut utiliser :tabnew (et sa suite :tabprevious :tabnext :tabclose :tabfirst :tablast :tabdo...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.