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 で emacs を CLI モードで実行するにはどうすればよいですか?

JFM は、ネイティブの win32 emacs は実際の tty ではなく、Windows コンソール ウィンドウと通信しようとしていることを指摘しています (そのため、表示されるエラー メッセージは誤解を招くものであり、問​​題であると述べられていることと逆のことが起こります)。

私が考えている2つの選択肢は

  1. -nw~/.gitconfig ファイルからを削除しemacs -nw、ポップアップ emacs のみを使用するか、
  2. Git Bash から、設定が正常に機能する通常の Windows コマンド ラインに切り替えますemacs -nw

私にとって最初のオプションの利点は、Git bash ターミナルが Windows と Mac (および Linux) で利用できることです。私にとって 2 番目のオプションの利点は、Windows のコマンド ラインの知識をすべて活用できることです。

答え2

答えhttps://stackoverflow.com/a/38544424/2416627正しい方向を指しています。Git winptyfor Windows で配布されているコマンドを実際のエディター コマンドのプレフィックスとして使用します。これは Emacs で機能し、おそらく Nano でも機能します。

ただし、Emacs の場合は、Ctrl + C キーの組み合わせの処理に問題があるため、別の回避策も必要です。

まず、Emacs をテキスト モードでデフォルトのエディターとして設定する方法を説明します。Emacs が Zip 配布を解凍してインストールされていることを前提としています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 の代わりに「一時停止」が使用される追加のショートカット マッピングを指定する必要があります。

関連情報