emacs shell

大家在emacs里一般用什么shell,我用mutli-term运行fish或zsh,提示符总是被折行,不知有人遇到没?给个提示

基本可用了

2 个赞

不用

还没用Emacs解决一切的本事和心

1 个赞

eshell

试了一下确实不错!不过好像performance和neovim的term比起来还是有点差距 不知道能不能进一步buffer output然后一块一块的输出?现在的output像是一行一行在输出

已经是buffer后一块块输出了, 慢 应该是emacs display 这块慢导致的

我试了一下直接copy paste一万行的output进Emacs buffer好像也能即时显示 会不会是redraw太多? 另外我试了一下你的fork 设置了delay=0.5后好像没看出什么变化?

比如在. emacs.d目录 应该显示为 ~/. emacs.d $ 却显示成 ~/.e (此处被折行) macs.d $

慢 基本上是insert 慢, 或者是vterm–filter产生的input 慢 vterm–filter 直接改成这个样子把input 直接insert 到当前buffer,也是差不多的performance,


(defun vterm--filter (process input)
  "I/O Event. Feeds PROCESS's INPUT to the virtual terminal.

Then triggers a redraw from the module."
  (let ((inhibit-redisplay t)
        (inhibit-read-only t))
    (with-current-buffer (process-buffer process)
      ;; (vterm--write-input vterm--term input)
      ;; (vterm--update vterm--term)
      (insert input)
      ))
  )

一个神奇的发现。。把process-adaptive-read-buffering 设为nil 把我的find ~时间从66s缩短到了10s

1 个赞

push 到 Improves performance when receiving large bursts of data. by jixiuf · Pull Request #39 · akermu/emacs-libvterm · GitHub 等待合并

1 个赞