Astuce vim

Tags:: développement :: vim :: orthographe ::

Toujours accroc à l'outil de travail le plus puissant selon moi, j'ai nommé: le terminal, vim est donc comme vous le savez mon EDI (ou IDE pour les anglicistes). Si vous passez à vim pour développer, il faudra avoir certains réflexes et en perdre d'autres. Voici quelques questions qu'on m'a posé et auxquelles j'ai des réponses.

En premier lieu, le chercher/remplacer. Chercher reviens à faire:

  • Echap si vous êtes en édition
  • presser / ou ? pour respectivement chercher après ou avant le curseur
  • taper une expression, un mot...
  • presser Entrer

Pour chercher la suivante occurrence, pressez "n", la précédente "N" (pensez à Next).

Remplacer est plus "tordu" mais relativement simple. Il faut utiliser la commande "s" comme "Substitute. Par défaut, la commande "s" agit sur la prochaine occurrence trouvée:

  • pressez Echap si vous êtes en train d'éditer
  • presser la touche ":" pour faire apparaître la ligne de commande (qui apparaîtra en bas de l'écran à gauche)
  • presser s/chaîne à trouver/chaîne de remplacement/
  • presser Entrer

Évidemment, vous pouvez utiliser des expressions régulière. Pour que la commande agisse sur le fichier complet, utilisez "%":


:%s/expression de départ/expression de remplacement/
 

Maintenant, quelques trucs que j'utilise et qui sont bien pratique.

Commenter un bloc de ligne est une chose fréquente en développement pour activer ou désactiver plusieurs lignes de code. Voici comment je m'y prend avec PHP qui utilise "//" pour le commentaire "one-line".

  • Je me place en début de la première ligne de la section à commenter
  • Je passe en mode "Visual geometry" en pressant Ctrl+v
  • avec les flèches, je sélectionne la première colonne
  • Je presse Maj+I pour passer en insertion visuelle, puis "//" puis Echap.

Une demi seconde plus tard voilà mes "//" sur toutes les lignes que j'ai sélectionné. Pour réactiver les ligne:

  • Echap, Ctrl+v
  • sélection des deux colonne contenant "//"
  • presser "x" (supprimer)

Voilà.

Il existe une autre méthode:

  • Echap, Maj+V
  • Sélection des lignes
  • Presser ":", apparaît alors en bas de page la ligne ":'<,'>"
  • Ajouter s,^,//,
  • Valider avec Entrée

Vous remarquez que j'utilise un autre caractère que "/" après le "s" pour éviter d'avoir à échapper les slash à ajouter...

En fait, la commande "s" fonctionne comme ceci:

  • s
  • caractère de séparation
  • chaine à trouver
  • caractère de séparation
  • chaine de remplacement
  • caractère de séparation
  • modification (g, i...)

Par convention on utilise "/" comme caractère de séparation, mais vous pouvez utiliser n'importe quel caractère qui vous arrange !

Notez: après l'ajout de commentaire il se peut que la colonne 1 soit en surbrillance, faite Echap puis :nohl pour la faire disparaître.

Placer des bookmarks ou "marqueurs" est assez sympa, cela permet de retrouver des lignes rapidement ou de faire des opérations entre deux marques. Pour bookmarker une ligne il suffit de se placer là où vous souhaitez l'ajouter et de presser: Echap puis "mX" où "X" est un caractère de votre choix (a,b,... ou 1,2,...). L'idée étant de "nommer" la marque.

Pour aller à cette ligne, tapez: Echap, puis 'X en replaçant "X" par le nom de la marque. Pour retrouver les marks, pressez Echap, puis ":marks", une liste apparaîtra avec vos marks et celle par défaut.

Alors justement, si nous voulons remplacer des choses entre deux lignes ou deux marques, il suffit d'utiliser un "rang de bornes" qui peut fonctionner dans toutes les commandes vim. En fait, vim fonctionne de cette manière en commande:


:[range] commande
 

Donc par exemple


:2,6 s/foo/bar/
:'a, 'b s/foo/bar/
 

La première ligne remplace "foo" par "bar" de la ligne 2 à la ligne 6. La seconde ligne fait pareil, mais de la marque "a" à la marque "b". C'est finalement pas sorcier !

Correction orthographique

Je ne tape jamais mes articles de blog directement dans le navigateur, mais je passe par vim pour garder le fichier sur mon poste. J'utilise la correction automatique pour enlever un maximum de fautes de grappe (oui j'en laisse plein, j'avoue ne pas le faire tout le temps :))

En fait, durant mon édition de texte, je fais:

  • "Echap: :w" pour sauver
  • :!aspell -c "%"

Cela lance le correcteur orthographique "aspell", il suffit de suivre les indications. Quand cela est terminé, vim me propose de rechercher le fichier pour avoir mes modification en pressant "C".

C'est encore une fois un truc tout bête, j'utilise "!" pour exécuter une commande de terminal. Vous pouvez par exemple utiliser "sort" pour classer le contenu du document en faisant:


:!sort "%" > "%"
 

Allez je vous laisse tranquille pour le moment :)

