Outils pour utilisateurs

Outils du site


issue56:c_c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue56:c_c [2012/02/06 22:58] fredphil91issue56:c_c [2012/02/07 13:16] (Version actuelle) andre_domenech
Ligne 5: Ligne 5:
 In order to follow the article, I'd highly recommend opening a copy of the file from Pastebin in Vim (or GVim) so you can work along.** In order to follow the article, I'd highly recommend opening a copy of the file from Pastebin in Vim (or GVim) so you can work along.**
  
-Vu le grand intérêt suscité par cette rubrique chez un lecteur, j'ai décidé d'écrire un ou deux autres articles sur Vim (y compris celui-ci). Ce mois-ci je vais m'appuyer sur un exemple concret (dont le fichier peut être trouvé ici : http://pastebin.com/PkNqrqJt). Je vais parler de l'utilisation du mode visuel par bloc, de quelques astuces pour commenter un grand nombre de lignes, de deux ou trois trucs sur l'utilisation de la souriset du copier/coller depuis/vers des programmes externes à partir de/vers Vim. Si vous êtes familier avec tous ces sujets, vous pouvez ignorer cet article.+Vu le grand intérêt suscité par ce sujet chez un lecteur, j'ai décidé d'écrire un ou deux autres articles sur Vim (y compris celui-ci). Ce mois-ci je vais m'appuyer sur un exemple concret (dont le fichier peut être trouvé ici : http://pastebin.com/PkNqrqJt). Je vais parler de l'utilisation du mode visuel par bloc, de quelques astuces pour commenter un grand nombre de lignes, de deux ou trois trucs sur l'utilisation de la souris et du copier/coller depuis/vers des programmes externes à partir de/vers Vim. Si vous connaissez déjà tout ceci, vous pouvez ignorer cet article.
  
-Avant de commencer, je vais vous expliquer brièvement ce qu'est un nombre abondant, afin que chacun puisse à peu près suivre le script. Un nombre abondant est un nombre qui est plus grand que la somme de tous ses diviseurs (un diviseur est un nombre qui divise une valeur sans un reste). Exemple : les facteurs de 12 sont 1,2,3,4,6 ; la somme des diviseurs vaut : 1+2+3+4+6 = 16, et 16>12. Le script calcule simplement quels nombres (compris entre deux valeurs données) sont abondantset lesquels ne le sont pas. La fonction fait partie de ma solution à un problème du Projet Euler.+Avant de commencer, je vais vous expliquer brièvement ce qu'est un nombre abondant, afin que chacun puisse à peu près suivre le script. Un nombre abondant est un nombre qui est plus grand que la somme de tous ses diviseurs (un diviseur est un nombre qui divise une valeur sans un reste). Exemple : les facteurs de 12 sont 1,2,3,4,6 ; la somme des diviseurs vaut : 1+2+3+4+6 = 16, et 16>12. Le script calcule simplement quels nombres (compris entre deux valeurs données) sont abondants et lesquels ne le sont pas. La fonction fait partie de ma solution à un problème du Projet Euler.
  
-Afin de suivre l'article, je vous recommande vivement l'ouverture d'une copie du fichier à partir de Pastebin dans Vim (ou GVim) afin que vous puissiez travailler.+Afin de suivre l'article, je vous recommande vivement l'ouverture d'une copie du fichier à partir de Pastebin dans Vim (ou GVim) pour que vous puissiez travailler avec moi.
  
 **Area 1 (Commenting) **Area 1 (Commenting)
Ligne 34: Ligne 34:
 Section 1 (Commenter) Section 1 (Commenter)
  
-Les programmeurs parmi vous seront familiers avec le concept de commenter tout le code sauf un petit bout que vous voulez testerc'est utile quand les choses ne fonctionnent pas. Mon approche pour ce faire est d'utiliser le mode visuel par bloc. Les étapes sont les suivantes (à partir du début de la première ligne que vous voulez commenter) :+Les programmeurs parmi vous seront familiers avec le concept de commenter tout le code sauf un petit bout que vous voulez tester c'est utile quand les choses ne fonctionnent pas. Pour ce faire, j'utilise le mode Visuel par bloc. Les étapes sont les suivantes (à partir du début de la première ligne que vous voulez commenter) :
  
 <ctrl>+[v];  [j];  <shift>+[i], [#]; [Echap] <ctrl>+[v];  [j];  <shift>+[i], [#]; [Echap]
  
-La première étape passe en mode visuel par bloc, la touche j agit comme la flèche vers le baset <shift>+[i] passe en mode d'insertion pour toutes les lignes sélectionnées. Après ces étapes, vous devez ensuite appuyer sur la touche pour le symbole de commentaire (dans le cas de Python, c'est le dièse). Pour décommenter, consultez la section 2 pour supprimer en mode Visuel par bloc.+La première étape passe en mode visuel par bloc, la touche j agit comme la flèche vers le bas et <shift>+[i] passe en mode insertion pour toutes les lignes sélectionnées. Après ces étapes, vous devez ensuite appuyer sur la touche pour le symbole de commentaire (dans le cas de Python, c'est le dièse). Pour décommenter, consultez la section 2 pour comment supprimer en mode Visuel par bloc.
  
-Le lecteur qui m'a contacté offert le script suivant pour faire la même chose:+Le lecteur qui m'a contacté a proposé le script suivant pour faire la même chose:
  
   " COMMENTER AVEC UN # DANS LES SCRIPTS BASH   " COMMENTER AVEC UN # DANS LES SCRIPTS BASH
Ligne 63: Ligne 63:
 <nowiki><ctrl>+[v]//[v]//[V]; [j]; [#]</nowiki> <nowiki><ctrl>+[v]//[v]//[V]; [j]; [#]</nowiki>
  
-Comme vous pouvez le voir, la seule chose que vous économisez en faisant cela est d'entrer dans le mode insertion et d'en sortir (et peut-être d'avoir à appuyer sur la touche Ctrl). J'ai inclus ce script pour le bien de ceux pour qui toutes les touches comptent. Vous aurez besoin d'ajuster les lignes de substitution pour chaque caractère de commentaire que vous utilisez fréquemment. Pour SQL, vous devriez remplacer if char == "#" par if char == "-" et <nowiki>s/^#//g par s/^-// g</nowiki> (de même pour l'autre commande de substitution). Vous devez également remplacer le dièse dans la ligne vmap, sinon vous allez utiliser le même raccourci pour plusieurs fonctions.+Comme vous pouvez le voir, la seule chose que vous économisez en faisant cela est d'entrer dans le mode insertion et d'en sortir (et peut-être d'avoir à appuyer sur la touche Ctrl). J'ai inclus ce script pour ceux pour qui toutes les touches comptent. Vous aurez besoin d'ajuster les lignes de substitution pour chaque caractère de commentaire que vous utilisez fréquemment. Pour SQL, vous devriez remplacer if char == "#" par if char == "-" et <nowiki>s/^#//g par s/^-// g</nowiki> (de même pour l'autre commande de substitution). Vous devez également remplacer le dièse dans la ligne vmap, sinon vous allez utiliser le même raccourci pour plusieurs fonctions.
  
 **Area 2 (Visual Block Mode) **Area 2 (Visual Block Mode)
Ligne 88: Ligne 88:
 Puisque nous avons parlé de l'insertion dans le mode Visuel par bloc à l'étape 1, je ne vais pas en reparler ici. Puisque nous avons parlé de l'insertion dans le mode Visuel par bloc à l'étape 1, je ne vais pas en reparler ici.
  
-Suppression en mode Visuel par bloc:+Suppression en mode Visuel par bloc :
  
 <nowiki><ctrl>+[v]; [j]//[h]//[l]//[k]; [d]//[x]//[X]</nowiki> <nowiki><ctrl>+[v]; [j]//[h]//[l]//[k]; [d]//[x]//[X]</nowiki>
Ligne 94: Ligne 94:
 La touche à utiliser dans la deuxième étape est entièrement dépendante de la direction dans laquelle vous voulez aller (respectivement vers le bas, la gauche, la droite, le haut). La touche dans la dernière étape est à votre choix, elles font toutes la même chose. La touche à utiliser dans la deuxième étape est entièrement dépendante de la direction dans laquelle vous voulez aller (respectivement vers le bas, la gauche, la droite, le haut). La touche dans la dernière étape est à votre choix, elles font toutes la même chose.
  
-Emporter (copier) du texte en mode Visuel par bloc:+Emporter (copier) du texte en mode Visuel par bloc :
  
-Section d'une ligne:+Section d'une ligne :
 <nowiki>[v]; [h]//[j]//[k]//[l]; [y]; [h]//[j]//[k]//[l]; <ctrl>+[v]; [h]//[j]//[k]//[l]; <shift>+[i]//<shift>+[a]; <ctrl>+[r]+[“]; [Echap]</nowiki> <nowiki>[v]; [h]//[j]//[k]//[l]; [y]; [h]//[j]//[k]//[l]; <ctrl>+[v]; [h]//[j]//[k]//[l]; <shift>+[i]//<shift>+[a]; <ctrl>+[r]+[“]; [Echap]</nowiki>
  
Ligne 125: Ligne 125:
 Section 3 (utilisation de la souris) Section 3 (utilisation de la souris)
  
-Juste un conseil rapide : si vous voulez mettre en évidence quelque chose dans Vim en étant dans le mode Visuel par bloc, maintenez <shift>+<alt> pendant que vous sélectionnez.+Juste un conseil rapide : si vous voulez mettre en évidence quelque chose dans Vim en étant dans le mode Visuel par bloc, appuyez sur <shift>+<alt> pendant que vous sélectionnez.
  
 Section 4 (copier et coller depuis/vers des programmes externes) Section 4 (copier et coller depuis/vers des programmes externes)
  
-Vous avez sans doute remarqué que les méthodes couper et coller fonctionnent uniquement à l'intérieur de Vim. Pour copier du texte depuis Vim vers un autre programme (firefox, par exemple), vous pouvez sélectionner le texte avec la souris et coller avec le bouton central de la souris. Si, toutefois, vous êtes sur un autre ordinateur qui exécute un système d'exploitation différent (ou n'a pas cette fonction), vous pouvez copier du texte dans le presse-papiers du système avec :+Vous avez sans doute remarqué que les méthodes copier et coller fonctionnent uniquement à l'intérieur de Vim. Pour copier du texte depuis Vim vers un autre programme (Firefox, par exemple), vous pouvez sélectionner le texte avec la souris et coller avec le bouton central de la souris. Si, toutefois, vous êtes sur un autre ordinateur qui exécute un système d'exploitation différent (ou n'a pas cette fonction), vous pouvez copier du texte dans le presse-papiers du système avec :
  
 <nowiki>[v]//[V]; [y]; [h]//[j]//[k]//[l]; [“][+][y]</nowiki> <nowiki>[v]//[V]; [y]; [h]//[j]//[k]//[l]; [“][+][y]</nowiki>
  
-Une explication rapide : vous sélectionnez le texte que vous voulez (deux premières étapes), puis vous appuyez sur la touche guillemets (sur les claviers allemands c'est <shift>+[2]), puis sur la touche pluset puis sur la touche y. Faites cela touche après touche, pas tout à la fois. Puis, pour coller dans le programme externe, il suffit d'utiliser <ctrl>+[v], comme d'habitude.+Une explication rapide : vous sélectionnez le texte que vous voulez (deux premières étapes), puis vous appuyez sur la touche guillemets (sur les claviers allemands c'est <shift>+[2]), puis sur la touche plus et puis sur la touche y. Faites cela touche après touche, pas tout à la fois. Puis, pour coller dans le programme externe, il suffit d'utiliser <ctrl>+[v], comme d'habitude.
  
 Coller: Coller:
Ligne 141: Ligne 141:
 C'est tout. Appuyez sur ces 3 touches et cela va coller le presse-papier sur la ligne que vous avez sélectionnée (vous devrez peut-être commencer une nouvelle ligne si c'est ce que vous voulez). C'est tout. Appuyez sur ces 3 touches et cela va coller le presse-papier sur la ligne que vous avez sélectionnée (vous devrez peut-être commencer une nouvelle ligne si c'est ce que vous voulez).
  
