eshell在windows上是个很好的工具,因为windows通常没有linux环境。eshell可以起到一个弥补作用,虽然不是全部功能。

但是eshell也有一些和shell不一样的地方,这里总结下和shell不太一样的地方:

清除buffer

clear

新版的emacs提供了clear函数,输入后直接清除buffer内容,不用写成lisp函数方式(clear)。


光标移动

shell中上下方向键都可以直接移动光标到上一行和下一行。但是eshell中只能用emacs文本编辑的快捷键来解决

C-p 上移一行

C-n 下移一行

C-b 左移一个字符

C-f 右移一个字符

习惯就好,毕竟这是手指移动距离最近的操作方式。


打开文件

C-x C-f仍然有效,不过多了一个elisp函数可以使用, find-file a.txt,效果一样。

这样做有什么好处?慢慢的,可以通过eshell的操作学会elisp编程了,编写elisp脚本,有emacs的地方就可以运行脚本文件。

这就开始超越人际交互的模式了。


查询linux命令的manual

同样输入man ls,在shell中,会看到长度受限制的文本显示,如果想用emacs提高可读性,可以使用M-x man,再输入ls

现在这样的操作在eshell中可以直接输入命令man ls,效果一样。操作简单了点。


查询文本

在使用spacemacs之前,我经常用eshell的grep命令,因为搜索出来的结果会有链接,点击直接打开链接指向的搜索结果文件的那一行。非常方便。


查询命令

M-r/M-s 向前或者向后查询已经输入的命令,输入正则表达式查询


参考文档

https://www.masteringemacs.org/article/complete-guide-mastering-eshell

这里写了一些其他重要的东西。比如tramp


https://www.emacswiki.org/emacs/TrampMode




Logo

更多推荐