web-dev-qa-db-ja.com

Windowsの 'git bash'のエディター(mingw / msys + minttyのエディター)?

私はmingw + msysとminttyで構成されるWindows用の 'git bash'( 'git for Windows'から)を使用しています。

このmingwインストールには、minttyで動作する「vi」エディターが含まれています。良い。

質問:minttyターミナルエミュレーションウィンドウで実行される他のエディターはありますか?

問題は、明らかにminttyターミナルウィンドウが実際のttyではなく、stdin/stdoutを使用してアプリケーション(エディター)と通信することです。

Nanoは、「リダイレクトはサポートされていません」と言っています。 Emacs -nwはemacsとだけ言っています:「標準入力はttyではありません」

Viよりも優れたユーザーインターフェイスを備えた基本的なテキストエディターがあれば幸いです。

8

JFMの答え 質問をピックアップ WindowsのminttyでCLIモードでemacsを実行する方法

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

私が考えている2つの直接的なオプションは

  1. 〜/ .gitconfigファイルの-nwからemacs -nwを削除し、ポップアップemacsをそのまま使用します。または
  2. Git Bashからemacs -nw設定が正常に機能する通常のWindowsコマンドラインにスワップします。

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

3
dumbledad

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

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

最初に、デフォルトのエディターとしてEmacsをテキストモードで構成する方法を示します。Emacsは、ZipディストリビューションをC:\Program\Emacsに解凍してインストールされていると想定しています。

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

ただし、標準のC-X C-Cショートカットを使用してEmacsを終了できるようにするには、ログインユーザーのWindowsユーザープロファイルの場所の最上位にある.emacsという名前のファイルに次の行を配置する必要があります。

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

同じことが、使用できるようにしたいC-Cを含むその他のショートカットにも当てはまります。つまり、C-Cの代わりに「一時停止」が定義で使用されている追加のショートカットマッピングを指定する必要があります。

1
Otto G