-Vous pouvez également régler le presse-papiers sur autoselect, ce qui devrait automatiquement copier dans le presse-papiers système lorsque vous surlignez quelque choseet automatiquement coller à partir du presse-papier lorsque vous appuyez sur le bouton du milieu de la souris.+Vous pouvez également régler le presse-papiers sur autoselect, ce qui devrait automatiquement copier dans le presse-papiers système lorsque vous surlignez quelque chose et coller à partir du presse-papier automatiquement lorsque vous appuyez sur le bouton du milieu de la souris.
  
 **Area 5 (Extra tips) **Area 5 (Extra tips)
Ligne 181: Ligne 181:
 <ctrl>+[z] suspendra une tâche en arrière-plan (testé dans Zsh et Bash). Une fois que vous avez suspendu une tâche, vous pouvez la ré-ouvrir à l'aide de la commande fg dans le terminal. <ctrl>+[z] suspendra une tâche en arrière-plan (testé dans Zsh et Bash). Une fois que vous avez suspendu une tâche, vous pouvez la ré-ouvrir à l'aide de la commande fg dans le terminal.
  
-En touches à appuyer, cela donne :+En frappes, cela donne :
  
 <ctrl>+[z], [f][g][Entrée] <ctrl>+[z], [f][g][Entrée]
