¿Cómo hago que Notepad ++ elimine líneas como lo hace Eclipse?

74

Eclipse tiene un método abreviado de teclado que elimina la línea actual (si no se selecciona nada) o todas las líneas que forman parte del texto seleccionado actualmente: Ctrl+ D.

¿Hay alguna manera de hacer que Ctrl+ Dhaga lo mismo en Notepad ++?

Lo mejor que puedo hacer es reasignar el acceso directo a Scintilla SCI_LINE_DELETE, pero eso solo elimina una línea a la vez, incluso si la selección abarca varias líneas.

Matt Ball
fuente

Respuestas:

93

Ctrl+ Shift+ Llogrará el mismo efecto.

Ctrl+ Leliminará la línea pero también la mantendrá en su portapapeles reemplazando el contenido del portapapeles.

No estoy seguro de si puede asignar Ctrl + D para hacer lo mismo o no. Realmente no me he metido con las asignaciones de teclado con Notepad ++ ya que son muy similares a las de Visual Studio

Anthony Shaw
fuente
14
¡Brillante! Ahora solo tengo que encontrar lo que Ctrl+Lestá asignado a ... editar aha, está asignado a SCI_LINECUT. Ese fue literalmente el siguiente comando de Scintilla a continuación SCI_LINE_DELETE.
Matt Ball
26
Tenga en cuenta que Ctrl+Lcortará la línea (cópiela en su portapapeles). Eliminar realmente la línea es Ctrl+Shift+L, esto eliminará las líneas seleccionadas sin sobrescribir su portapapeles.
Rosdi
1
@ RØŠÐÎ SCI_LINEDELETEes a lo que Ctrl+Shift+Lse asignó. Lo intenté pero solo eliminó (sin copiar en el portapapeles) la primera de las líneas seleccionadas, similar a OP. ¿Me estoy perdiendo de algo?
jinglesthula
44
¿Por qué no está esto en el menúEdit > Line Operations
Aliopi
20

Tuve que asignar Ctrl+ Da ambos SCI_LINEDELETE y SCI_LINECUTpara que se comportara como Eclipse. Espero que esto sea útil.

También debe deshabilitar o volver a vincular SCI_SELECTIONDUPLICATEpara que no haya conflicto en Ctrl+ D.
Para deshabilitar un acceso directo, resáltelo, haga clic en Modifyestablecer DropDownList en None, haga clic Applyprimero y luego Okay.

alex
fuente
1
¿Cómo es que ambos fueron requeridos?
Jonathan Benn
1
Cuando asigno el mismo acceso directo a ambos, todo lo que sucede es que cambia de eliminar solo la primera línea de las líneas seleccionadas a eliminar solo la línea en la que estaba el cursor. (Utilicé Ctrl + Shift + D, así que no tuve que preocuparme por la selección del enlace duplicado.)
jinglesthula
14

Macro es una buena opción aquí. Aunque la macro se me ocurrió con un poco de retraso (puede ver que puede haber un cuarto de segundo de retraso entre el golpe CTRL-D y las líneas que se eliminan en una gran selección) funciona de maravilla tanto en una sola línea como en la selección de varias líneas y cubre varios Casos difíciles.

Entonces, mi macro es:

CTRL + J : si se seleccionan varias líneas, se unen en una sola línea
INICIO : el botón INICIO habitual. Lleva el cursor al inicio de una línea (o al comienzo de una línea unida)
MAYÚS + FIN - selecciona la línea hasta el final comenzando desde la posición del cursor
CTRL + MAYÚS + L - elimina toda la línea

Este conjunto de acciones cubre todos los escenarios posibles de eliminación de línea que he encontrado hasta ahora durante el uso intensivo de notepad ++.

Jan Domozilov
fuente
Sé que llego unos años tarde, pero ¿esta macro no funcionaría tan bien con DELETE en lugar de CTRL + SHIFT + L como último comando? Si te entiendo correctamente, ya has marcado todo el texto que deseas eliminar con los primeros tres comandos.
Bjarte Aune Olsen
9

Hay un acceso directo en Notepad ++ para eliminar una línea: Ctrl+ Shift+ ... Lpero esto solo eliminará una sola línea.

Incluso si se seleccionan varias líneas, solo eliminará la línea donde el cursor descansa y no las líneas resaltadas.

Entonces, la forma más simple de eliminar una serie de líneas seleccionadas, tiene que grabar una macro con estas combinaciones de teclas de acceso directo:

Ctrl+J

seguido por

Ctrl+ Shift+L

Esto mostrará primero JOINlas líneas seleccionadas y luego DELETEtoda la línea.

Esto es mejor que usar una combinación CUTy un DELETEenfoque como se mencionó anteriormente (que he intentado) porque en algunos casos, también eliminará las líneas no seleccionadas.

Tecnólogo abierto
fuente
4

Como alternativa no macro a la respuesta de @Jan Domozilov, seguí estos pasos (usando Notepad ++ v6.5.1 (UNICODE)):

  1. En el menú Configuración , seleccione Shortcut Mapper.
  2. En la pestaña Menú principal , establezca Join Lines(línea 26) en Ctrl+Alt+D.
  3. Haga clic en la pestaña de comandos de Scintilla .
  4. Ajuste SCI_LINEDELETE(línea 90) a Ctrl+D.
  5. Cerrar la ventana.

Esto le permite realizar el comportamiento deseado con una pequeña modificación. Usted selecciona su texto, ejecuta el comando Unir líneas con Ctrl+Alt+D, suelta solo la Alttecla y presiona Dnuevamente para eliminar el texto.

skia.heliou
fuente
0

Otra forma más simple es usar el backspacebotón después de la selección, esto reemplazará la línea seleccionada con retroceso.

Hitesh Wadhwani
fuente
-1

Puede usar CTRL + SUPRIMIR para eliminar todo el contenido de una línea. Luego, todo lo que debe hacer es usar DELETE nuevamente para eliminar el avance de línea. Si eso no es suficiente para usted, puede crear una macro para realizar ambas acciones.

Como parece haber dejado de funcionar en la última versión, le recomiendo que utilice el enfoque Macro para todo el problema. Vaya a Macro, "Iniciar grabación", luego presione "Inicio", "Shift" + "FIN", "BORRAR", "BORRAR", luego vaya a Macro y pare su Macro. Después de eso, vaya a Guardar macro grabada actual "y elija un nombre y acceso directo (por ejemplo, CTRL + SUPR). Esto vuelve a habilitar el acceso directo para eliminar la línea.

Private_meta
fuente
Ctrl+Deleteno elimina líneas en Notepad ++ para mí (no he reasignado ninguna tecla que no sea Ctrl+D).
Matt Ball
¿Qué versión de Notepad ++ estás usando? Está funcionando en Notepad ++ 5.8.2 bajo Win7
private_meta
5.8.7 (la última versión) en Win7 x64. Quiso decir Ctrl+Backspace? (tampoco funciona para mí)
Matt Ball
Ah, acabo de probarlo con 5.8.7, y tampoco funcionó, déjame ver
private_meta
Actualicé mi respuesta
private_meta
-1

CTRL + MAYÚS + SUPRIMIR me funciona muy bien para eliminar una sola línea completa.

Zuzu
fuente
2
El OP desea eliminar todas las líneas que forman parte del texto seleccionado actualmente . Su acceso directo solo elimina la primera línea de una selección.
nixda