Estoy ejecutando Cygwin y me gustaría usar Notepad ++ como el editor de shell principal, algo así como lo que tengo en mi Mac, donde puedo escribir mate whatever
para abrir una instancia de TextMate. En mi ~/.bashrc
archivo en Cygwin tengo el siguiente conjunto de variables de entorno y alias:
export EDITOR="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
alias np="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
Funciona principalmente: cuando escribo np whatever
o cuando un programa Cygwin requiere $ EDITOR, se abre Notepad ++.
Sin embargo, el shell espera hasta que Notepad ++ se cierre y no permitirá ninguna entrada hasta entonces. Esto puede ser específico de bash, pero ¿cómo puedo abrir Notepad ++ desde Cygwin y decirle al shell que no espere a que continúe un código de salida? Agregar &
a al final del comando alias no funciona correctamente, solo abre un archivo sin título y advierte en filename: command not found
lugar de abrir el archivo.
¡Gracias!
Lo resolví con un simple enlace simbólico.
Por supuesto ~ / bin está en mi $ PATH.
Ahora, para abrir un archivo, simplemente escriba "npp filename.txt" desde el indicador de cygwin. No he tenido que usar el & al final del comando.
Esto también arrojará una pestaña en la ventana de Notepad ++ actualmente en ejecución en lugar de abrir otra, Y si el archivo ya está abierto, no lo abrirá nuevamente.
fuente
también funciona para x86
fuente
Simplemente agregue un espacio y un ampersand (&) al final de su comando y el shell volverá inmediatamente al modo de entrada mientras deja Notepad ++ abierto.
en edición:
No estoy hablando de agregarlo a tu alias. Agréguelo al final de su comando así:
np whatever &
fuente
.bash_profile
para que no necesite escribirlo todo el tiempo?Los alias no toman argumentos interpolados. Use una función en su lugar.
fuente
Este script inicia Notepad ++ en segundo plano, pasando los argumentos de la línea de comando antes del '&'
Como Doug aconsejó , tener un valor predeterminado
$EDITOR
que no bloquea puede causar problemas.fuente
Hay un comando específico en cygwin para lograr esto. Asegúrese de descargar run.exe, y asegúrese de que esté en su RUTA (o su RUTA contiene el ejecutable)
fuente