Bloc-notes ++ Multi édition

Comment puis-je avoir plusieurs curseurs dans Notepad ++?

Je vais avoir quelques valeurs délimitées par des tabulations. Je dois écrire une requête pour toutes ces valeurs. Par exemple, si je reçois un fichier Excel avec des valeurs comme celles-ci:

1234 xyz pqr 2345 sdf kkk ... 

Je veux copier toute cette donnée dans Notepad ++ et écrire la requête, en insérant toutes les valeurs en même temps.

Comme ça:

 Insert into tbl (1234, xyz) where clm = 'pqr' Insert into tbl (2345, sdf) where clm = 'kkk' ... 

Je le faisais avec mon ancien éditeur de texte Ultraedit. Cela peut-il être fait en utilisant Notepad ++?

Oui: appuyez simplement sur la touche Alt et maintenez-la enfoncée, cliquez et faites glisser pour sélectionner les lignes dont vous souhaitez modifier les colonnes et commencez à taper.

Vous pouvez également aller dans Paramètres> Préférences … et, dans l’onglet Modification , activez la modification multiple pour permettre la sélection de plusieurs régions ou colonnes de texte distinctes à modifier simultanément.

C’est beaucoup plus intuitif, car vous pouvez voir vos modifications en direct à mesure que vous tapez.

Dans la position où vous voulez append du texte, faites:

Shift + Alt + down arrow

et sélectionnez les lignes que vous souhaitez. Puis tapez. Le texte que vous tapez est inséré sur toutes les lignes que vous avez sélectionnées.

Vous pouvez utiliser Edit > Column Editor... pour insérer du texte sur les lignes actuelles et suivantes. Le raccourci est Alt + C.

Notepad ++ gère également plusieurs curseurs maintenant.

Allez dans Settings => Preferences => Editing et cochez “Enable” dans “Multi edit settings” Ensuite, utilisez simplement Ctrl + click pour utiliser plusieurs curseurs.

Démonstration sur le site officiel ici : https://notepad-plus-plus.org/features/multi-editing.html

Notepad ++ dispose d’un puissant moteur de regex, capable de rechercher et de remplacer des motifs à volonté.

Dans votre scénario:

  1. Cliquez sur l’élément de menu Rechercher \ Remplacer …

  2. Remplissez le champ “Rechercher quoi” avec le modèle de recherche:

     ^(\d{4})\s+(\w{3})\s+(\w{3})$ 
  3. Remplissez le motif de remplacement:

     Insert into tbl (\1, \2) where clm = \3 
  4. Cliquez sur le bouton Replace All .

Et c’est tout.

NotePad ++ remplace la capture d'écran de la fenêtre

Vous pouvez append / modifier du contenu sur plusieurs lignes en utilisant le bouton de commande. Ceci est multi-édition dans Notepad ++, nous devons l’activer à partir des parameters. Maintenez le bouton Ctrl enfoncé, sélectionnez les endroits où vous voulez entrer du texte, relâchez le contrôle et commencez à taper, cela mettra à jour le texte à tous les endroits sélectionnés précédemment.

entrer la description de l'image ici

Réf: http://notepad-plus-plus.org/features/multi-editing.html

La méthode la plus simple pour résoudre votre problème (sans passer par un éditeur ou une regex d’apprentissage différent) consiste à enregistrer une macro.

  • Placez votre curseur au début de votre texte, cliquez sur le bouton «Enregistrer» dans le ruban, puis modifiez simplement cette ligne de texte. Vous ne pouvez utiliser que les touches fléchées ou les touches fléchées Ctrl + pour déplacer les caractères / mots plutôt que de cliquer avec votre souris. Les touches “home” et “end” sont également utiles.
  • Lorsque vous avez terminé avec cette ligne, déplacez votre curseur (à nouveau sans utiliser la souris) au début de la ligne suivante.
  • Cliquez sur le bouton “Arrêter l’enregistrement”.
  • Cliquez sur le bouton “play macro” pour vérifier que cela fonctionne comme prévu sur la ligne suivante.
  • Cliquez sur le bouton “Exécuter plusieurs fois la macro” pour le refaire, puis encore et encore …: P

L’un des avantages de cette méthode par rapport aux curseurs «multi-édition» est que vous n’avez pas à cliquer et à placer manuellement des curseurs sur chaque ligne. Le second avantage est que vous pouvez travailler avec des données délimitées par des tabulations sans taille / longueur cohérente – utilisez simplement ctrl + left / right pour ignorer les mots.

Honnêtement, les macros en N ++ ont sauvé environ un an de ma vie.

Notepad ++ dispose uniquement de l’édition de colonne. Ce n’est pas tout à fait la même chose que plusieurs curseurs.

Sublime Text a une implémentation merveilleuse de cela, pourrait être intéressant de vérifier …
C’est un éditeur relativement récent (2011) qui gagne rapidement en popularité: http://www.google.com/trends/explore#q=Notepad%2B%2B%2C%20Sublime%20Text&cmpt=q

Edit: Apparemment, quelque part autour de Notepad ++, la version multi-curseur de la version 6.x a été ajoutée, mais il y a encore quelques fonctionnalités plus avancées dans Sublime, comme “sélectionner l’occurrence suivante”.

Pour ce faire, vous pouvez utiliser le plug-in ConyEdit. ConyEdit étant exécuté en arrière-plan, procédez comme suit:

  1. utilisez la ligne de commande cc.spc /\t/ a pour fractionner le texte en colonnes et les stocker dans un tableau à deux dimensions.
  2. utilisez la commande cc.p pour imprimer, en utilisant le contenu du tableau.