我正在尝试在eshell中运行git命令。当我运行时:
git log -p它看起来像这样:

请注意,^[[k在光标之前。向下箭头键不起作用,它会给出错误提示‘找不到’。您可以在minibuffer上看到这一点。向下滚动的唯一方法是使用RETURN键,它看起来相当混乱:

我的$TERM设置为eterm,我也尝试了ansi。它们是一样的。以前有没有人经历过这种情况?
谢谢
编辑:
我有办法解决这个问题。我创建了这个函数:
(defun eshell/git (&rest args)
(apply 'eshell-exec-visual (cons "git" args)))因此,每次我运行git命令时,它都会在*git*缓冲区中启动输出。
如果你有其他方法,也请让我知道。
发布于 2011-04-20 21:38:21
因为使用了pager,所以只能使用RETURN滚动。您可以通过更改git的core.pager配置选项永久禁用它,也可以通过将GIT_PAGER环境变量设置为空字符串来临时禁用它。另一个可能的问题来源- ^[安全,用于切换颜色。您可以使用git 命令的--no-color log选项禁用它们
发布于 2011-04-27 23:04:05
你试过使用Magit吗?它将git集成到您的常规Emacs工作流中。我不能告诉你太多,因为我刚刚开始使用Emacs,我还在努力学习基础知识。虽然Magit看起来真的很不错。安装magit,在您的存储库中打开一个文件,然后运行M-x magit-log-long,这将使用带有ascii历史图形的git log的输出创建一个缓冲区。我非常确定您也可以从该缓冲区中签出旧提交,但您应该阅读手册以确保这一点。
发布于 2011-05-01 14:15:19
您必须在git中打开颜色,并且特定的伪终端在颜色中不起作用。尝试使用m-x ansi-term。它支持颜色,通常更像终端。
或者你可以试试这个钩子:
(add-hook 'eshell-preoutput-filter-functions
'ansi-color-filter-apply)从here引用。
https://stackoverflow.com/questions/5725607
复制相似问题