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

4518
Johannes Overmann

Ich verwende 'git bash' für Windows (von 'git for Windows'), das wiederum aus mingw + msys und einer Mintty besteht.

Diese mingw-Installation enthält einen "vi" -Editor, der in der Mintty funktioniert. Gut.

Frage: Gibt es noch andere Editoren, die im Mintty-Terminal-Emulationsfenster laufen?

Das Problem ist, dass das Mintty-Terminal-Fenster anscheinend kein echter 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 Wert'

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

7
Beantwortet Ihre Fragen nicht wirklich, aber Sie können grafische Editoren verwenden, wenn Sie möchten. Außerdem sollte die eingebaute Windows-Konsole (die zugegebenermaßen bis Win10 Mist ist) mit "nano" usw. funktionieren. (Nicht sicher bei "emacs", aber Sie sagten eine * bessere * Schnittstelle als "vi".) ) CBHacking vor 9 Jahren 2
Ja dank. Ich benutze Emacs für Windows und das macht meistens was ich will. Irgendwie verdampfte der Aufwand für den Start von Emacs in den letzten 20 Jahren. :-) Johannes Overmann vor 9 Jahren 0

2 Antworten auf die Frage

3
dumbledad

JFMs Antwort auf die Frage, wie man Emacs im CLI-Modus unter Mintty in Windows ausführt?

JFM weist darauf hin, dass der native win32-Emacs mit einem Windows-Konsolenfenster und nicht mit einem tatsächlichen tty sprechen möchte (die Fehlermeldung, die wir sehen, ist irreführend, das Gegenteil von dem, was es behauptet, ist das Problem!)

Die zwei unmittelbaren Optionen, an die ich denke, sind

  1. Entfernen Sie die Datei -nwaus emacs -nwmeiner ~ / .gitconfig-Datei und leben Sie einfach mit den Popup-Emacs. oder
  2. Wechseln Sie von Git Bash zur normalen Windows-Befehlszeile, wo die emacs -nwEinstellung gut funktioniert.

Der Vorteil der ersten Option ist für mich, dass das Git-Bash-Terminal für Windows und Mac (und Linux) verfügbar ist. Die zweite Option hat für mich den Vorteil, dass ich alle meine Windows-Befehlszeilenkenntnisse verwenden kann.

Vielen Dank. Dies bestätigt, dass es keine Lösung gibt, um Emacs im Git-Bash-Fenster auszuführen. Ich verwende Variante 1. (emacs GUI). Johannes Overmann vor 6 Jahren 0
0
Otto G

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

Für Emacs ist jedoch aufgrund eines Problems bei der Handhabung der Tastenkombination Strg-C eine weitere Problemumgehung erforderlich.

Als Erstes konfigurieren Sie Emacs im Textmodus als Standardeditor - vorausgesetzt, Emacs wurde durch Entpacken der Zip-Distribution installiert C:\Program\Emacs:

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

Um Emacs jedoch mit der Standard-CX-CC-Verknüpfung beenden zu können, muss die folgende Zeile in einer Datei abgelegt werden, die .emacsauf der obersten Ebene des Windows-Benutzerprofils des angemeldeten Benutzers angegeben ist:

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

Das Gleiche gilt für alle anderen Abkürzungen, die CC enthalten, die verwendet werden sollen, dh sie müssen zusätzliche Verknüpfungszuordnungen erhalten, bei denen "Pause" anstelle von CC in der Definition verwendet wird.