Editor für „git bash“ unter Windows (Editor für mingw/msys+mintty)?

Editor für „git bash“ unter Windows (Editor für mingw/msys+mintty)?

Ich verwende „git bash“ für Windows (von „git für Windows“), das wiederum aus mingw+msys und einem mintty besteht.

Diese Mingw-Installation enthält einen „vi“-Editor, der in Mintty funktioniert. Gut.

Frage: Gibt es andere Editoren, die im Mintty-Terminalemulationsfenster ausgeführt werden?

Das Problem besteht darin, dass das Mintty-Terminalfenster anscheinend kein echtes TTY ist, sondern nur stdin/stdout verwendet, um mit der Anwendung (Editor) zu kommunizieren.

Nano sagt nur: „Umleitung wird nicht unterstützt.“. Emacs -nw sagt nur emacs: „Standardeingabe ist kein TTY“

Ich wäre mit jedem einfachen Texteditor zufrieden, der eine bessere Benutzeroberfläche als vi hat.

Antwort1

Aufgreifen vonJFMs Antwortauf die FrageWie führe ich Emacs im CLI-Modus unter Mintty in Windows aus?

JFM weist darauf hin, dass der native Win32-Emacs mit einem Windows-Konsolenfenster kommunizieren möchte und nicht mit einem tatsächlichen TTY (die angezeigte Fehlermeldung ist also irreführend; das Gegenteil von dem, was sie besagt, ist das Problem!)

Die beiden unmittelbaren Optionen, über die ich nachdenke, sind

  1. Entfernen Sie das -nwFormular emacs -nwin meiner Datei ~/.gitconfig und leben Sie einfach mit dem Popup-Emacs. oder
  2. Wechseln Sie von Git Bash zur normalen Windows-Befehlszeile, wo die emacs -nwEinstellung problemlos funktioniert.

Der Vorteil der ersten Option ist für mich, dass das Git-Bash-Terminal unter Windows und Mac (und Linux) verfügbar ist. Der Vorteil der zweiten Option ist für mich, dass ich alle meine Kenntnisse der Windows-Befehlszeile nutzen kann.

Antwort2

Die Antworthttps://stackoverflow.com/a/38544424/2416627weist in die richtige Richtung – verwenden Sie den winptyBefehl, der mit Git für Windows ausgeliefert wird, als Präfix für den eigentlichen Editorbefehl. Das funktioniert mit Emacs und vermutlich auch mit Nano.

Für Emacs ist allerdings aufgrund eines Problems bei der Handhabung der Tastenkombination Strg-C ein anderer Workaround erforderlich.

Hier erfahren Sie zunächst, wie Sie Emacs im Textmodus als Standard-Editor konfigurieren – vorausgesetzt, dass Emacs durch Entpacken der Zip-Distribution nach installiert wurde C:\Program\Emacs:

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

Um Emacs jedoch mit der Standardverknüpfung von CX CC beenden zu können, muss die folgende Zeile in eine Datei mit dem Namen .emacsauf der obersten Ebene des Windows-Benutzerprofilspeicherorts des angemeldeten Benutzers eingefügt werden:

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

Dasselbe gilt für alle anderen Tastenkombinationen, die CC enthalten und die man verwenden möchte. Das heißt, ihnen müssen zusätzliche Tastenkombinationszuordnungen zugewiesen werden, bei denen in der Definition „Pause“ statt CC verwendet wird.

verwandte Informationen