12 votos

Seleccionando un rango de líneas en Notepad++

¿Cómo selecciono un rango específico de líneas en Notepad++ rápidamente? Tengo un archivo de texto con más de 1 millón de líneas y necesito eliminar algunos fragmentos de él, pero seleccionar las líneas manualmente lleva mucho tiempo. Por ejemplo: Necesito seleccionar las líneas de la 2000 a la 12000, ¿cómo hacerlo rápidamente?

1 votos

Pregunta similar en Stack Overflow.

9voto

Bewc Puntos 51

Solo haz clic izquierdo una vez en la línea 2000. Luego ve a la línea 12000, mantén presionado Shift y haz clic izquierdo de nuevo.

1) Haz clic izquierdo en la línea 2000

2) Ve a la línea 12000

3) Shift + clic izquierdo en la línea 12000

1 votos

Sí, pero pierdo la selección con ctrl+G. Eso es de lo que estoy hablando, ir de 2000 a 12000 lleva mucho tiempo.

3voto

Vivek Puntos 116

Acabo de responder con esto en esta pregunta similar, pero parece ser una respuesta más adecuada para aquí, y supongo que este Título de la Pregunta atraería más visitas... así que la estoy publicando aquí y esperando que no sea una especie de error... (quizás debería ser solo un enlace al otro?)

# Archivo:: selectGOTO.py
#   Un script de Python de N++ para mejorar la velocidad de selección de líneas en comparación con el mouse, cursor, controles de página.
#   Selecciona texto desde el [inicio|fin] de la línea actual hasta el [fin|inicio] de la línea de GOTO.

# Instalación usando:: Plugins -> Plugin Manager -> Python Script
# Crear script usando:: Plugins -> Python Script -> Nuevo Script -> "selectGoto.py"
# Agregar al menú:: Plugins -> Python Script -> Configuración -> [seleccionar script] [ agregar ]
# Crear atajo:: [Reiniciar N++]
#   Configuración -> Mapeador de Atajos -> Comandos de Plugin -> selectGOTO -> [modificar] [ctrl]+[shift]+[g]

# Uso sencillo:
#   [ctrl]+[shift]+[g] número de línea
#   Realiza tu operación... (por ejemplo: eliminar)

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()

0 votos

¡Genial! He estado buscando eso durante siglos. Sin embargo, he editado tu código para que no mueva el punto de selección inicial, no es necesario. (Se eliminó el código después de if( endPos > startAnchor.pos )).

0 votos

También creé versiones adicionales que seleccionan a Favorito Anterior (comando 43007) y Favorito Siguiente (43006) que me convienen más.

2voto

Bewc Puntos 51

Tengo una respuesta mejor. Podrías grabar una macro (borrando por ejemplo 10 líneas). Luego ejecútala varias veces.

1) Ve a Macro > Comenzar grabación

2) Mantén pulsada la tecla Shift y pulsa Abajo para seleccionar por ejemplo 10 líneas. Y bórralas.

3) Ve a Macro > Detener grabación

Ahora tu macro está grabada, puedes guardarla para usarla en el futuro.

4) Ve a Macro > Guardar Macro Actual.... Y guárdala con un nombre.

5) Mueve el cursor a la línea que deseas borrar después. Luego ve a Macro > Ejecutar una Macro Varias Veces.... Y selecciona tu macro y ejecútala N veces que desees.

0 votos

¡Esa es una idea! Esto puede funcionar, muchas gracias. :)

-1voto

Mahendra Puntos 1

1) Haz clic en ctrl + g y proporciona el número de línea al que quieres ir, por ejemplo 2000
2) Haz clic derecho y selecciona la opción de Inicio/Fin
3) Haz clic en ctrl + g y proporciona el número de línea al que quieres ir, por ejemplo 10000
4) Haz clic derecho y selecciona la opción de Inicio/Fin
5) Ctrl + c para copiar

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X