Aweshell 1.0 发布

试了一下,已经没问题了

如果进melpa很不错,可以简化下自己都配置。依赖包需要处理下,不要有太多依赖包的强制配置才好。

3 个赞

我按 [Alt-h] 补全,总是提示 zsh:fc:1: no such event: 1 [6 times]

你确定用的是eshell吗?eshell怎么会报zsh的问题?

想不通

好像有一个包会借用zsh/bash补全

找了下,是来自于 esh-parse-shell-history (esh-autosuggest-mode). 它会分析zsh的history。

为啥不是在company-mode里显示的?我启用了company-mode,company-backends 的值是 (esh-autosuggest). company-diag 的结果:

Emacs 26.1 (x86_64-pc-linux-gnu) of 2018-07-05 on juergen
Company 0.9.6

company-backends: (esh-autosuggest)

Used backend: esh-autosuggest
Major mode: eshell-mode
Prefix: "gre"
Completions:
  "grep \"zsh:fc:\" ~/.zsh_history"

esh-autosuggest-mode 里重新设置了company-backends.

Use esh-reload-shell-history fixed error "zsh:fc no such event" · manateelazycat/aweshell@6b58151 · GitHub 这个补丁应该修复了这个问题了.

Confirm fixed.

最新版添加了如下新功能:

  1. 集成 eshell-up
  2. upack 命令解压压缩文件, 不用记住各种格式的解压命令参数
  3. 命令敲错的时候, 显示 did you mean 的帮助文档, 列出相似的命令
  4. cat 命令输出的文件显示语法高亮.

请问打开后该如何关闭,提示Attempt to delete minibuffer or sole ordinary window,关不掉

emacs -Q 试一下, 感觉不是我的锅

恩,不是,我在网上抄的eshell配置导致了,注释掉就可以了😓

稍微偏一下题,我看你的emacs都是使用require加载lisp文件,这个会不会导致启动比较慢,现在doom-emacs和use-package都使用延迟加载,我直接(require 'aweshell)请问有办法用到再延迟加载吗

必须启动的库我都用 run-with-idle-timer 机制加载. (1s 之类启动完毕)

剩余的 90% 扩展的库我都用自己的 lazy-set-key.el 来加载的, 这种机制是我第一次按快捷键的时候才加载, 这样不用的时候内存最低, 用的时候, 因为只加载一个插件, 所以都是瞬间加载完毕.

lazy-set-key.el 是我十几年前就玩的东西, 比现在这些傻不拉几的 use-package 方便的多.

PS. 我真的感觉 use-package 是很方便, 但是隐藏了太多加载细节和组装细节, 吸引了一大堆不熟悉的 emacs 用户, 但是同时也催生了一大堆不愿意动脑筋的 emacs 用户, 遇到问题不知道怎么解决.

今天写了一个新的补丁.

当后台shell命令执行完成或者意外终止时, 提醒用户, 避免忘记了, 如果 shell buffer 可以被看见的时候, 不提醒.

今天 @casouri 加了一个特别牛逼的补丁: Add esh-autosuggest-companyless-mode by casouri · Pull Request #24 · manateelazycat/aweshell · GitHub

更新到最新版以后, 执行:

(setq aweshell-autosuggest-backend "company-style")

就可以让Aweshell像IDE那样补全Shell命令了.

BTW, @casouri 你的补丁好想有一点点性能问题, 期待进一步 PR.

牛逼牛逼!

哇! awesomeawesome

性能问题用throttler不能解决吗?

要看 @casouri 的优化了.