Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:editeurs:vim:vim [06/01/2013 12:56] smolski [Comparer 2 fichiers] |
doc:editeurs:vim:vim [07/05/2015 09:08] smolski [Ouvrir 2 fichiers] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Objet : L'éditeur de texte vim ====== | + | ====== vim : éditeur de texte ====== |
+ | |||
+ | * Objet : vim | ||
+ | * Niveau requis : {{tag>débutant avisé}} | ||
+ | * Commentaires : //Administrer la rédaction des fichiers de configurations, et plus encore, les pages web et autres... // | ||
+ | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
+ | * Suivi : {{tag>en-chantier à-compléter}} | ||
+ | * Création par [[user>smolski]] le 10-07-2009 19:37:07 | ||
+ | * Testé par [[user>smolski]] le 10-07-2009 19:37:07 | ||
+ | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=1577 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
- | * Niveau requis : DÉBUTANT | ||
- | * Commentaires : //Administrer la rédaction des fichiers de configurations, et plus encore, les pages web et autres...// | ||
- | * Débutant, à savoir : [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) - ainsi que : [[commande:su | La commande SU]], et une bonne dose de : [[manuel:huile_de_meninges | Huile de méninges]]. | ||
===== Introduction ===== | ===== Introduction ===== | ||
Ligne 9: | Ligne 15: | ||
Vim est un éditeur de texte particulièrement puissant et rapide. | Vim est un éditeur de texte particulièrement puissant et rapide. | ||
- | Son auteur voulait au départ faire un clone libre de [[commande:editeur:vi]], l'éditeur de base sous UNIX, mais tant de nouvelles fonctionnalités ont été ajoutées que l'on peut dire maintenant qu'il s'agit d'un programme véritablement original. | + | Son auteur voulait au départ faire un clone libre de [[:doc:editeurs:vi]], l'éditeur de base sous UNIX, mais tant de nouvelles fonctionnalités ont été ajoutées que l'on peut dire maintenant qu'il s'agit d'un programme véritablement original. |
+ | |||
+ | ------ | ||
===== Installation ===== | ===== Installation ===== | ||
Ben, comme d'habitude : | Ben, comme d'habitude : | ||
- | # aptitude install vim | + | <code root>apt-get install vim</code> |
- | Cela installe 2 paquets. | + | Cela installe 2 paquets. \\ |
Dire oui à la demande et hop ! C'est fait... | Dire oui à la demande et hop ! C'est fait... | ||
Pour un vim complet : | Pour un vim complet : | ||
- | # aptitude install vim-full exuberant-ctags | + | <code root>apt-get install vim-gtk exuberant-ctags</code> |
==== vim-nox ==== | ==== vim-nox ==== | ||
Voilà un vim débarrassé de tout ce qui se rapporte au serveurX ! | Voilà un vim débarrassé de tout ce qui se rapporte au serveurX ! | ||
- | # aptitude install vim-nox vim-scripts exuberant-ctags | + | <code root>apt-get install vim-nox vim-scripts exuberant-ctags</code> |
Et vous pouvez le mettre en éditeur par défaut pour tous avec la commande : | Et vous pouvez le mettre en éditeur par défaut pour tous avec la commande : | ||
- | # update-alternatives --set editor /usr/bin/vim.nox | + | <code root>update-alternatives --set editor /usr/bin/vim.nox</code> |
Trôôôp cool... Merci captnfab ! voir tuto : | Trôôôp cool... Merci captnfab ! voir tuto : | ||
Ligne 33: | Ligne 43: | ||
//droit devant et vent debout, le 'pitaine là...// | //droit devant et vent debout, le 'pitaine là...// | ||
+ | |||
+ | ===== Vimtutor ===== | ||
+ | |||
+ | Les débutants rêvent d'un tuto avec des exemples à tester, vim l'a fait ! | ||
+ | |||
+ | Comme le dit **Melodie** : \\ | ||
+ | //- Le meilleur des tutoriels est déjà là près de vous... Et vous savez quoi... il s'est installé d'office sur vot' pc avec votre install de //**vim**//((sauf avec vim-tiny, mais qui voudrait n'installer que le vim-tiny, franchement ;-) )) via le paquet //''vim-runtime''// !((La commande qui l'indique : <code user>dpkg -L vim-runtime |grep vimtutor</code>))\\ | ||
+ | - Noooooon ?\\ | ||
+ | - Et si mon gars, d'office dans l'office... Tout prêt à vous servir !// | ||
+ | |||
+ | Pour le voir, dans la console saisissez et validez : | ||
+ | <code user>vimtutor</code> | ||
+ | |||
+ | et... laissez-vous guider !\\ | ||
+ | Vous vous retrouverez sur une page en **vim** que vous pouvez modifier en suivant les exercices de base proposés. | ||
+ | |||
+ | //De plus... c'est en français, ouaiiiiiiiiiiiiiiiiiiiiis ! :-D \\ | ||
+ | À consommer sans modération....// | ||
+ | |||
+ | Ou faites des essais en créant des répertoires avec [[:doc:systeme:mkdir]] et des fichiers avec [[:doc:systeme:touch]], puis lancez-vous pour écrire, vous déplacer, copier, supprimer... tout en ligne de commande **vim**. | ||
+ | |||
===== Les modes ===== | ===== Les modes ===== | ||
Ligne 40: | Ligne 71: | ||
==== Le mode normal ==== | ==== Le mode normal ==== | ||
- | Permet le déplacement par les flèches du clavier, la suppression... Mais pour écrire et modifier, il faut passer en mode saisi par la touche i ou sur la touche Inser | + | Permet le déplacement par les flèches du clavier, la suppression... Mais pour écrire et remplacer, il faut passer en mode saisi par la touche ''i'' ou sur la touche ''Inser'' |
==== Le mode saisie ==== | ==== Le mode saisie ==== | ||
- | Le mode saisie s'obtient par la touche i (ou la touche INSER). | + | Le mode saisie s'obtient par la touche ''i'' (ou la touche ''Inser''). |
- | Il permet d'écrire dans le fichier ouvert. | + | Il permet d'écrire dans le fichier ouvert : |
- | $ vim /chemin/de/votre/fichier | + | <code>vim /chemin/de/votre/fichier</code> |
- | À l'ouverture, nous pouvons nous déplacer dans le texte du fichier avec les flèches du clavier où avec les lettres du clavier ghjkl jusqu'à l'endroit où nous désirons intervenir. | + | À l'ouverture, nous pouvons nous déplacer dans le texte du fichier avec les flèches du clavier où avec les lettres du clavier ''g h j k l'' jusqu'à l'endroit où nous désirons intervenir. |
==== Le mode commande ==== | ==== Le mode commande ==== | ||
- | Le mode commande permet d'enregistrer ce que l'on a écrit/modifié, mais aussi de quitter vim, ou de copier/coller, ou d'effacer avec plusieurs options disponibles... et plus encore... à découvrir... | + | Le mode commande permet d'enregistrer ce que l'on a écrit/modifié, mais aussi de quitter vim, ou de copier/coller, ou d'effacer, tout ça avec plusieurs options disponibles et plus encore... A découvrir. |
- | Voir ici pour l'essentiel des commandes identiques à l'éditeur VI : [[manuel:editeur_vi |LES COMMANDES VI]]\\ | + | Voir ici pour l'essentiel des commandes identiques à l'éditeur VI : [[:doc:editeurs:vi |LES COMMANDES VI]]\\ |
Ou un PDF à télécharger ici : http://wiki.chezlefab.net/_media/tuto_nix/vim/vimqrc-fr.pdf\\ | Ou un PDF à télécharger ici : http://wiki.chezlefab.net/_media/tuto_nix/vim/vimqrc-fr.pdf\\ | ||
- | //De chez le captnfab.// Hop ! | + | //De chez le //**captnfab**//.// Hop ! |
- | Attention, en mode commande, les flèches du clavier ne permettent plus les déplacements habituels dans le texte. Il faut utiliser les codes de placement du curseur pour la saisie. | + | Attention, en mode commande, les flèches du clavier ne permettent plus les déplacements habituels dans le texte. Il faut utiliser les codes de placement du curseur pour la saisie. \\ |
- | Voir : les lettres du clavier ghjkl ! | + | Utilisez les lettres du clavier ''g h j k l'' ! |
+ | |||
+ | Pour continuer l'action précédente, taper sur : | ||
+ | - ''Échap'' pour revenir en mode commande, | ||
+ | - puis '':w'' pour enregistrer | ||
+ | - et '':q'' pour quitter wim. | ||
- | Pour continuer l'action précédente, taper sur Échap pour revenir en mode commande, | ||
- | puis :w pour enregistrer | ||
- | et :q pour quitter wim. | ||
Et voilà les modifications faites. | Et voilà les modifications faites. | ||
- | ==== Ouvrir 2 fichiers ==== | + | ===== Ouvrir 2 fichiers ===== |
- | <code bash> | + | <code user>vim fichier1 fichier2</code> |
- | vim fichier1 fichier2</code> | + | |
- | On ira d'un fichier à un autre en tapant :previous et :next | + | On ira d'un fichier à un autre en tapant les touches du clavier '':previous'' et '':next'' |
==== Ouvrir 2 fichiers dans 1 terminal ==== | ==== Ouvrir 2 fichiers dans 1 terminal ==== | ||
- | Cela permet de copier de l'un à l'autre. | + | Cela permet de copier en utilisant les commandes vim de l'un à l'autre. |
+ | |||
+ | <code user>vim fichier1</code> | ||
+ | |||
+ | Puis en mode commande((tapez avant tout sur Echap)) : | ||
+ | :split fichier2 | ||
+ | |||
+ | Et on ira d'un fichier à un autre par le mode commande en tapant 2 fois la touche w tout en gardant la touche Ctrl appuyée : | ||
+ | Ctrl w w | ||
- | <code bash> | + | === split vertical === |
- | vim fichier1</code> | + | |
- | Puis : | + | split ouvre des fenêtres partagées horizontalement. \\ |
- | <code bash> | + | Pour avoir des fenêtres partagées verticalement, la commande est vsplit, soit : |
- | split fichier2</code> | + | :vsplit fichier2 |
- | On ira d'un fichier à un autre en faisant Ctrl-w | + | //Bingo !// LOL |
+ | ===== vimdiff ===== | ||
- | ==== Comparer 2 fichiers ==== | + | la commande **vimdiff** permet de comparer les différences entre les fichiers ouverts par pré-selectionnement automatique. |
- | <code bash> | + | La commande : |
- | vimdiff fichier1 fichier2</code> | + | <code>vimdiff fichier1 fichier2</code> |
- | === TP-diffget === | + | ==== diffget ==== |
- | L'option de la commande diffget permet de recopier les différences entre deux fichiers ouverts avec vimdiff. | + | L'option de la commande **diffget** permet de recopier entre les fichiers les différences préselectionnées par vimdiff. |
Procédure en exemple : | Procédure en exemple : | ||
Éditez 2 fichiers tests écrits différemment l'un de l'autre : | Éditez 2 fichiers tests écrits différemment l'un de l'autre : | ||
- | <code bash> | + | <code user>vim diff1</code> |
- | vim diff1</code> | + | |
et rédiger : | et rédiger : | ||
Ligne 107: | Ligne 146: | ||
Comment allez-vous ? | Comment allez-vous ? | ||
- | Pour le second : | + | Enrregistrez et fermez et pour le second : |
- | <code bash> | + | <code user>vim diff2</code> |
- | vim diff2</code> | + | |
et rédiger : | et rédiger : | ||
Ligne 116: | Ligne 154: | ||
Comment vas-tu ? | Comment vas-tu ? | ||
- | Les ouvrir avec vimdiff : | + | Les ouvrir simultanément avec vimdiff : |
- | <code bash> | + | <code user>vimdiff diff1 diff2</code> |
- | vimdiff diff1 diff2</code> | + | |
Nous obtenons ce terminal qui ne manque pas d'allure : | Nous obtenons ce terminal qui ne manque pas d'allure : | ||
- | {{http://images.debian-facile.org/file-R9c02946c7632d731fdf51dc7c79a669e.png?600}} | + | {{/file-R9c02946c7632d731fdf51dc7c79a669e.png?600}} |
En nous plaçant sur la ligne **Bonjour,** de diff1 nous ouvrons la commande | En nous plaçant sur la ligne **Bonjour,** de diff1 nous ouvrons la commande | ||
Ligne 143: | Ligne 180: | ||
Et voilà ! | Et voilà ! | ||
- | Remerciement à **cthuluh** qui via l'irc a guidé de ses longs bras mes petits doigts vers cette commande; | + | == Nota == |
+ | |||
+ | Nous avons ici en exemple deux fichiers du même répertoire, en cas de chemin de répertoires différents, il faut les indiquer totalement. | ||
+ | |||
+ | ==== diffput ==== | ||
+ | |||
+ | Non, ce n'est pas une commande d'insulte grivoise adressée entre fichiers discordants mais c'est celle qui permet __à l'inverse de diffget__ de remplacer ou de copier les données du fichier actif vers l'autre fichier lorsqu'elles n'y sont pas présentes. | ||
+ | |||
+ | //Remerciement à //**cthuluh**// qui via l'irc a guidé de ses longs bras mes petits doigts vers cette commande.// | ||
- | //À suivre...// | ||
===== Tableaux vim ===== | ===== Tableaux vim ===== | ||
Tableaux divers d'utilisation variées : | Tableaux divers d'utilisation variées : | ||
- | * [[manuel:vim_tableau | vim en tableaux]] //Une toile de maître qui nous sera beaucoup enviée !// LOL | + | * [[:doc:editeurs:vim:tableau | vim en tableaux]] //Une toile de maître qui nous sera beaucoup enviée !// LOL |
Ligne 155: | Ligne 199: | ||
Enregistrer pour réutilisation facile d'une édition de texte complexe faite en série, c'est ici : | Enregistrer pour réutilisation facile d'une édition de texte complexe faite en série, c'est ici : | ||
- | * [[manuel:vim_macro]] | + | * [[:doc:editeurs:vim:macros]] |
===== Vim - La navigation ===== | ===== Vim - La navigation ===== | ||
+ | |||
+ | Pour connaître le chemin du fichier en cours d'édition, utiliser le raccourci : | ||
+ | Ctrl g | ||
+ | |||
Naviguer dans les répertoires sans quitter la commande vim | Naviguer dans les répertoires sans quitter la commande vim | ||
- | * [[manuel:vim_navigation | Parcourir les répertoires avec Vim]] | + | * [[:doc:editeurs:vim:navigation | Parcourir les répertoires avec Vim]] |
Ligne 182: | Ligne 230: | ||
===== TRAVAUX PRATIQUES ===== | ===== TRAVAUX PRATIQUES ===== | ||
- | Pour ces exercices utilisez des répertoires et des fichiers que vous aurez créez dans le home user. Voir les commandes en mode terminal ici : [[manuel:les_commandes_gnu_linux|Commandes Linux]] | + | Pour ces exercices utilisez des répertoires et des fichiers que vous aurez créez dans le home user. Voir les commandes en mode terminal ici : [[:doc:systeme:commandes:gnu_linux|Commandes Linux]] |
test-1/essai-1.txt | test-1/essai-1.txt | ||
+ | |||
et | et | ||
test-2/essai-2.txt | test-2/essai-2.txt | ||
Ligne 193: | Ligne 242: | ||
Depuis votre terminal ouvrez vim sur votre fichier essai-1.txt, soit : | Depuis votre terminal ouvrez vim sur votre fichier essai-1.txt, soit : | ||
- | $ vim test-1/essai-1.txt | + | <code user>vim test-1/essai-1.txt</code> |
Et s'il n'y a pas de texte..? | Et s'il n'y a pas de texte..? | ||
Ligne 224: | Ligne 273: | ||
Allow from 127.0.0.0/255.0.0.0 ::1/128 | Allow from 127.0.0.0/255.0.0.0 ::1/128 | ||
</Directory> | </Directory> | ||
+ | |||
Voilà, c'est un alias afin que sur mon serveur le //sitevideo// soit lu par url. | Voilà, c'est un alias afin que sur mon serveur le //sitevideo// soit lu par url. | ||
Ligne 230: | Ligne 280: | ||
Il me faut d'abord copier ce paragraphe puis le coller dans le même fichier (c'est au plus simple), et changer la route **sitevideo** en **site-resto** cool. | Il me faut d'abord copier ce paragraphe puis le coller dans le même fichier (c'est au plus simple), et changer la route **sitevideo** en **site-resto** cool. | ||
- | En mode commande (taper echap pour vous en assurer...) | + | En mode commande (taper sur //Echap// pour vous en assurer...) taper la lettre : |
- | taper la lettre v | + | v |
- | et appliquez le **TP-01** pour sélectionner tout le paragraphe. | + | |
- | taper y | + | et appliquez le **TP-01** pour sélectionner tout le paragraphe taper : |
- | pour le copier, déplacer le curseur à l'endroit où vous voulez insérer le nouvel alias et | + | y |
- | taper P (majuscule) | + | |
- | pour le coller après. | + | Et pour le coller après, déplacer le curseur à l'endroit où vous voulez insérer le nouvel alias et taper |
+ | Shift (Majuscule) p | ||
Toujours en mode commande, positionner le curseur sur le A de //Alias// du début de ce paragraphe copié (utiliser les lettres ghjkl commandes identiques aux flèches du clavier pour ce faire... hi hi hi). | Toujours en mode commande, positionner le curseur sur le A de //Alias// du début de ce paragraphe copié (utiliser les lettres ghjkl commandes identiques aux flèches du clavier pour ce faire... hi hi hi). | ||
Ligne 245: | Ligne 295: | ||
Lors donc, taper la commande | Lors donc, taper la commande | ||
:s/sitevideo/site-resto/g | :s/sitevideo/site-resto/g | ||
+ | |||
de vos petits doigts graciles, valider et hop ! Le remplacement, c'est tout fait. | de vos petits doigts graciles, valider et hop ! Le remplacement, c'est tout fait. | ||
Ligne 269: | Ligne 320: | ||
Tapez la touche "Echappe" pour revenir en mode Commande. | Tapez la touche "Echappe" pour revenir en mode Commande. | ||
- | ====== Astuces ====== | + | ===== Astuces ===== |
- | + | ||
- | ==== Vimtutor ==== | + | |
- | + | ||
- | Enfin, comme le dit Melodie : | + | |
- | + | ||
- | Pour finir, le meilleur des tutoriels est déjà là près de vous... Et vous savez quoi... il s'est installé d'office sur vot' pc avec votre install de vim-nox !\\ | + | |
- | //- Noooooon ?\\ | + | |
- | - Et si mon gars, d'office dans l'office... Tout prêt à vous servir !// | + | |
- | + | ||
- | Pour le voir, dans la console sonnez... heu saisissez : | + | |
- | $ vimtutor | + | |
- | et... laissez-vous guider !\\ | + | |
- | Vous vous retrouverez sur une page en **vim** que vous pouvez modifier en suivant les exercices de base proposés. | + | |
- | + | ||
- | //De plus... c'est en français, ouaiiiiiiiiiiiiiiiiiiiiis ! \\ | + | |
- | À consommer sans modération....// | + | |
- | + | ||
- | Ou faites des essais en créant des répertoires avec [[commande:mkdir]] et des fichiers avec [[commande:touch]], puis lancez-vous pour écrire, vous déplacer, copier, supprimer... tout en ligne de commande **vim**. | + | |
==== Live ==== | ==== Live ==== | ||
- | A dire vrai, j'ai toujours préféré le direct live genre sur **fstab** ou **interfaces**, fichiers que je manipule souvent et dont je connais bien les arcanes... | + | A dire vrai, j'ai toujours préféré le direct live genre sur **fstab** ou **interfaces**, fichiers que je manipule souvent et dont je connais bien les arcanes... \\ |
Et c'est que du bonheur ensuite... | Et c'est que du bonheur ensuite... | ||
Ligne 300: | Ligne 332: | ||
Par exemple, pour avoir un numérotage des lignes, ouvrir : | Par exemple, pour avoir un numérotage des lignes, ouvrir : | ||
- | # vim /etc/vim/vimrc | + | <code root>vim /etc/vim/vimrc</code> |
et décommenter les lignes (enlever les " devant !) ou les écrire : | et décommenter les lignes (enlever les " devant !) ou les écrire : | ||
set number " Numérotation des lignes | set number " Numérotation des lignes | ||
Ligne 320: | Ligne 353: | ||
On édite le fichier : ~/.vimrc | On édite le fichier : ~/.vimrc | ||
- | nano ~/.vimrc | + | <code root>nano ~/.vimrc</code> |
Liste des raccourcis clavier pour la correction orthographique : | Liste des raccourcis clavier pour la correction orthographique : | ||
- | <code bash> | ||
* z= sur un mot souligné affiche une liste de correction possible. | * z= sur un mot souligné affiche une liste de correction possible. | ||
* zg rajoute un mot dans le dictionnaire | * zg rajoute un mot dans le dictionnaire | ||
Ligne 330: | Ligne 362: | ||
* ]s pour aller au prochain mot mal orthographié | * ]s pour aller au prochain mot mal orthographié | ||
* [s pour le précédent | * [s pour le précédent | ||
- | </code> | ||
- | ====== Conclusion ====== | + | Lien de vimrc configuré grave : |
+ | * [[utilisateurs:captnfab:config:vimrc]] | ||
+ | ===== Conclusion ===== | ||
Ne sous-estimez pas ce logiciel (ni "vous-mêmes" chers debianeux adorés....) c'est tellement plussssssssssssss mieux pour vivre ensuite avec vot' pc... Yep ! | Ne sous-estimez pas ce logiciel (ni "vous-mêmes" chers debianeux adorés....) c'est tellement plussssssssssssss mieux pour vivre ensuite avec vot' pc... Yep ! | ||
- | Voilà le tuto qui m'a permis si brièvement de vous présenter cela : | + | ===== Liens utiles ===== |
- | + | ||
- | http://linux-france.unixtech.be/article/appli/vi/vim/ | + | |
+ | * http://www.linux-france.org/article/appli/vi/vim/ | ||
+ | * http://www.yolinux.com/TUTORIALS/LinuxTutorialAdvanced_vi.html |