¿Editor para 'git bash' en Windows (editor para mingw/msys+mintty)?

¿Editor para 'git bash' en Windows (editor para mingw/msys+mintty)?

Estoy usando 'git bash' para Windows (de 'git para Windows') que a su vez consta de mingw+msys y mintty.

Esta instalación de mingw contiene un editor 'vi' que funciona en mintty. Bien.

Pregunta: ¿Hay otros editores disponibles que se ejecuten en la ventana de emulación de terminal mintty?

El problema es que aparentemente la ventana del terminal mintty no es un tty real sino que simplemente usa stdin/stdout para comunicarse con la aplicación (editor).

Nano simplemente dice: "No se admite la redirección". Emacs -nw solo dice emacs: 'la entrada estándar no es un tty'

Estaría contento con cualquier editor de texto básico que tenga una mejor interfaz de usuario que vi.

Respuesta1

RecogiendoLa respuesta de JFMa la pregunta¿Cómo ejecutar emacs en modo CLI en mintty en Windows?

JFM señala que el emacs win32 nativo quiere comunicarse con una ventana de consola de Windows, no con un tty real (por lo que el mensaje de error que vemos es engañoso, ¡el problema es lo contrario de lo que dice!)

Las dos opciones inmediatas en las que estoy pensando son

  1. Elimine el -nwde emacs -nwmi archivo ~/.gitconfig y simplemente viva con los emacs emergentes; o
  2. Cambie de Git Bash a la línea de comando normal de Windows donde la emacs -nwconfiguración funciona bien.

La ventaja para mí de la primera opción es que el terminal Git bash está disponible en Windows y Mac (y Linux). La ventaja de la segunda opción para mí es que puedo utilizar todos mis conocimientos sobre la línea de comandos de Windows.

Respuesta2

La respuestahttps://stackoverflow.com/a/38544424/2416627apunta en la dirección correcta: use el winptycomando que se distribuye con Git para Windows como prefijo para el comando del editor real. Esto funciona con Emacs y presumiblemente también con Nano.

Sin embargo, para Emacs también se necesita otra solución debido a un problema con el manejo de la combinación de teclas Ctrl-C.

Primero, aquí se explica cómo configurar Emacs en modo texto como editor predeterminado, suponiendo que Emacs se haya instalado descomprimiendo la distribución Zip en C:\Program\Emacs:

git config --global core.editor 'winpty /c/Program/Emacs/bin/emacs -nw'

Sin embargo, para poder salir de Emacs usando el acceso directo CX CC estándar, se debe colocar la siguiente línea en un archivo nombrado .emacsen el nivel superior de la ubicación del perfil de usuario de Windows del usuario que inició sesión:

(global-set-key [24 pause] (quote save-buffers-kill-terminal))

Lo mismo se aplica a cualquier otro atajo que contenga CC y que uno desee poder usar; es decir, se les deben asignar asignaciones de atajos adicionales donde se usa "pausa" en la definición en lugar de CC.

información relacionada