Eshell:命令,语法等

Hen*_*zza 1 emacs eshell

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

  • 那是什么?一个eLisp翻译?
  • 你怎么告诉emacs从那里编辑文件?
  • 有什么不同?
  • 什么是eshell唯一的命令?

Eri*_*ven 9

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为您提供跨平台的统一shell(即在Linux和Windows上以相同方式工作的ls-command). (2认同)