刚刚找到那本未完成的手册,但它确实未完成。正处于高潮。我还是不明白。
- 那是什么?一个 eLisp 解释器?
- 你如何告诉 emacs 从那里编辑文件?
- 有什么区别?
- 什么是仅 eshell 的命令?
Eshell 是一个类似于普通 shell 的命令解释器,但它不会在下面运行 bash 或任何其他 shell。与 bash 一样,它有几种类型的命令:bash 有别名、函数并回退到 $PATH,而 eshell 有别名、lisp 函数、eshell 函数并回退到 $PATH。
因此,例如,您可以运行:
~ $ find-file foo.txt
并且 lisp 函数find-file
将以非交互方式执行(与 不同M-x),这意味着必须传入所有必要的参数。这是告诉 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
以查看您创建的所有别名。
看看这个对 Eshell 的介绍:http: //www.masteringemacs.org/articles/2010/12/13/complete-guide-mastering-eshell/
它可能没有涵盖这个强大工具的所有方面,但它的信息量很大。