Sélection d'une plage de lignes dans Notepad ++


10

Comment sélectionner rapidement une plage spécifique de lignes dans Notepad ++? J'ai un fichier texte qui contient plus d'un million de lignes et je dois en supprimer certains fragments, mais la sélection manuelle des lignes prend trop de temps. Par exemple: je dois sélectionner des lignes de 2000 à 12000, comment faire vite?


1
Question similaire sur Stack Overflow.
trejder

Réponses:


2

J'ai eu une meilleure réponse. Vous pouvez enregistrer une macro (en supprimant par exemple des 10lignes). Exécutez-le ensuite plusieurs fois.

1) Allez à Macro > Start recording

2) maintenez Shiftet appuyez Downpour marquer par exemple des 10lignes. Et supprimez-les.

3) Allez à Macro > Stop Recording

Maintenant que votre macro est enregistrée, vous pouvez la sauvegarder pour une utilisation future.

4) Allez à Macro > Save Current Recording Macro.... Et enregistrez-le avec un nom.

5) Déplacez le curseur sur la ligne que vous souhaitez supprimer après cela, puis allez à Macro > Run A Macro Multiple Times.... Et sélectionnez votre macro et exécutez N-la à votre guise.


C'est une idée! Cela peut fonctionner, merci beaucoup. :)
Mcyg

7

Juste Left Clickune fois en ligne, 2000puis allez en ligne 12000, maintenez Shiftet Left Clickencore.

1) Left Clicken ligne2000

2) Aller à la ligne 12000

3) Shift+ Left Clicken ligne12000


1
Oui, mais je perds la sélection avec ctrl + G. C'est de cela dont je parle, passer de 2000 à 12000 prend des âges.
Mcyg

Les deux solutions fonctionnent grâce! Maux de tête enregistrés

3

Je venais de répondre avec cela dans cette question similaire , mais cela semble être une réponse plus appropriée pour ici, et je suppose que ce titre de question obtiendrait plus de hits ... alors, je poste ici et j'espère que ce n'est pas le cas. t une sorte de faux pas ... (peut-être que ça devrait juste être un lien vers l'autre?)

# File:: selectGOTO.py
#   A N++ Python Script to enhance line selection speed compared to mouse, cursor, page controls.
#   Selects text from the [ start|end ] of current line to [ end|start ] of GOTO line.

# Install using:: Plugins -> Plugin Manager -> Python Script
# Create script using:: Plugins -> Python Script -> New Script -> "selectGoto.py"
# Add to menu:: Plugins -> Python Script -> Configuration -> [select script] [ add ]
# Create shortcut:: [Restart N++]
#   Settings -> Shortcut Mapper -> Plugin Commands -> selectGOTO -> [modify] [ctrl]+[shift]+[g]

# Simple usage:
#   [ctrl]+[shift]+[g] line#
#   Do your operation... (ie: del)

from Npp import *

class startAnchor:
    pos = 0

def selectGOTO( args ):
    endPos = editor.getCurrentPos()
    if( endPos > startAnchor.pos ):
        startAnchor.pos = editor.positionFromLine( editor.lineFromPosition( startAnchor.pos ) )
    else:
        tmp = startAnchor.pos
        startAnchor.pos = endPos
        endPos = tmp
    endPos = editor.getLineEndPosition( editor.lineFromPosition( endPos ) )
    editor.setSel( startAnchor.pos, endPos )
    editor.clearCallbacks()

def main():
    startAnchor.pos = editor.getCurrentPos()
    editor.callback( selectGOTO, [SCINTILLANOTIFICATION.UPDATEUI] )
    notepad.menuCommand( MENUCOMMAND.SEARCH_GOTOLINE )

main()

Génial! Je le cherche depuis des lustres. Cependant, j'ai modifié votre code afin qu'il ne déplace pas le point de sélection initial - ce n'est pas nécessaire. (Code supprimé après if (endPos> startAnchor.pos)).
Nigel Touch

J'ai également créé des versions supplémentaires qui sélectionnent le signet précédent (commande 43007) et le signet suivant (43006) qui me conviennent mieux.
Nigel Touch

0

1) cliquez sur ctrl + g donnez le numéro de ligne à parcourir supposons 2000
2) Cliquez avec le bouton droit puis sélectionnez l'option Début / Fin
3) cliquez sur ctrl + g donnez le numéro de ligne à parcourir supposons 10000
4) Cliquez avec le bouton droit puis sélectionnez l'option Début / Fin
5) Ctrl + c pour copier

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.