web-dev-qa-db-fra.com

Bloc-notes ++ Édition multiple

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

Je vais avoir quelques valeurs délimitées par des tabulations. J'ai besoin d'écrire une requête pour toutes ces valeurs. Par exemple, si je reçois un fichier Excel avec des valeurs telles que:

1234 xyz pqr
2345 sdf kkk
...

Je veux copier tout ce morceau de données 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 ++?

86
Anu

Oui: maintenez simplement le bouton enfoncé Alt clé, cliquez et faites glisser pour sélectionner les lignes dont vous souhaitez modifier les colonnes, puis commencez à taper.

Vous pouvez également aller à Paramètres> Préférences ..., et dans l'onglet Édition, activez la fonction d'édition multiple pour permettre la sélection de plusieurs régions ou colonnes de texte distinctes. éditer à la fois.

C'est beaucoup plus intuitif, car vous pouvez voir vos modifications en direct au fur et à mesure que vous tapez.

151
BoltClock

Dans la position où vous souhaitez ajouter du texte, faites:

Shift + Alt + down arrow

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

25
devlin carnate

Vous pouvez utiliser Edit > Column Editor... pour insérer du texte aux lignes actuelle et suivante. Le raccourci est Alt + C.

19
Niels van der Rest

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

Allez dans Paramètres => Préférences => Édition et cochez la case "Activer" dans "Paramètres d'édition multiples" Ensuite, utilisez simplement Ctrl + clic pour utiliser plusieurs curseurs.

Démo des fonctionnalités sur le site officiel ici: https://notepad-plus-plus.org/features/multi-editing.html

16
Balmipour

Vous pouvez ajouter/modifier du contenu sur plusieurs lignes en utilisant le bouton de commande. Ceci est une fonctionnalité d’édition multiple dans Notepad ++, nous devons l’activer à partir des paramètres. Maintenez la touche Ctrl enfoncée, sélectionnez les endroits où vous souhaitez saisir du texte, relâchez la commande et commencez à taper; le texte sera mis à jour à tous les endroits sélectionnés précédemment.

 enter image description here

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

11
MoHaN K RaJ

Notepad ++ dispose d'un puissant moteur 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" 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++ replace window screenshot

7
Alberto De Caro

La méthode la plus simple pour résoudre votre problème (sans passer par un autre éditeur ni apprendre les expressions rationnelles) consiste à enregistrer une macro.

  • Placez le curseur au début de votre texte, cliquez sur le bouton "enregistrer" dans le ruban, puis modifiez uniquement cette ligne de texte. Vous ne pouvez utiliser que les touches fléchées ou les touches ctrl + flèches pour vous déplacer entre 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 'Exécuter la macro plusieurs fois' pour le refaire, puis encore et encore ...: P
L’un des avantages de cette fonctionnalité par rapport aux curseurs 'multi-édition' est qu’il n’est pas nécessaire de cliquer et de placer manuellement les curseurs sur chaque ligne. Le deuxième avantage est que vous pouvez travailler avec des données délimitées par des tabulations qui n'ont pas une taille/longueur cohérente - utilisez simplement les touches ctrl + gauche/droite pour ignorer les mots.

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

5
cr45hin

Notepad ++ a uniquement l'édition de colonnes. Ce n'est pas complètement la même chose que plusieurs curseurs.

Sublime Text a une merveilleuse implémentation de cela, ça vaut peut-être la peine 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

Édition: Apparemment, l'édition multi-curseur de Notepad ++ version 6.x a été ajoutée, mais il existe encore quelques fonctionnalités plus avancées pour Sublime, telles que "sélectionner l'occurrence suivante".

1
Wouter

Vous pouvez utiliser le plug-in ConyEdit pour le faire . Avec ConyEdit exécuté en arrière-plan, procédez comme suit:

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