Windows 上「git bash」的編輯器(mingw/msys+mintty 的編輯器)?

Windows 上「git bash」的編輯器(mingw/msys+mintty 的編輯器)?

我在 Windows 上使用「git bash」(來自「git for Windows」),它又由 mingw+msys 和 mintty 組成。

這個 mingw 安裝包含一個在 mintty 中工作的「vi」編輯器。好的。

問題:是否還有其他可以在 mintty 終端機模擬視窗中執行的編輯器?

問題是顯然 mintty 終端機視窗不是真正的 tty,而只是使用 stdin/stdout 與應用程式(編輯器)進行通訊。

Nano 只是說:「不支援重定向。」。 Emacs -nw 只是說 emacs: '標準輸入不是 tty'

我會對任何具有比 vi 更好的使用者介面的基本文字編輯器感到滿意。

答案1

正在接聽JFM的回答對一個問題如何在windows下mintty下以CLI模式運行emacs?

JFM 指出本機 win32 emacs 想要與 Windows 控制台視窗對話,而不是與實際的 tty 對話(因此我們看到的錯誤訊息具有誤導性,與它所指出的相反才是問題所在!)

我正在考慮的兩個直接選擇是

  1. 刪除我的 ~/.gitconfig 檔案中的-nwfromemacs -nw並使用彈出的 emacs;或者
  2. 從 Git Bash 切換到正常的 Windows 命令列,其中emacs -nw設定工作正常。

對我來說,第一個選項的優點是 Git bash 終端機可以跨 Windows 和 Mac(以及 Linux)使用。對我來說,第二個選項的優點是我可以使用我所有的 Windows 命令列知識。

答案2

答案https://stackoverflow.com/a/38544424/2416627指向正確的方向 – 使用winpty隨 Git for Windows 分發的命令作為實際編輯器命令的前綴。這適用於 Emacs,大概也適用於 Nano。

不過,對於 Emacs,由於 Ctrl-C 組合鍵的處理有問題,還需要另一種解法。

首先,以下是如何在文字模式下將 Emacs 配置為預設編輯器 - 假設已透過將 Zip 發行版解壓縮到以下位置來安裝 Emacs C:\Program\Emacs

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

但是,為了能夠使用標準 CX CC 捷徑退出 Emacs,必須將以下行放入.emacs登入使用者的 Windows 使用者設定檔位置頂層命名的檔案中:

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

這同樣適用於任何其他包含希望能夠使用的 CC 的快捷方式,即必須為它們提供額外的快捷方式映射,其中在定義中使用「暫停」而不是 CC。

相關內容