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:48] smolski [Comparer 2 fichiers] |
doc:editeurs:vim:vim [01/08/2014 15:32] captnfab [Installation] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Objet : L'éditeur de texte vim ====== | + | ====== vim : éditeur de texte ====== |
- | * Niveau requis : DÉBUTANT | + | * Objet : vim |
- | * Commentaires : //Administrer la rédaction des fichiers de configurations, et plus encore, les pages web et autres...// | + | * Niveau requis : {{tag>débutant}} |
- | * 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]]. | + | * 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 smolski 10-07-2009 19:37:07 | ||
+ | * Testé par 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 !)) | ||
+ | |||
+ | **Nota :** | ||
+ | |||
+ | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
===== Introduction ===== | ===== Introduction ===== | ||
Ligne 9: | Ligne 18: | ||
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 40: | Ligne 51: | ||
==== 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 ==== | ||
Ligne 79: | Ligne 91: | ||
Cela permet de copier de l'un à l'autre. | Cela permet de copier de l'un à l'autre. | ||
- | <code bash> | + | <code user>vim fichier1</code> |
- | vim fichier1</code> | + | |
+ | Puis en mode commande((tapez sur Echap)) : | ||
+ | :split fichier2 | ||
- | Puis : | + | Et on ira d'un fichier à un autre par le mode commande en tapant 2 fois la combinaison de touches : |
- | <code bash> | + | Ctrl w |
- | split fichier2</code> | + | |
- | On ira d'un fichier à un autre en faisant Ctrl-w | + | ===== 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 119: | ||
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 127: | ||
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 153: | ||
Et voilà ! | Et voilà ! | ||
- | //À suivre...// | + | == 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.// | ||
===== 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 153: | Ligne 172: | ||
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]] |
Ligne 160: | Ligne 179: | ||
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 180: | Ligne 199: | ||
===== 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 191: | Ligne 211: | ||
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 222: | Ligne 242: | ||
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 228: | Ligne 249: | ||
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 243: | Ligne 264: | ||
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 278: | Ligne 300: | ||
Pour le voir, dans la console sonnez... heu saisissez : | Pour le voir, dans la console sonnez... heu saisissez : | ||
- | $ vimtutor | + | <code user>vimtutor</code> |
et... laissez-vous guider !\\ | et... laissez-vous guider !\\ | ||
Vous vous retrouverez sur une page en **vim** que vous pouvez modifier en suivant les exercices de base proposés. | 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 ! \\ | + | //De plus... c'est en français, ouaiiiiiiiiiiiiiiiiiiiiis ! :-D \\ |
À consommer sans modération....// | À 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**. | + | 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**. |
==== 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 298: | Ligne 319: | ||
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 318: | Ligne 340: | ||
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 328: | Ligne 349: | ||
* ]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 ====== | + | ===== 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://linux-france.unixtech.be/article/appli/vi/vim/ | ||
+ | * http://www.yolinux.com/TUTORIALS/LinuxTutorialAdvanced_vi.html |