Forum Astuces.divers [Éditeur/Vim] vim pour dactylographier avec une position optimale

Posté par .
Tags : aucun
0
24
avr.
2005

Un aspect peu mis en avant de vi/vim est qu'il permet de garder quasiment tout le temps les doigts proches de la position dactylographique optimale (main gauche sur qsdf, main droite sur jklm, et pouces sur barre d'espace).



On peut tout faire en utilisant très peu des touches éloignées comme ctrl, et sans jamais avoir de besoin de la souris ou des flèches, qui obligent carrément à quitter la position dactylo.



Les 2 exemples suivants ne sont évidemment pas un manuel pour débutant (vim est trop différent d'un traitement de texte pour une seule astuce) mais une illustration de cet usage particulier du clavier :



Les déplacements du curseur se font (entre autres) avec j (bas) k (haut) h (gauche) l (droite).



Se positionner à un endroit précis d'un texte se fait (entre autres) avec /morceau_du_texte (vers l'avant) ou ?morceau (vers l'arrière)



Toutes les autres fonctions suivent cette philosophie.



Cela explique l'existence de plusieurs modes de fonctionnement dans vim, les commandes ci-dessus ne pouvant évidemment pas être tapées en mode "insertion de texte" (i permet de rentrer en mode insertion, Échap d'en sortir).



Et donc je vous rassure, dans ce mode insertion, on a le droit de taper tous les caractères sans qu'ils soient interprétés comme un déplacement du curseur !



Astuce finale: Échap est trop loin sur la plupart des claviers de PC de bureau (contrairement à certains portables)
Ajoutez donc la ligne suivante dans votre .vimrc pour que Alt-j équivale à Echap (la touche alt étant facilement accessible avec le pouce gauche).



imap <A-j> <esc>

  • # précisions

    Posté par . Évalué à 3.

    Pour les déplacements dans un texte, il est souvent utile d'ajouter dans .vimrc l'option:
    set is
    Cela signifie "incremental search" .On voit alors à chaque frappe la zone du texte correspondant à cette recherche. il suffit de valider par Entrée pour déplacer le curseur à cet endroit.
    n permet alors de passer à l'occurence suivante, et N la précédente

    imap <A-k> < esc>
    est peut-être préférable avec un vim configuré pour passer au mot suivant avec (entre autres) la combinaison alt-j
  • # autre alternative

    Posté par . Évalué à 1.

    On peut aussi taper Ctrl-[ pour sortir du mode insertion. C'est une commande standard de vim, mais bon, pour ceux qui ont un azerty c'est pas super pratique c'est vrai.
    • [^] # Re: autre alternative

      Posté par (page perso) . Évalué à 2.

      Je vois pas pourquoi vous vous prenez la tête avec des combinaisons compliquées...

      Par défaut :
      i <= passage insertion
      Ctrl+c <= sortie mode insertion
      R <= passage remplacement
      Ctrl+c
      ZZ <= sauver
      (ou) <= non non ce n'est pas une commande vim (enfin je sais pas ce que ça fait !)
      ZQ <= quitter sans sauver

      Après y a moyen de mapper des combinaisons spéciales du clavier pour avoir une touche insert a portée de main
      (ici Alt Gr+Suppr, oui j'ai une saloperie de clavier de merde logitech avec un touche suppr qui fait deux fois la taille normale et qui me bouffe ma touche insert)

      Encore merci a xkbcomp et les map compilé qui me permettent d'avoir cette touche réellement importante (pour limiter les Ctrl+c+R, Ctrl+c+i ;)
  • # Vive les claviers à pédale ...

    Posté par (page perso) . Évalué à 1.

    Astuce finale: Échap est trop loin sur la plupart des claviers de PC de bureau (contrairement à certains portables) ...

    La solution ultime est d'avoir un clavier avec une pédale. Il suffit alors d'utiliser la pédale pour la touche Echap, et là c'est que du bonheur !

Suivre le flux des commentaires

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