Utilisez le code barre pour ouvrir le ticket dans votre mobile:
This ticket on you mobile

Pas de commentaire pour le moment

Ajouter un commentaire
Veuillez répondre à la question suivante : Combien font un et deux, indiquez la réponse en chiifre

Trackbacks

Pour ajouter un trackback (retrolien) sur ce ticket, utilisez cette adresse: http://www.metal3d.org/index.php/trackback/default/tb?id=blog%2F230

Tags

Blog Copix Communication PC Config Fedora Vidéo Humour Autre Web Materiel Informatique PHP Développement Mootools HTML Linux WEB IE CSS Vista Microsoft Sympa XHTML Quizz Widget Klik CWE Voeux Bonne année Musique CCRMA Son Audio MAO Reconnaissance vocale Windows Mac Compiz MacOS Mysql Sun Base de données BD Screenlets Screenlet RPM compiz Ubuntu Live FireFox Derambarsh Facebook media informations Sécurité javascript SSH Commande Marketing concours ipod wii QT Trooltech Nokia Libre Logiciels GPL Attali Gnome Dock Compiler Bench undelete reiserfs recovery recover Thread Serveur Optimisation Server Apache Album RSS Flash Air XML Firefox Blender Opensource Orange Internet LiveBox Animaux Droits Logiciels Libres Google Loi RBS netcat Bash Téléphone Spam 3D NIDIA Standards Widgets Merise UML Streaming Developpement Perl MySQL Firewall Parfeu Bayes Novell Réseau Python LVS Salon FTP Dedibox Chrome Administration IRC Gentoo troll video Nouveauté Finance Etudiant spéctacle OpenOffice Javascript Java Info Eclpise ATI design mootools KDE Bureau Design GNU C Pages Jaunes Fun Bijoux Art mail Admin vmware fedora linux VirtualBox VMWare Qemu KVM vim Grep Fglrx Webkit GTK google web JQuery Coup de gueule coup de gueule Lois SVG Raycaster Canvas Hadopi Desktop Jeux Les Sims développement astuces Screen firefox Mobile Safaru Wine bash commande astuce Wave ooc C++ C# Netbook Hercules Bureautique Twitter Safari W3C chrome kazehakaze midori navigateur gecko webkit Links Liens Pyhon Nouvelles Metal Perso Conférence JDLL PCC Roadsend OOC News Acteur Cinéma Chanteur Seven windows orthographe pcc php jdll Slide Application mysql Html twitter python screen curses SVN Android Gphone iPhone OpenGL MindMap Projet Javascrtip Ajax Guitare Tab Tablature JSON firebug Chromium Iphone Titanium music sound android ogg ogv streaming Arkyne svn subversion gnome VLC Tv encoder ffmpeg Cryptage apple microsoft HTML5 Max Apple code youtube quvi git uzbl webgl chromium

  Catalogue professionnel de musique libre


  • twitter entries...
follow me on Twitter

Valid XHTML 1.0 Strict

tumblr visitor