JDM

VIM (VI)

liens Web:

Présentation

Vim a 4 modes principaux :

Modes

Touche(s) d’accès

Description

Normales

  • [esc]

  • C’est le mode de base. il permet :

    • D’accéder aux autres modes

    • De naviguer dans le fichier

Commandes

  • [esc] –> [:]

Permet de lancer les commandes

Visuel

  • [esc] –> [v]

Permet d’effectuer des sélections

Insertion

  • [esc] –> [i]

  • [esc] –> [a]

  • [esc] –> [o]

  • [esc] –> [I]

  • [esc] –> [A]

  • [esc] –> [O]

  • [i] insérer du texte a l’emplacement du curseur

  • [a] insérer du texte après le curseur

  • [o] insérer du texte sur la ligne du dessous

  • [I] insérer du texte en début de ligne

  • [A] insérer du texte en fin de ligne

  • [O] Insérer du texte sur la ligne du dessus


Configuration et extension

Il y a 2 type de configuration :

Configuration permanente:

En renseignant le fichier “.vimrc”. Les options seront appliquée sur tous les documents

Configuration isolée:

En saisissant les options de configuration en mode commande. Les options ne seront appliquées que sur le document actif pendant toute la durée d’utilisation du fichier

Emplacement ou créer le fichiers “.vimrc” en fonction de l’environement

  1. Sous Windows

    • %userprofile%\.vimrc

  2. Sous Linux

    • /home/[nom_d’utilisateur]/.vimrc

  3. Sous Mac

    • /Users/[nom_d’utilisateur]/.vimrc


Liste des commandes et fonctions utiles

  1. Caractères cachés

    1. Afficher masquer les caractères cachés

      Liens_Web:
      ##Afficher les carctères cachés
      set list
      
      ## Masquer les carctères cachés
      set list!
      
    2. Configurer les caractères cachés

      Liens_Web:
      ex:
      set listchars=space:·,tab:>-
      
  2. Correcteur orthographique

    Liens_Web:

    Le correcteur orthographique nécessite que les langues désirées soit présentes dans le dossier « %programFiles(x86)%\Vim\vim80\spell\ »

    • Activer la correction orthographique

      :setlocal spell spelllang=fr
      
    • Désactiver la correction orthographique

      :setlocal spell!
      
    • Activer automatiquement la correction automatique pour un certain type de documenet

      Dans “.vimrc” :

      au BufRead *.txt setlocal spell spelllang=fr
      
    • liste des commandes / actions disponibles pour le correcteur

      z=

      sur un mot souligné affiche une liste de corrections possibles

      zg

      rajoute un mot dans le dictionnaire

      zug

      pour annuler l’ajout au dictionnaire

      ]s

      pour aller au prochain mot mal orthographié

      [s

      pour le précédent

  3. Rechercher, mettre en évidence un mot ou un ensemble de mot

    #.Rechercher un mot ou une phrase

    • Se placer en mode normal

    • Saisir le caractère slash (“/”) suivie du terme à rechercher

      [Mode_Normal]
      /[Recherche]
      
      ex:
      [Mode_Normal]
      /self
      
    1. Mettre en surbrillance le terme recherché

      :set hlsearch
      
      # pour l'arréter
      :set nohlsearch
      
    2. supprimer la subrillance précédente

      :nohlsearch
      
    3. faire une recherche incremental (au fur et à mesure de la frappe)

      # la recherche incrémental vas séléctioner la première chaine de charactère correspondante
      :set incsearch
      
  4. Définir le système (dos, unix ou mac) pour l’enregistrement d’un fichier

    Liens_Web:
    set ff=x (avec x = dos, unix ou mac )
    
    ex:
    set ff=unix
        # conversion au format unix / Linux
    
    set ff=dos
        # conversion au format dos / windows
    
  5. Activer la souris

    set mouse=a
    
  6. Ouvrir fermer des bloc de text (folding / unfolding)

    Liens_Web:
    1. instruction à ajourter dans “.vimrc”

      set foldmethod=indent
      set foldnestmax=10
      set nofoldenable
      set foldlevel=2
      
    2. Liste des raccourcis en mode normal

      command

      effect

      zi

      switch folding on or off

      za

      toggle current fold open/closed

      zc

      close current fold

      zR

      open all folds

      zM

      close all folds

      zv

      expand folds to reveal cursor

  7. Gestion des balises (mark) dans le texte

    1. Placer une balise

      # mode normal
      m<a-z>
      
      ex:
      mb
      
    2. accéder à une balise

      # mode normal
      '(apostrophe)<lettre_de_la_balise>
      
      ex:
      'b
      
    3. Lister toutes les balises

      # mode normal
      :marks
      
    4. Repérer une balise spécifique

      # mode normal
      :marks <lettre_de_la_balise>
      
      ex:
      marks b
      
  8. Faire de l’auto-complétion

    Liens_Web:

    L’auto complétion se fait en cumulant tous les buffers ouvert (1 fichier ouvert = 1 buffer)

    1. Pour descendre le cycle des propositions

      CTRL+n
      
    2. Pour remonter le cycle des propositions

      CTRL+p
      
    3. Auto complétion sur un PATH

      CTRL+X+F
      
    4. Ajouter des listes de mots

      Il est possible d’utiliser la commande ctags pour générer des fichiers contenant des listes de tag. Il faut ensuite les intégrer / activer dans “.virmrc”

      set tag=<liste_de_fichiers_tag>
      
      # Plus d'informations dans l'aide de vim :
      :help ctag
      
  9. Activer l’auto-complétion pour presque tous les langages

    Liens_Web:
    1. Activation dans “.vimrc”

      filetype plugin on
      set omnifunc=syntaxcomplete#Complete
      
    2. Utilisation

      CTRL+x puis CTRL+o