94 votes

Comment faire pour que Notepad++ supprime les lignes comme le fait Eclipse ?

Eclipse dispose d'un raccourci clavier qui supprime soit la ligne actuelle (si rien n'est sélectionné), soit toutes les lignes qui font partie du texte actuellement sélectionné : Ctrl + D .

Y a-t-il un moyen de faire Ctrl + D faire la même chose dans Notepad++ ?

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

113voto

Ben C Points 257

Ctrl + Shift + L permettra d'obtenir le même effet.

Ctrl + L supprimera la ligne mais la conservera également dans votre presse-papiers en remplaçant le contenu du presse-papiers.

Je ne suis pas sûr que vous puissiez utiliser Ctrl+D pour faire la même chose ou non. Je n'ai pas vraiment joué avec les mappages clavier de Notepad++, car ils sont très similaires à ceux de Visual Studio.

17 votes

Brillant ! Il ne me reste plus qu'à trouver ce que Ctrl+L est mappé à ... éditer aha, c'est mappé à SCI_LINECUT . C'était littéralement le prochain ordre de Scintilla ci-dessous SCI_LINE_DELETE .

28 votes

Veuillez noter que Ctrl+L coupera la ligne (copiez-la dans votre presse-papiers). Pour supprimer réellement la ligne, il faut Ctrl+Shift+L Cette opération permet de supprimer les lignes sélectionnées sans écraser le presse-papiers.

1 votes

@RØŠÐÎ SCI_LINEDELETE est ce que Ctrl+Shift+L a été mis en correspondance. J'ai essayé mais cela n'a supprimé (sans copier dans le presse-papiers) que la première des lignes sélectionnées, comme dans le cas de l'OP. Est-ce que quelque chose m'échappe ?

25voto

alex Points 251

Je devais cartographier Ctrl + D a les deux SCI_LINEDELETE y SCI_LINECUT afin qu'il se comporte comme Eclipse. J'espère que cela vous sera utile.

Vous devez également désactiver ou relier à nouveau SCI_SELECTIONDUPLICATE pour qu'il n'y ait pas de conflit sur Ctrl + D .
Pour désactiver un raccourci, mettez-le en surbrillance, cliquez sur Modify définir la DropDownList sur None , cliquez Apply d'abord et ensuite Okay .

2 votes

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

1 votes

Lorsque j'affecte le même raccourci aux deux, tout ce qui se passe, c'est qu'il passe de la suppression de la première ligne des lignes sélectionnées à la suppression de la ligne sur laquelle se trouvait le curseur. (J'ai utilisé Ctrl+Shift+D, pour ne pas avoir à me préoccuper de la duplication de la sélection).

15voto

Jonathan Points 1173

La macro est un bon choix ici. Bien que la macro que j'ai créée soit un peu lente (vous pouvez voir un décalage d'un quart de seconde entre l'appui sur CTRL-D et la suppression des lignes sur une grande sélection), elle fonctionne parfaitement sur une sélection d'une seule ligne ou de plusieurs lignes et couvre divers cas délicats.

Donc, ma macro est :

CTRL + J - Si plusieurs lignes sont sélectionnées, elles sont réunies en une seule ligne.
ACCUEIL - 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 à partir 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 lignes que j'ai rencontrés jusqu'à présent lors d'une utilisation intensive de notepad++.

0 votes

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 comprends bien, vous avez déjà marqué tout le texte que vous voulez supprimer avec les trois premières commandes.

11voto

Open Technologist Points 101

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, elle ne supprimera que la ligne où se trouve le curseur et non les lignes en surbrillance.

Ainsi, le moyen le plus simple de supprimer une série de lignes sélectionnées est d'enregistrer une macro avec ces combinaisons de raccourcis clavier :

Ctrl + J

suivi par

Ctrl + Shift + L

Cela permettra d'abord JOIN les lignes sélectionnées, puis DELETE toute la ligne.

C'est meilleur que d'utiliser une combinaison de CUT y DELETE approche comme mentionné ci-dessus (que j'ai essayé) car dans certains cas, il supprimera également les lignes non sélectionnées.

7voto

spuder Points 1655

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 Paramètres sélectionnez Shortcut Mapper .
  2. Dans le Menu principal onglet, définir Join Lines (ligne 26) à Ctrl+Alt+D .
  3. Cliquez sur le bouton Commandes de scintilles onglet.
  4. Définir SCI_LINEDELETE (ligne 90) à Ctrl+D .
  5. Fermez la fenêtre.

Cela vous permet d'obtenir le comportement souhaité avec une petite modification. Vous sélectionnez votre texte, vous lancez la commande Join Lines avec Ctrl+Alt+D , ne libère que le Alt et appuyez sur D à nouveau pour supprimer le texte.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X