Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outils Discussion :

Notepad++ : guide pratique


Sujet :

Outils

  1. #1
    Rédacteur

    Notepad++ : guide pratique


    Nicolas Liautaud vous propose une série d'articles pensés sous forme de Wiki sur l'éditeur de texte Notepad++.
    Cette série d'articles vous permettra de découvrir ou de redécouvrir les fonctionnalités les plus intéressantes de cet éditeur.



    Merci de faire part de vos remarques et commentaires sur ces articles.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  2. #2
    Membre éprouvé
    J'ai mis le chapitre sur les REGEX en favori, merci pour ton travail
    The greatest shortcoming of the human race is our inability to understand the exponential function. Albert A. Bartlett

    La plus grande lacune de la race humaine c'est notre incapacité à comprendre la fonction exponentielle.

  3. #3
    Rédacteur

    C'est intéressant, car c'est aussi le chapitre qui m'a fait découvrir la série d'article. Et c'est la première fois que je trouve un tuto vraiment explicite sur l'utilisation des expressions régulières dans Notepad++.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    ► Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  4. #4
    En attente de confirmation mail
    Je ne peux que vous féliciter de participer à mieux faire connaître Notepad++ qui est un outil digne d'un vrai programmeur !

  5. #5
    Membre à l'essai
    Excellent, il manque un truc
    Excellent,

    Il manque un truc super pratique que j'utilise tout le temps, c'est le remplacement avec expression régulière + variable

    Quand on remplace "quelquechose(.*)blablabla" par "autrechose\1blablabla"

    exemple : si on veut remplacer tous les "i = (.*);" par "truc.setI(\1);

  6. #6
    Rédacteur

    Si tu penses que quelque chose manque, tu peux tout à fait le proposer ici : Contribuez à l'enrichissement de la nouvelle FAQ Notepad++.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Invité
    Invité(e)
    Excellent !!!!

  8. #8
    Candidat au Club
    Excellent
    Où se trouve le pdf avec l'article complet ?
    Je ne voie que n pdf distincts pour chaque chapître.

    Merci

  9. #9
    Expert confirmé
    Citation Envoyé par Bovino Voir le message
    Si tu penses que quelque chose manque...
    Et si on trouve que quelque chose n'est pas tout à fait correct ?

    Citation Envoyé par jmnicolas Voir le message
    J'ai mis le chapitre sur les REGEX en favori, merci pour ton travail
    C'est aussi un des premiers chapîtres que je suis allé voir parce que je suis fan des regex (et que Notepad++ s'est grandement amélioré depuis la 6.0 apparement (mars 2012, même si j'ai l'impression que ça fait plus longtemps que ça)).

    Et je ne suis pas du tout d'accord avec sa phrase de présentation :
    Notepad++ (ou plus précisément sa composante Scintilla) ne prend en compte que la syntaxe de base des expressions régulières, mais permet déjà un très grand nombre d'opérations.
    Le moteur de regex de Notepad++ ne prend pas en compte que la syntaxe de base des regex (dans ses premières versions oui, c'était même risible). Il utilise désormais une syntaxe perl-like (PCRE : Perl Compatible Regular Expressions) très poussée, tant dans la recherche que dans le remplacement.

    Quelques exemples en vrac :
    • les "backreferences" dans la recherche : il est possible de réutiliser un groupe existant dans la regex
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      regex : (\w{3})\1 (match tout motif de 3 caractères répété 2 fois)
      texte :
      source         |   résultat
      abcabc abcdef  |   abcabc
    • "zero-width positive lookahead" :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      regex : ^(?=.+) (match tout début de ligne possédant au moins un caractère, le fait d'accepter une expression non fixe (.+) n'est pas géré par tous les moteurs de regex)
      remplacement : '- '
      texte :
      source   | résultat
      abc      | - abc
      def      | - def
               | 
      ghi      | - ghi
    • "zero-width positive lookbehind" :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      regex : (?<=.)$ (match toute fin de ligne précédée d'un caractère)
      remplacement : .
      texte :
      source   | résultat
      abc      | abc.
      def      | def.
               | 
      ghi      | ghi.
    • remplacement en majuscule :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      regex : \b(?:(a\w*)|(\w+))\b (match séparément les mots commençant par un "a" des autres)
      remplacement \u$1\U$2 (mets en majuscule la première lettre des mots commençant par "a" ou tout le mot pour les autres)
      texte :
      source   | résultat
      abc      | Abc
      def      | DEF
      ghi      | GHI


    Tous ces exemples ne sont possibles que sur un moteur de regex assez évolué et je trouve que la phrase qu'il a mise peut induire en erreur un lecteur qui aurait utilisé Notepad++ dans ses anciennes versions (ou qui n'aurait pas mis à jour) où effectivement la gestion des expressions régulières était extrèmement basique (.* accepté, .+ non reconnu par exemple).

    Je crois qu'il est important de rendre cet hommage à Notepad++ qui a fait l'effort d'intégrer un moteur de regex très performant dans son processus de recherche/remplacement (il est assez impressionnant par sa rapidité sur de gros documents (200/300Mo)).

    Avant j'utilisais jEdit pour faire tous mes remplacements par regex, maintenant c'est beaucoup plus rare, sauf quand il faut faire des calculs (numérotation incrémentielle, ...).

  10. #10
    Rédacteur

    Merci Loceka pour ces précisions, elles ont été ajoutées en note dans l'article !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Expert confirmé
    Y'a pas de quoi

    Si je reviens ici c'est justement parce que je viens d'avoir un cas qu'il n'est pas possible (à ma connaissance) de résoudre facilement avec un chercher/replacer dans Notepad++.

    Dans une feuille de style XSL, je voudrais afficher dans quelle template je me trouve. Or une template peut être déclarée par nom ou par match et avoir un mode (les attributs pouvant être mis dans n'importe quel ordre) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:template name="test">...</xsl:template>
    <xsl:template match="test">...</xsl:template>
    <xsl:template name="test" mode="test">...</xsl:template>
    <xsl:template mode="test" match="test">...</xsl:template>
    Il me faut donc afficher le nom ou ce que match la template ainsi que son mode, et le plus simple est de capturer toute la déclaration de la balise template : <xsltemplate.*?)>.

    Jusque là, ça va, c'est pas trop compliqué. Le problème c'est l'affichage : il faut absolument que je remplace les guillemets dans par des entités (&#34; en l'occurence), pour avoir un résultat du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:template name="test" mode="test">
      <xsl:value-of select="'template name=&#34;test&#34; mode=&#34;test&#34;'" />
    </xsl:template>
    Il faudrait donc être en mesure de dire à Notepad++ : remplace toute les déclarations de template par elle même + le value-of en substituant les " par la chaîne &#34;.

    Eh bien ça je sais pas faire dans Notepad++, obligé de prendre jEdit.

    PS:
    Je ne sais pas si mon message a réellement sa place dans ce post mais c'était pour illustrer une limitation possible au chercher/remplacer de Notepad++ qui est pourtant faisable dans un autre éditeur.

  12. #12
    Membre averti
    Bonjour
    merci pour ce tuto
    j'utilise Notepad++ à mon travail car installé systématiquement sur tous les postes et c'est vraiment pratique.

    à la "maison" sous Linux je l'utilise avec Wine, mais je préfère SciTE qui lui ressemble dans les fonctionnalités, peut-être moins dans le paramétrage.

  13. #13
    Membre averti
    Bonjour
    les versions hors lignes pdf epub ne semblent pas fonctionner

  14. #14
    Rédacteur

    Le(s)quel(s) ?
    Ceux que je viens de tester fonctionnent correctement.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  15. #15
    Membre averti
    bonsoir
    par exemple

    http://nliautaud.developpez.com/tuto...dplusplus.epub

    par exemple il n'y a que quelques pages et le sommaire ne renvoie nul part.

    j'ai essayé sur un sony reader et avec epubReader addon de firefox

    bien à vous

  16. #16
    Membre à l'essai
    Citation Envoyé par JLTourne Voir le message
    Excellent
    Où se trouve le pdf avec l'article complet ?
    Je ne voie que n pdf distincts pour chaque chapître.

    Merci
    Bonjour,
    oui un PDF complet serait très appréciable.
    Merci.

  17. #17
    Membre régulier
    Un eBook complet serait sympa
    Je suis d'accord avec joreveur. Je lis pas mal de trucs sur Python en eBook sur ma liseuses dans les transports parisiens (c'est comme cela que je suis tombé sur ce tuto - j'utilise Notepad++ depuis Mathus., bien avant de me mettre au Python, mais en blaireau !), et c'est une bonne utilisation du temps que j'y passe.
    Ça serait vraiment sympa d'avoir, à propos de Notepat++, plus que cette intro.
    D'ailleurs, est ce que vaut vraiment le coup de faire un fichier epub pour trois pages ?
    En tout cas, bravo pour les infos sur site nliautaud.fr (en attendant qu'on puisse lire dans le métro - mais je suis pas très 4G, et elles n'est pas encore là).

  18. #18
    Candidat au Club
    cauchemar notpad++ wampserver
    Bonjour Madame,Monsieur

    je suis un papy de 77 ans

    Depuis des années j’utilise notpad++ version 7.9.2 sans problème

    Microsoft a imposé sa nouvelle version internet explorer 11 et depuis c’est la catastrophe.

    Un véritable cauchemar , un enfer depuis 2 semaines, j’ai réinstallé 4 à 6 fois windows 7 pro 64 bits et toujours le même problème
    c’est désespérant

    Voilà mon cauchemar, pour passer mon temps j’ai un site web en PHP, avant avec notpad++ je pouvait changer le background-color en différente couleurs ça marchait très bien
    Avec internet explorer 11 c’est terminé plus de changement de couleurs, notpad++ n'enregistre pas le css

    Avec wamp version 2.2 c’était ok , maintenant idem avec localhost pas de changement de couleur de fond de page.

    pas de changement avec ctrl + F5 et ni avec F5

    je vous serais très reconnaissant de trouver une solution à ce problème

    Bien cordialement

  19. #19
    Membre confirmé
    Bonjour,

    Super boulot, serait t'il possible que l'export PDF prennent tous les chapitres dans un seul PDF.

    Merci

  20. #20
    Expert éminent sénior
    Perte du menu "compléments"
    Bonjour,

    suite à un changement de PC, je suis sous Windows 7 home edition 64-bit et j'ai installé Notepad++ 7.6 (build du 12/11/2018) en mode "administrateur".

    Il fonctionne très bien et j'ai bien accès au menu "Compléments".

    Par contre, en mode utilisateur, ce menu n’apparaît plus.



    Aurais-je fait une fausse manip ?

    Merci de m'aider.

    Emmanuel
    Pas de Wi-Fi à la maison : CPL

###raw>template_hook.ano_emploi###