Comment puis-je supprimer les lignes du Bloc-notes ++ comme le fait Eclipse?


74

Eclipse a un raccourci clavier qui supprime la ligne en cours (si rien n’est sélectionné) ou toutes les lignes qui font partie du texte actuellement sélectionné: Ctrl+ D.

Est-il possible de faire Ctrl+ Dla même chose dans Notepad ++?

Le mieux que je puisse faire est de remapper le raccourci vers celui de Scintilla SCI_LINE_DELETE, mais cela ne supprime qu'une ligne à la fois, même si la sélection s'étend sur plusieurs lignes.

Réponses:


93

Ctrl+ Shift+ Laura le même effet.

Ctrl+ Lsupprimera la ligne mais la conservera également dans votre presse-papiers, en remplacement du contenu du presse-papiers.

Je ne sais pas si vous pouvez mapper Ctrl + D pour faire la même chose ou non. Les mappages de clavier avec Notepad ++ ne me sont pas vraiment dérangés, car ils ressemblent beaucoup à ceux de Visual Studio.


14
Brillant! Maintenant, je dois juste trouver ce qui Ctrl+Lest mappé sur ... edit aha, c’est mappé sur SCI_LINECUT. C'était littéralement la prochaine commande Scintilla ci-dessous SCI_LINE_DELETE.
Matt Ball

26
S'il vous plaît noter que Ctrl+Lva couper la ligne (copiez-le dans votre presse-papiers). Pour supprimer réellement la ligne Ctrl+Shift+L, cela supprimera les lignes sélectionnées sans écraser votre presse-papiers.
Rosdi

1
@ RØŠÐÎ SCI_LINEDELETEest ce qui a Ctrl+Shift+Lété mappé. J'ai essayé cela, mais il a seulement supprimé (sans copier dans le presse-papier) la première des lignes sélectionnées, similaire à OP. Est-ce que je manque quelque chose?
Jinglesthula

4
Pourquoi est-ce pas dans le menuEdit > Line Operations
aliopi

20

Je devais mapper Ctrl+ Dà la fois SCI_LINEDELETE et SCI_LINECUTafin de le faire se comporter comme Eclipse. J'espère que c'est utile.

Vous devez également désactiver ou relier SCI_SELECTIONDUPLICATEafin d' éviter tout conflit sur Ctrl+ D.
Pour désactiver un raccourci, mettez-le en surbrillance, cliquez sur Modifydéfinir la DropDownList sur None, cliquez d' Applyabord, puis Okay.


1
Comment se fait-il que les deux soient nécessaires?
Jonathan Benn

1
Lorsque je mappe le même raccourci sur ces deux éléments, il ne supprime que la première ligne des lignes sélectionnées et ne supprime que celle sur laquelle se trouvait le curseur. (J'ai utilisé Ctrl + Shift + D, je n'ai donc pas à m'inquiéter de la reliure en double de la sélection.)
jinglesthula

14

La macro est un bon choix ici. Bien que la macro que j’ai eue avec un peu de retard (vous pouvez voir un décalage d’un quart de seconde entre le hit de CTRL-D et la suppression de lignes sur une grande sélection), elle fonctionne à la fois sur une seule ligne et sur plusieurs lignes et couvre cas délicats.

Donc, ma macro est:

CTRL + J - Si plusieurs lignes sont sélectionnées, elles sont jointes en une seule ligne
HOME - le bouton HOME habituel. Amène le curseur au début d'une ligne (ou au début d'une ligne jointe)
SHIFT + END - sélectionne la ligne jusqu'à la fin en partant de la position du curseur
CTRL + SHIFT + L - supprime la ligne entière

Cet ensemble d’actions couvre tous les scénarios possibles de suppression de ligne que j’ai rencontrés jusqu’à présent lors d’une utilisation intensive de notepad ++.


