keyboard-shortcuts - notepad++ plugins
¿Cómo imitar la funcionalidad CTRL-X, CTRL-V de Visual Studio en Notepad++? (8)
- Instalar el complemento NppPython (se puede hacer con Notepad ++ Plugin Manager)
Cree este script de Python utilizando el menú Complementos -> Script de Python -> Nuevo script:
if editor.getSelectionStart() == editor.getSelectionEnd(): editor.lineCut() else: editor.cut()
Reiniciar notepad ++ (importante)
Vaya a Configuración de menú -> Asignador de accesos directos -> Comandos de complemento
Busque el script que acaba de crear en la lista y establezca el acceso directo de CTRL + X para él
¡Disfrutar!
Estoy usando Notepad ++ para algunos proyectos y pierdo la funcionalidad Ctrl + X , Ctrl + C de Visual Studio que corta o copia la línea actual completa cuando no hay texto seleccionado. El atajo de la línea de corte parece ser Ctrl + L , que no es tan conveniente como Ctrl + X y el atajo de copia parece ser Ctrl + D , Ctrl + L , que es aún menos conveniente.
Aunque una pregunta similar se ha formulado anteriormente, no se proporcionó la forma de hacerlo en Notepad ++ y no puedo encontrar una solución en el sitio de Notepad ++ o en sus foros.
El plugin de https://bitbucket.org/zastrowm/notepad-visualstudiolinecopy
tiene que ser todavía configurado como sigue:
Ponlo en la carpeta notepad ++ / plugin
abrir notepad ++ (reiniciar)
en Configuración -> Asignador de accesos directos
en Comandos de Scintilla , elimine las asociaciones existentes para Ctrl + C, X
en Comandos de complemento , encuentre los scripts que acaba de crear y asigne sus accesos directos a ellos.
Hay un complemento para él en https://github.com/kbilsted/NppPluginCutNCopyLine su código abierto y el código es fácil de modificar si tiene necesidades adicionales.
He creado un complemento de Notepad ++ que hace esto (sin la necesidad de python). Se puede encontrar en https://bitbucket.org/zastrowm/notepad-visualstudiolinecopy .
Puede agregar una secuencia de comandos con el complemento Python Script Notepad ++ y asignar Ctrl + C a la secuencia de comandos (eliminar la asignación Ctrl + C de SCI_COPY en el asignador de accesos directos, pestaña Comandos de Scintilla)
El guión es solo:
if editor.getSelectionStart() == editor.getSelectionEnd():
line = editor.getCurLine()
editor.copyText(line)
else:
editor.copy()
Obviamente, simplemente agregue otro script similar para Ctrl-X que elimine la línea en su lugar.
Sintetizando todas las demás respuestas y comentarios, además de algunos pasos adicionales necesarios que no se han mencionado:
Scintilla proporciona un comando "copyAllowLine" que hace esto. Notepad ++ no expone ese comando en el mapeador de accesos directos, pero puede llamarlo desde un script de Python y asignar Ctrl + C a ese script. No hay un comando correspondiente para "cutAllowLine", pero un poco de código extra de Python lo hará. Estos scripts deben agregarse al menú y Notepad ++ debe reiniciarse antes de que estén disponibles en el asignador de accesos directos.
Instalar el complemento Python Script (se puede hacer con Notepad ++ Plugin Manager)
Cree los siguientes dos scripts de Python usando el menú Complementos -> Python Script -> Nuevo script
copyAllowLine.py
editor.copyAllowLine()
cutAllowLine.py
if editor.getSelectionStart() == editor.getSelectionEnd(): editor.lineCut() else: editor.cut()
Python Script -> Configuración
- En User Scripts , agregue un elemento de menú para cada script.
- En User Scripts , agregue un elemento de menú para cada script.
Reiniciar notepad ++ (importante)
Configuraciones -> Mapeador de accesos directos ...
en Comandos de Scintilla , elimine las asociaciones existentes para Ctrl + C y Ctrl + X.
en Comandos de complemento , encuentre los scripts que acaba de crear y asigne sus accesos directos a ellos.
Nota: cuando se instala a través del administrador de complementos, se instaló la versión 1.0.6. Cuando intenté ejecutar cualquier cosa relacionada con Python en Notepad ++ obtuve una excepción desconocida del administrador de complementos. La solución fue descargar e instalar manualmente el 1.0.8 .msi desde aquí: el instalador 1.0.8
Vaya a Configuración-> Asignador de accesos directos y haga clic en la pestaña "Comandos de Scintilla" en la parte superior. Debajo de allí debería poder cambiar el comando Ctrl + L a Ctrl + X.
puede escribir un programa con un gancho de evento de clave global, que cada vez que haga un Ctrl + X verifique si notepad ++ es la aplicación más importante que se está ejecutando, toma la pantalla, verifica si hay algún texto seleccionado (mirando la captura de pantalla y el color de su notepad ++ configuración), y envía un mensaje WM_KEYPRESS a la ventana notepad ++ simulando un Ctrl + L (suponiendo que está usando Windows).
(aunque esto no pondrá la línea en el portapapeles, tendrás que hacer un reconocimiento de caracteres para permitirlo)