11

eshell で git コマンドを実行しようとしています。私が実行すると:

git log -p

次のようになります。

eshell の git-log

カーソルの前に ^[[k があることに注意してください。下矢印キーが機能せず、「見つかりません」というエラーが表示されます。ミニバッファでそれを見ることができます。下にスクロールする唯一の方法は RETURN キーを使用することであり、非常に面倒に見えます。

eshell の git-log -- スクロール

私の $TERM は eterm に設定されており、ansi も試しました。それらは同じです。誰もこれを経験したことがありますか?

ありがとう

編集:

これを回避する方法があります。この関数を作成しました:

(defun eshell/git (&rest args)
     (apply 'eshell-exec-visual (cons "git" args)))

したがって、git コマンドを実行するたびに、*git* バッファーで出力が開始されます。

また、他の方法があれば教えてください。

4

5 に答える 5

4

ページャーを使用しているため、RETURN でのみスクロールできます。git のcore.pager設定オプションを変更して永続的に無効にするか、 GIT_PAGER環境変数を空の文字列に設定して一時的に無効にすることができます。別の考えられる問題の原因 - 色を切り替えるために使用される ^[ シーケンス。git logコマンドの--no-colorオプションで無効にできます

于 2011-04-20T13:38:20.770 に答える
3

git で色をオンにする必要があり、その特定の疑似端末は色で機能しません。を使ってみてくださいm-x ansi-term。色をサポートし、一般的に端末に似ています。

または、次のフックを試すことができます。

 (add-hook 'eshell-preoutput-filter-functions
           'ansi-color-filter-apply)

ここから参照.

于 2011-05-01T06:15:19.097 に答える
3

Magitを使ってみましたか?git を通常の Emacs ワークフローに統合します。私は Emacs を使い始めたばかりで、まだ基礎を学ぼうとしているので、多くを語ることはできません。Magitは本当にいいようです。magit をインストールし、レポでファイルを開き、実行します。これにより、ascii 履歴グラフをM-x magit-log-long使用して の出力を含むバッファーが作成されます。git logそのバッファから古いコミットをチェックアウトすることもできると確信していますが、確実にマニュアルを読む必要があります。

于 2011-04-27T15:04:04.993 に答える
1

git の組み込みページャーを無効にするには、次のように設定しcatます。

git config --global core.pager cat
于 2012-09-04T13:21:08.013 に答える