问题标签 [eshell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
86 浏览

emacs - (Emacs) 如何在 emacs shell 中只显示最后一个目录?

我想知道是否可以只显示 eShell(Emacs Shell)中的最后一个目录。例如,它当前在 path 中/home/user/Programming/C++。使用当前的 eshell 设置~/Programming/C++ $,但我只想显示以下内容:C++ $.

谢谢

0 投票
1 回答
183 浏览

emacs - 当我将此代码放入我的初始化文件时,emacs shell 的某些功能消失了

我试图把这段代码放在我的 Emacs 初始化文件中:

它工作得很好,但出现了一些错误:

  • 当我按下 UP 键(以执行最后一个命令)时,我在 minibuffer 中收到此消息:Not found
  • 当我按下 TAB 键(自动完成路径)时,我在 minibuffer 中收到此消息:Invalid variable reference

我不明白为什么会这样。有人可以帮助我吗?谢谢!


更新

我进入了调试器模式。当我按 UP 键(只有 UP 键,而不是选项卡)时,调试器会抛出此错误:


更新 2

我将 eshell-prompt-regexp 设置为与我的设置匹配的正则表达式:

现在,我可以按 UP 并且它工作正常,但是当我按 TAB 键自动完成 PATH 时,Emacs 会尝试使用其他“事物”自动完成。例如,目前,我在包含 Programming 目录的路径中。如果我键入cd Progr并按 TAB 键,Emacs 会尝试自动完成显示此消息:

单击完成以将其选中。在此缓冲区中,键入 RET 以选择完成近点。

可能的完成是:

. 2到3

2to3-2.7 2to3-3.6

控制面板凯特DJ

Magick++-config Magick-config

MagickCore-config MagickWand-config

NetworkManager Wand-config

WebKitWebDriver X

Xorg Xwayland

[ a2ping

和更多。为什么 emacs 不使用目录完成?非常感谢所有的评论和回答!

0 投票
0 回答
122 浏览

bash - 尝试使用 bash 覆盖 Emacs eshell 别名列表时,如何解决 sed 无效引用错误?

我试图让 Emacs eshell 使用与 bash 相同的别名。

我尝试遵循 Stackoverflow here的顶级评论中的智慧,即将这两行添加到 .emacs 配置文件中:

但什么也没发生。

然后我在这里尝试了这个 wiki 选项。这是让 bash 别名脚本在新终端打开时覆盖 emacs eshell 别名文件:

但是,当我打开一个新终端时,这会导致错误(请注意,使用大写 -E 运行它对我不起作用):

有人知道如何解决这个 sed 错误吗?我意识到 wiki 选项特别指向使用 .bashrc - 诚然,我不知道这与我一直使用的 ~/.alias 文件有何不同。

例如,我有一个 .alias 文件,如下所示:

我希望我的 /.emacs.d/eshell/alias 文件具有相同的 episas 别名。

感谢您的任何帮助!

0 投票
2 回答
290 浏览

exception-handling - Erlang中除以零的精确异常类型

我想捕捉零除错误,但不知道我应该为此写哪个确切的模式

当我通过以下方式捕获所有异常时它可以工作

但第一个例子给出了

** 异常错误:计算算术表达式时发生错误

那么如何正确捕捉零除法

0 投票
1 回答
27 浏览

emacs - 如何将“^”作为参数添加到 emac 的 eshell 中的命令?

我正在尝试制作一个命令行计算器供我正在制作的网页使用。但是当我尝试在 eshell 中执行时,java Calculate -exp 10^20^30 我得到:

但同样的命令在常规 PuTTY 终端中运行良好,将引号括在 10^20^30 周围不起作用,使用 10\^20\^30 也不起作用。我可以执行 bash 命令,但发现使用 eshell 很方便,因为我可以从 PuTTY 中的 eshell 轻松复制和粘贴。

任何帮助表示赞赏。

编辑:刚刚意识到我也可以毫无问题地运行命令,M-x shell但如果这是问题,仍然想知道如何将特殊字符放入 eshell 中。

0 投票
1 回答
559 浏览

emacs - Emacs eshell - 退出时杀死窗口

我的代码中有以下代码init.el

这工作正常,直到我退出 eshell。当我退出时,窗户保持打开状态。如何让窗口自动关闭?

0 投票
1 回答
776 浏览

emacs - 如何将 ctrl+D 发送到 Emacs 的 Eshell?

如何将 ctrl+D 发送到 Emacs 的 Eshell?看起来 Emacs 拦截了我向 shell 发送任何控制键 + 字母的所有尝试,并尝试将其解释为它自己的命令。如何将该组合发送到 Emacs 的 EShell?

0 投票
0 回答
407 浏览

image - 在 iTerm2 中运行的 Emacs 进程中显示图像

我想在 iTerm2 中运行的 Emacs 进程中显示内联图像。imgcat这是使用(iTerm2 shell 集成实用程序)演示我所期望的。

在此处输入图像描述

首先,我在*eshell*缓冲区中执行了以下代码。基本原理是,如果这行得通,我可以简单地设置一个专门用于运行的单独窗口eshell,然后使用挂钩更新图像。

但是,我得到的只是一堆 base64 字符,即使我已设置TERMxterm-256color(was dumb)。

在此处输入图像描述

我选择eshell而不是shell,termansi-term其他任何东西的原因是它是在 Emacs Lisp 中实现的,所以它应该是最可扩展的。另一方面,如果您觉得其他终端仿真器更方便,也可以使用它们。

0 投票
1 回答
524 浏览

emacs - Eshell 在 eshell 路径上找不到脚本

我的目标

我正在尝试将“/opt/bin”添加到 eshell 用于查找脚本的路径列表中。到目前为止,我已经尝试通过三种方式做到这一点

迄今为止的尝试

1) (setenv "PATH" (concat "/opt/bin:" (getenv "PATH")))

2) (eshell/addpath "/opt/bin:")

3) (添加到列表 'exec-path "/opt/bin")

第一次尝试确实将“/opt/bin”添加到 eshell 的路径中(它在下面调用“which lein”的输出中显示为“/opt/bin:”的第一个实例)

第二次尝试还将“/opt/bin”添加到 eshell 的路径(它在下面调用“which lein”的输出中显示为“/opt/bin:”的第二个实例)

实际上,我已经将“/opt/bin”添加到我的 exec-path 有一段时间了。我相信我这样做是为了 /opt/bin 在运行 term 命令以启动 shell 时会出现在我的路径上,这似乎工作正常,但无助于 eshell 在那里找到命令。

失败的尝试和临时解决方法

您可以在下面的 eshell 输出中看到,即使命令 lein 在 eshell 识别 eshell 找不到该命令的路径上可用。但是,如果我从 eshells 默认路径中的目录创建符号链接到 /opt/bin 中的脚本,那么 eshell 就可以找到它。

外壳输出

我宁愿不必在 /usr/local/bin/ 中创建符号链接,以便 eshell 可以在我的 /opt/bin 中找到脚本。请注意,即使在重新启动 emacs 后,它也会在 /opt/bin 中找到符号链接而不是脚本。这发生在 linux mint debian (v9.3) 版本上的 emacs-25 的 GUI 实例中。

问题:

如何让 eshell 实际检查 eshell 路径而不是一些默认的目录列表?我应该更新不同的路径变量吗?

0 投票
2 回答
93 浏览

emacs - 如何在 Eshell 中突出显示某些单词?

我在 Emacs 中使用 Eshell 来运行程序,并且可以检查 Shell 中的输出,但我想突出显示一些诸如 'errors' 'info' 之类的词,或其他类似的词。我怎么能那样做?