eshell中的git-log

sud*_*udo 11 git emacs eshell

我正在尝试在eshell中运行git命令.当我跑:

git log -p
Run Code Online (Sandbox Code Playgroud)

它看起来像这样:

eshell中的git-log

请注意^ [[光标之前的k].箭头键向下不起作用,它会给出"未找到"错误.你可以在迷你缓冲区看到.向下滚动的唯一方法是使用RETURN键,它看起来很乱:

eshell中的git-log  - 滚动

我的$ TERM设置为eterm,我也尝试了ansi.他们是一样的.以前有人经历过这个吗?

谢谢

编辑:

我有办法解决这个问题.我创建了这个函数:

(defun eshell/git (&rest args)
     (apply 'eshell-exec-visual (cons "git" args)))
Run Code Online (Sandbox Code Playgroud)

所以每次运行git命令时,它都会在*git*缓冲区中启动输出.

如果您有其他方式,请告诉我.

Ale*_*Ott 4

由于使用了寻呼机,因此只能使用 RETURN 滚动。您可以通过更改 git 的core.pager配置选项来永久禁用它,也可以通过将GIT_PAGER环境变量设置为空字符串来临时禁用它。问题的另一个可能来源 - ^[ 顺序,用于切换颜色。您可以使用git log命令的--no-color选项禁用它们