{{tag>software vim}} ====== Trucs et astuces ====== ===== Placer le curseur à l'ouverture ===== Lorsqu'on démarre l'éditeur, il est possible de positionner le curseur directement sur une ligne ou un caractère (offset ou décallage). Pour éditer le fichier et placer directement le curseur à la 67ième ligne: vim +67 mon_fichier.txt Pour éditer le fichier et placer le curseur sur le 654344ième caractère du buffer: vim +654344go mon_fichier.txt ===== Annuler / Restaurer ==== * Pour annuler une action ou un ensemble d'actions depuis le mode commande presser u ou utiliser les commandes '':u'' ou '':undo'' * Pour restaurer une action ou en ensemble d'actions depuis le mode commande, utiliser ctrl+r ou la commande '':redo'' ===== Afficher le code d'un caractère ===== Placer le curseur sur le caractère est en mode normal, saisir: ga Pour saisir des caractères spéciaux non présents sur le clavier voir le wiki software:applications:vim:saisir-caracteres-speciaux. ===== Afficher les caractères de contrôle ====== Les caractères de contrôles ASCII ne sont pas affichés par défaut, pour le faire: : set list Pour les masquer: : set nolist ou bien: :set list ! Les caractères de contrôle ainsi que les caractères à afficher pour les symboliser sont définis dans la variable **listchars**. Pour afficher sa valeur: : set listchars ? Plus d'informations dans le wiki [[software:applications:vim:afficher_caracteres_speciaux|Affichage des caractères non imprimables]]. ===== Encodage ====== Pour spécifier quel jeu de caractères doivent être utilisés en interne par vim :set encoding=utf-8 Pour spécifier quel jeu de caractère est utilisé pour l'enregistrement des fichiers: :set fileencoding=utf-8 ===== Marques ===== Les marques sont des repères sur lesquels le curseur peut rapidement revenir. On place une marque dans un fichier, en mode normal en frappant **m** puis une lettre: ms pour lister les marques existantes: :marks Pour sauter sur la marque, frapper **'** suivi de la marque: 's ===== Edition des nombres ===== Pour incrémenter ou décrémenter un nombre placé sous le curseur taper respectivement C+a ou C+x ===== Largeur des tabulations ===== Pour définir la largeur des tabulations à l'équivalent de 2 espaces: :set ts=2 ===== Executer des commandes externes ==== :TODO_DOCUPDATE: ===== Inverser l'ordre des lignes ===== Sélectionner les lignes soit en mode bloc soit avant la commande en indiquant les numéros des lignes. Pour inverser les lignes on utilise la commande externe **tac**. Depuis le mode normal: :15,17!tac Dans cet exemple la commande tac est palliquée entre les lignes 15 à 17. ===== Auto-complétion ===== L' auto-complétion avec Ctrl-D pour compléter les arguments des commandes ou l'aide. ===== Configuration ===== Pour vérifier quelles extensions ont été chargées au démarrage: :scriptnames ===== Désactiver la souris ===== :set mouse-=a ===== Aide non disponible ===== Après installation d'un nouveau plugin, si l'aide n'est pas disponible: :helptags ~/.vim/doc ===== Références ===== * http://www.vim-fr.org/index.php/Commandes_de_bases * http://stackoverflow.com/questions/16507777/vim-set-encoding-and-fileencoding-utf-8 * http://www.quesaco.org/vim-afficher-caracteres-invisibles * https://www.howtoforge.com/tutorial/how-to-access-shell-or-run-external-commands-from-within-vim/