Eshell:命令,语法等

时间:2010-10-06 21:20:22

标签: emacs eshell

刚刚发现未完成的手册,但它真的没什么意义。正好在高潮。我还是不明白。

  • 那是什么?一个eLisp翻译?
  • 你如何告诉emacs从那里编辑文件?
  • 有什么区别?
  • eshell only命令是什么?

2 个答案:

答案 0 :(得分:9)

Eshell是一个像普通shell一样的命令解释器,但是它不会运行bash或者下面的任何其他shell。像bash一样,它有几种类型的命令:虽然bash有别名,函数,但是回退到$ PATH,eshell有别名,lisp函数,eshell函数,然后回退到$ PATH。

因此,例如,您可以运行:

~ $ find-file foo.txt

并且lisp函数find-file将以非交互方式执行(与 Mx 不同),这意味着必须传入所有必需的参数。这是告诉emacs编辑文件的一种方法来自eshell。运行 C-x C-f 可能会更快,因为它将默认为eshell当前所在的目录。

当你跑步时:

~ $ ls

它实际上运行函数eshell/ls,它将获得目录列表而不调用/bin/ls。有类似的内置;如果您运行 C-h f eshell /< TAB> ,您可以获得它们的列表。

eshell内置函数的一个主要观点是使命令适合其他现有的emacs函数。例如,grep将进入*grep*缓冲区,以便您可以快速跳转到结果。

它也有别名,有点类似于bash别名,但在处理参数的方式上有点像函数。例如,在bash中,您可能会说

alias ll='ls -l'

虽然在eshell中你会说

alias ll ls -l '$*'

这两者意味着同样的事情。 $*基本上意味着“扩展所有参数”,并且必须引用它。您可以运行alias来查看您创建的所有别名。

答案 1 :(得分:2)

看一下Eshell的这个介绍: http://www.masteringemacs.org/articles/2010/12/13/complete-guide-mastering-eshell/

它可能没有涵盖这个强大工具的每个方面,但它提供了相当丰富的信息。