web-dev-qa-db-fra.com

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

Eclipse a un raccourci clavier qui supprime la ligne actuelle (si rien n’est sélectionné) ou 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 je puisse faire est de remapper le raccourci vers le SCI_LINE_DELETE de Scintilla, mais cela ne supprime qu'une ligne à la fois, même si la sélection s'étend sur plusieurs lignes.

72
Matt Ball

Ctrl + Shift + L obtiendra le même effet.

Ctrl + L supprimera 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.

88
Anthony Shaw

Je devais cartographier Ctrl+D to bothSCI_LINEDELETE et SCI_LINECUT afin de le faire se comporter comme Eclipse. J'espère que c'est utile.

Vous devez également désactiver ou rapprocher SCI_SELECTIONDUPLICATE afin d'éviter tout conflit Ctrl+D.
Pour désactiver un raccourci, mettez-le en surbrillance, cliquez sur Modifyet définissez DropDownList sur Nonename__, cliquez sur Applypuis sur Okaynom__.

20
alex

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 + MAJ + 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 ++.

14
Jan Domozilov

Il existe un raccourci dans Notepad ++ pour supprimer une ligne: Ctrlname __ + Shiftname __ + 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

Ceci va commencer par JOIN___ les lignes sélectionnées, puis par DELETE___ par la ligne entière.

C'est mieux que d'utiliser une combinaison de CUTet DELETEcomme mentionné ci-dessus (que j'ai essayé) car sur certains cas, il supprimera également les lignes non sélectionnées.

9
Open Technologist

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 le Menu principal tab, définissez Join Lines (ligne 26) sur Ctrl+Alt+D.
  3. Cliquez sur les commandes Scintilla tab.
  4. Définissez 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 touche Alt et appuyez à nouveau sur D pour supprimer le texte.

4
skia.heliou

CTRL + SHIFT + SUPPR fonctionne pour moi bien de supprimer toute une ligne.

0
Zuzu

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. Ensuite, allez à Enregistrer la macro enregistrée actuelle "et choisissez un nom et un raccourci (par exemple, CTRL + SUPPR). Cela réactive le raccourci pour la ligne de suppression.

0
private_meta