Ligne 189: Ligne 189:
 vim -x <nomFichier> vim -x <nomFichier>
  
-Cette commande vous demandera une clé de chiffrement avant de voir le fichier (si le fichier est vide/nouveau, elle stockera le mot de passe que vous entrez).+Cette commande vous demandera une clé de chiffrement avant de voir le fichier (si le fichier est vide/nouveau, elle stockera le mot de passe que vous entrerez).
  
 **Viewing History: **Viewing History:
Ligne 218: Ligne 218:
 [q][:] [q][:]
  
-Cela affichera une liste des commandes passées. Vous pouvez entrer le numéro de la liste afin de faire revenir la commandeou entrer [:][q] pour quitter la liste.+Cela affichera une liste des commandes passées. Vous pouvez entrer le numéro de la liste afin de faire revenir la commande ou entrer [:][q] pour quitter la liste.
  
-Exécuter les commandes du système à partir de Vim :+Exécuter les commandes système à partir de Vim :
  
 [!](commande) [!](commande)
Ligne 265: Ligne 265:
 set tabstop=4 set tabstop=4
  
-Ecrivez ceci dans votre .vimrc, et à chaque fois que vous appuyez sur la touche de tabulation, il insérera en fait jusqu'à 4 espaces.+Ecrivez ceci dans votre .vimrc, et à chaque fois que vous appuierez sur la touche de tabulation, il insérera en fait jusqu'à 4 espaces.
  
