{"id":119,"date":"2017-09-05T23:09:15","date_gmt":"2017-09-05T23:09:15","guid":{"rendered":"http:\/\/www.technologue.net\/?p=119"},"modified":"2017-09-08T14:20:31","modified_gmt":"2017-09-08T14:20:31","slug":"aide-memoire-commandes-vim","status":"publish","type":"post","link":"http:\/\/www.technologue.net\/?p=119","title":{"rendered":"Aide-m\u00e9moire: commandes VIM"},"content":{"rendered":"<p><em>vim<\/em> est le rempla\u00e7ant du v\u00e9n\u00e9rable <em>vi.<\/em> Cet \u00e9diteur a \u00e9t\u00e9 con\u00e7u \u00e0 l&rsquo;\u00e9poque o\u00f9 il n&rsquo;y avait ni souris ni touches de fonction (Fn). Il est encore populaire car c&rsquo;est l&rsquo;outil qui vous permettra d&rsquo;\u00eatre le plus performant dans vos t\u00e2ches courantes d&rsquo;\u00e9dition de texte. Sa principale caract\u00e9ristiques est que vos doigts restent toujours sur le clavier, pour l&rsquo;insertion et les commandes.<\/p>\n<p>Pour utiliser vi, il faut savoir que son op\u00e9ration repose sur un mode. Le mode peut \u00eatre:<\/p>\n<ul>\n<li>mode de commande d&rsquo;\u00e9dition, navigation,\u00a0 recherche,\u00a0 etc)<\/li>\n<li>mode d&rsquo;insertion de texte<\/li>\n<li>mode de commande de gestion ( fichier, aide, etc)<\/li>\n<\/ul>\n<p><strong>Changements de mode<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td align=\"center\"><strong>Esc<\/strong><\/td>\n<td>Active le mode de commande. N&rsquo;a pas d&rsquo;effet si on n&rsquo;est pas en mode d&rsquo;\u00e9dition<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>a-i-o-s<\/strong><\/td>\n<td>Active le mode d&rsquo;\u00e9dition. Voir les commandes d&rsquo;insertion dans la section suivante.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:<\/strong><\/td>\n<td>Active le mode de commande de gestion.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Activation du mode d&rsquo;\u00e9dition<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td align=\"center\"><strong>a<\/strong><\/td>\n<td>Ins\u00e8re du texte apr\u00e8s le curseur.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>A<\/strong><\/td>\n<td>Ins\u00e8re du texte \u00e0 la fin de la ligne.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>i<\/strong><\/td>\n<td>Ins\u00e8re du texte avant le curseur.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>I<\/strong><\/td>\n<td>Ins\u00e8re du texte au d\u00e9but de la ligne.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>o<\/strong><\/td>\n<td>Ins\u00e8re une nouvelle ligne sous la ligne courante.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>O<\/strong><\/td>\n<td>Ins\u00e8re une nouvelle ligne au dessus de la ligne courante.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>s<\/strong><\/td>\n<td>Efface <em>n<\/em> caract\u00e8res au curseur et active le mode d&rsquo;\u00e9dition.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>S<\/strong><\/td>\n<td>Efface <em>n<\/em> lignes au curseur et active le mode d&rsquo;\u00e9dition.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Sauvegarde et sortie<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td align=\"center\"><strong>:q<\/strong><\/td>\n<td>Quitter (s&rsquo;il n&rsquo;y a aucun changement)<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:q!<\/strong> ou <strong>:cq<\/strong> ou <strong>ZQ<\/strong><\/td>\n<td>Quitter sans sauvegarder.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:w<\/strong><\/td>\n<td>Sauvegarder.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:w<\/strong>&#8230;<\/td>\n<td>Enregistrer sous &#8230;<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:wq<\/strong><\/td>\n<td>Sauvegarder et quitter.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>ZZ<\/strong><\/td>\n<td>Sauvegarder (s&rsquo;il y a eu changement) et quitter.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Navigation: <\/strong><br \/>\nle facteur de r\u00e9p\u00e9tition [n] est optionnel. Par d\u00e9faut, il vaut 1.<\/p>\n<table>\n<tbody>\n<tr>\n<td align=\"center\">[n]<strong>h<\/strong><\/td>\n<td>D\u00e9place le curseur de n caract\u00e8res vers la gauche.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>j<\/strong><\/td>\n<td>D\u00e9place le curseur de n lignes vers le bas.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>k<\/strong><\/td>\n<td>D\u00e9place le curseur de n lignes vers le haut.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>l<\/strong><\/td>\n<td>D\u00e9place le curseur de n caract\u00e8res vers la droite.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>0<\/strong> (z\u00e9ro)<\/td>\n<td>D\u00e9place le curseur vers le d\u00e9but de la ligne.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>$<\/strong><\/td>\n<td>D\u00e9place le curseur vers la fin de la ligne.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>^<\/strong><\/td>\n<td>D\u00e9place le curseur vers le 1er caract\u00e8re non-blanc de la ligne.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>w<\/strong><\/td>\n<td>D\u00e9place le curseur vers le d\u00e9but du prochain mot.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>W<\/strong><\/td>\n<td>D\u00e9place le curseur vers le d\u00e9but du prochain mot.<br \/>\nLa nuance avec w est le s\u00e9parateur de mots<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>b<\/strong><\/td>\n<td>D\u00e9place le curseur vers le d\u00e9but du mot pr\u00e9c\u00e9dent.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>B<\/strong><\/td>\n<td>D\u00e9place le curseur vers le d\u00e9but du mot pr\u00e9c\u00e9dent.<br \/>\nLa nuance avec b est le s\u00e9parateur de mots<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>(<\/strong><\/td>\n<td>D\u00e9place le curseur vers le d\u00e9but de la phrase pr\u00e9c\u00e9dente.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>)<\/strong><\/td>\n<td>D\u00e9place le curseur vers le d\u00e9but de la phrase suivante.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>{<\/strong><\/td>\n<td>D\u00e9place le curseur vers le d\u00e9but de la phrase pr\u00e9c\u00e9dente.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>}<\/strong><\/td>\n<td>D\u00e9place le curseur vers le d\u00e9but de la phrase suivante.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>G<\/strong><\/td>\n<td>D\u00e9place le curseur vers la fin du fichier.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>gg<\/strong><\/td>\n<td>D\u00e9place le curseur vers le d\u00e9but du fichier.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Effacement de texte: <\/strong>le facteur de r\u00e9p\u00e9tition [n] est optionnel. Par d\u00e9faut, il vaut 1.<\/p>\n<table>\n<tbody>\n<tr>\n<td align=\"center\">[n]<strong>x<\/strong><\/td>\n<td>Efface le caract\u00e8re au curseur.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>dd<\/strong><\/td>\n<td>Efface n lignes \u00e0 partir du curseur.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>dw<\/strong><\/td>\n<td>Efface n mots suivants.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>d0<\/strong><\/td>\n<td>Efface du d\u00e9but de ligne jusqu&rsquo;au curseur.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>d$<\/strong><\/td>\n<td>Efface du curseur jusqu&rsquo;\u00e0 la fin de ligne.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>d(<\/strong><\/td>\n<td>Efface du curseur jusqu&rsquo;au d\u00e9but de phrase.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>d)<\/strong><\/td>\n<td>Efface du curseur jusqu&rsquo;\u00e0 la fin de phrase.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>dgg<\/strong><\/td>\n<td>Efface du curseur jusqu&rsquo;au d\u00e9but de fichier.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>dG<\/strong><\/td>\n<td>Efface du curseur jusqu&rsquo;\u00e0 la fin de fichier.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Recherche et remplacement de texte<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td align=\"center\"><strong>\/<\/strong>txt<\/td>\n<td>Recherche <em>txt<\/em> vers l&rsquo;avant.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>?<\/strong>txt<\/td>\n<td>Recherche <em>txt<\/em> vers l&rsquo;arri\u00e8re.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>\/<\/strong> ou <strong>n<\/strong><\/td>\n<td>Aller vers l&rsquo;occurrence suivante.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>?<\/strong> ou <strong>N<\/strong><\/td>\n<td>Aller vers l&rsquo;occurrence pr\u00e9c\u00e9dente.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>r<\/strong>car ou <strong>r{<\/strong>txt<strong>}<\/strong><\/td>\n<td>Remplacer le caract\u00e8re au curseur par un ou des caract\u00e8res.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>R<\/strong><\/td>\n<td>Remplacer les caract\u00e8res \u00e0 partir du curseur, jusqu&rsquo;en fin de ligne. Terminer par Esc.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:s<\/strong>\/txt1\/txt2\/<\/td>\n<td>Remplacer txt1 par txt2 dans la ligne courante, 1 fois.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:s<\/strong>\/t1\/t2\/opts<\/td>\n<td>Remplacer t1 par t2.\u00a0 <em>opts<\/em> peut \u00eatre:<br \/>\ng: toutes les occurrences<br \/>\nc: demander confirmation \u00e0 chaque remplacement<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Copier\/coller<\/strong><br \/>\nLe copier\/coller se fait par l&rsquo;interm\u00e9diaire d&rsquo;un tampon . On peut utiliser plus d&rsquo;un tampon. Chacune des commandes qui suivent peut \u00eatre pr\u00e9fix\u00e9e par \u00ab\u00a0x o\u00f9 x est l&rsquo;identificateur du tampon. \u00ab\u00a0\u00a0\u00bb est le tampon par d\u00e9faut. \u00ab\u00a0+ est le tampon-syst\u00e8me (utilis\u00e9 par les autres applications).<\/p>\n<table>\n<tbody>\n<tr>\n<td align=\"center\">[n]<strong>yy<\/strong> ou [n]<strong>Y<\/strong><\/td>\n<td>Copier <em>n<\/em> lignes.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">[n]<strong>yw<\/strong><\/td>\n<td>Copier <em>n<\/em> mots.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>y$<\/strong><\/td>\n<td>Copier du curseur \u00e0 la fin de ligne.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>p<\/strong><\/td>\n<td>Coller apr\u00e8s le curseur.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>P<\/strong><\/td>\n<td>Coller avant le curseur.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Op\u00e9rations sur blocs<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td align=\"center\"><strong>v<\/strong><\/td>\n<td>S\u00e9lection de caract\u00e8res. D\u00e9placer le curseur jusqu&rsquo;\u00e0 la fin du bloc.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>V<\/strong><\/td>\n<td>S\u00e9lection de lignes. D\u00e9placer le curseur jusqu&rsquo;\u00e0 la fin du bloc.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>V<\/strong><\/td>\n<td>S\u00e9lection d&rsquo;une zone rectangulaire. D\u00e9placer le curseur jusqu&rsquo;\u00e0 la fin du bloc.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>d<\/strong><\/td>\n<td>Effacer le bloc s\u00e9lectionn\u00e9.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>c<\/strong><\/td>\n<td>Effacer le bloc s\u00e9lectionn\u00e9 et activer le mode Insertion.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>y<\/strong><\/td>\n<td>Copier le bloc s\u00e9lectionn\u00e9. Utiliser <em>y<\/em> ou <em>Y<\/em> pour coller.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>~<\/strong><\/td>\n<td>Transformer les minuscules en majuscules et vice-versa.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>&gt;<\/strong><\/td>\n<td>Indenter vers la droite (introduire des <em>tab<\/em>).<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>&lt;<\/strong><\/td>\n<td>Indenter vers la gauche.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>!<\/strong>prog<\/td>\n<td>Traiter le bloc avec un <em>prog<\/em> externe (par exemple: <em>sort<\/em>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Rep\u00e8res<\/strong><br \/>\nTr\u00e8s utiles lorsqu&rsquo;on \u00e9dite un long fichier.<\/p>\n<table>\n<tbody>\n<tr>\n<td align=\"center\"><strong>m<\/strong>x<\/td>\n<td>Cr\u00e9ation du rep\u00e8re <em>x<\/em>.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>`<\/strong>x<\/td>\n<td>Aller au rep\u00e8re <em>x<\/em>.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:marks<\/strong><\/td>\n<td>Lister les rep\u00e8res cr\u00e9\u00e9s.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Annulation<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td align=\"center\"><strong>u<\/strong><\/td>\n<td>Annulation de la derni\u00e8re commande.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>Ctrl+r<\/strong><\/td>\n<td>Reprendre la commande annul\u00e9e.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Onglets<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td align=\"center\"><strong>:tabnew<\/strong><\/td>\n<td>Cr\u00e9e un nouvel onglet<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:tabnew<\/strong> f<\/td>\n<td>Ouvre le fichier <em>f<\/em> dans un nouvel onglet<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:tabn<\/strong><\/td>\n<td>Active l&rsquo;onglet suivant<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:tabp<\/strong><\/td>\n<td>Active l&rsquo;onglet pr\u00e9c\u00e9dent<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:tabm<\/strong> n<\/td>\n<td>D\u00e9place l&rsquo;onglet courant vers la position <em>n<\/em>.<br \/>\nLes positions se num\u00e9rotent \u00e0 partir de 0<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:tabdo<\/strong> cmd<\/td>\n<td>Ex\u00e9cute une commande dans chacun des onglets.<br \/>\nUtile pour effectuer un remplacement global.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Pr\u00e9f\u00e9rences<\/strong><br \/>\nOn peut r\u00e9gler les pr\u00e9f\u00e9rences dans vim (ou modifier le fichier ~\/.viminfo).<br \/>\nLes exemples qui suivent ne sont qu&rsquo;un aper\u00e7u. Il y en a trop pour tout couvrir.<\/p>\n<table>\n<tbody>\n<tr>\n<td align=\"center\"><strong>:set tabstop=4<\/strong><\/td>\n<td>R\u00e8gle la largeur d&rsquo;indentation.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:set showcmd<\/strong><\/td>\n<td>Affiche la commande incompl\u00e8te sur la derni\u00e8re ligne.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><strong>:set noshowcmd<\/strong><\/td>\n<td>D\u00e9sactive la pr\u00e9f\u00e9rence ci-dessus.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Conclusion<\/strong><br \/>\nLa liste des commandes de <em>vim<\/em> est beaucoup plus exhaustive que ce qui a \u00e9t\u00e9 montr\u00e9 ici. Cet aide-m\u00e9moire sera utile aux utilisateurs occasionnels de <em>vim<\/em>.<\/p>\n<p><strong>R\u00e9f\u00e9rences<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/yannesposito.com\/Scratch\/fr\/blog\/Learn-Vim-Progressively\/\">Apprenez VIM progressivement<\/a><\/li>\n<li><a href=\"https:\/\/vimebook.com\/fr\">Vim pour les humains<\/a><\/li>\n<li><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>vim est le rempla\u00e7ant du v\u00e9n\u00e9rable vi. Cet \u00e9diteur a \u00e9t\u00e9 con\u00e7u \u00e0 l&rsquo;\u00e9poque o\u00f9 il n&rsquo;y avait ni souris ni touches de fonction (Fn). Il est encore populaire car c&rsquo;est l&rsquo;outil qui vous permettra d&rsquo;\u00eatre le plus performant dans vos t\u00e2ches courantes d&rsquo;\u00e9dition de texte. Sa principale caract\u00e9ristiques est que vos doigts restent toujours &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.technologue.net\/?p=119\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Aide-m\u00e9moire: commandes VIM&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"http:\/\/www.technologue.net\/index.php?rest_route=\/wp\/v2\/posts\/119"}],"collection":[{"href":"http:\/\/www.technologue.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.technologue.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.technologue.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.technologue.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=119"}],"version-history":[{"count":7,"href":"http:\/\/www.technologue.net\/index.php?rest_route=\/wp\/v2\/posts\/119\/revisions"}],"predecessor-version":[{"id":132,"href":"http:\/\/www.technologue.net\/index.php?rest_route=\/wp\/v2\/posts\/119\/revisions\/132"}],"wp:attachment":[{"href":"http:\/\/www.technologue.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.technologue.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=119"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.technologue.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}