Je sais que j'ai quelques années de retard, mais cette macro ne fonctionnerait-elle pas aussi bien avec simplement DELETE au lieu de CTRL + SHIFT + L comme dernière commande? Si je vous ai bien compris, vous avez déjà marqué tout le texte que vous voulez supprimer avec les trois premières commandes.
Bjarte Aune Olsen

9

Il existe un raccourci dans Notepad ++ pour supprimer une ligne: Ctrl+ Shift+ L.. mais cela ne supprimera qu'une seule ligne.

Même si plusieurs lignes sont sélectionnées, cela supprimera uniquement la ligne sur laquelle repose le curseur et non les lignes en surbrillance.

Ainsi, le moyen le plus simple de supprimer une série de lignes sélectionnées consiste à enregistrer une macro avec les raccourcis clavier suivants:

Ctrl+J

suivi par

Ctrl+ Shift+L

Ce sera d'abord JOINles lignes sélectionnées, puis DELETEla ligne entière.

C’est mieux que d’utiliser une combinaison de CUTet DELETEapproche comme mentionné ci-dessus (ce que j’ai essayé) car dans certains cas, cela supprimera également les lignes non sélectionnées.


4

Comme alternative non macro à la réponse de @Jan Domozilov, j'ai suivi ces étapes (en utilisant Notepad ++ v6.5.1 (UNICODE)):

  1. Dans le menu Paramètres , sélectionnez Shortcut Mapper.
  2. Dans l' onglet Menu principal , définissez Join Lines(ligne 26) sur Ctrl+Alt+D.
  3. Cliquez sur l' onglet Commandes Scintilla .
  4. Réglez SCI_LINEDELETE(ligne 90) sur Ctrl+D.
  5. Ferme la fenêtre.

Cela vous permet d’effectuer le comportement souhaité avec une petite modification. Vous sélectionnez votre texte, exécutez la commande Joindre les lignes avec Ctrl+Alt+D, ne relâchez que la Alttouche, puis appuyez à Dnouveau pour supprimer le texte.


0

Un autre moyen plus simple consiste à utiliser le backspacebouton après la sélection, cela remplacera la ligne sélectionnée par un retour arrière.


-1

Vous pouvez utiliser CTRL + SUPPR pour supprimer tout le contenu d'une ligne. Il ne vous reste plus qu'à utiliser DELETE pour supprimer le saut de ligne. Si cela ne vous suffit pas, vous pouvez créer une macro pour effectuer les deux actions.

Comme il semble avoir cessé de fonctionner dans la dernière version, je vous recommande d'utiliser l'approche Macro pour l'ensemble du problème. Allez à Macro, "Démarrer l'enregistrement", puis appuyez sur "Accueil", "Shift" + "FIN", "SUPPRIMER", "SUPPRIMER", puis allez à Macro et arrêtez votre macro. Après cela, allez à "Enregistrer la macro enregistrée actuelle" et choisissez un nom et un raccourci (par exemple, CTRL + SUPPR). Cela réactivera le raccourci pour la ligne de suppression.


Ctrl+Deletene supprime pas les lignes dans Notepad ++ pour moi (je n’ai remappé aucune touche autre que Ctrl+D).
Matt Ball

Quelle version de Notepad ++ utilisez-vous? Cela fonctionne sur Notepad ++ 5.8.2 sous Win7
private_meta

5.8.7 (la dernière version) sur Win7 x64. Vouliez-vous dire Ctrl+Backspace? (ça ne marche pas non plus pour moi)
Matt Ball

Ah, je viens de le tester avec 5.8.7, et ça n'a pas marché non plus, laissez-moi voir
private_meta

J'ai mis à jour ma réponse
private_meta

-1

CTRL + SHIFT + DELDETE me permet de supprimer une seule ligne.


2
L'OP veut supprimer toutes les lignes qui font partie du texte actuellement sélectionné . Votre raccourci ne supprime que la première ligne d'une sélection.
Nixda
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.