-Cela devrait être plus que suffisant pour garder tout le monde occupé jusqu'au mois prochain. Si vous avez des questions, commentaires ou demandes, n'hésitez pas à m'envoyer un courriel à lswest34@gmail.com. Si vous m'écrivez un courriel, s'il-vous-plaît n'oubliez pas d'inclure « C&C » ou « FCM » dans le sujet, de sorte que je ne passe pas à côté.+Cela devrait être plus que suffisant pour garder tout le monde occupé jusqu'au mois prochain. Si vous avez des questions, commentaires ou demandes, n'hésitez pas à m'envoyer un courriel à lswest34@gmail.com. Si vous m'écrivez un courriel, n'oubliez pas d'inclure « C&C » ou « FCM » dans la case Objet, de sorte que je ne passe pas à côté.
  
 Mon fichier .vimrc : http://pastebin.com/wv260CJk Mon fichier .vimrc : http://pastebin.com/wv260CJk
  
-J'espère que vous avez trouvé cet article intéressant. J'ai l'intention de poursuivre dans cette voie le mois prochain. Si vous avez des questions, commentaires ou suggestions, n'hésitez pas à m'envoyer un email à lswest34@gmail.com. Si vous m'envoyez un courriel, s'il-vous-plaît incluez « FCM » ou « C&C » (ou, comme expression régulière : [FFCC][CC&][MMCC]) dans le sujet.+J'espère que vous avez trouvé cet article intéressant. J'ai l'intention de poursuivre dans cette voie le mois prochain. Si vous avez des questions, commentaires ou suggestions, n'hésitez pas à m'envoyer un email à lswest34@gmail.com. Si vous m'envoyez un courriel, prière d'inclure « FCM » ou « C&C » (ou, comme expression régulière : [fFcC][cC&][mMcC]) dans le sujet.
  
issue56/c_c.1328565504.txt.gz · Dernière modification : 2012/02/06 22:58 de fredphil91