移除 Spaceline 插件,Spacemacs 变得不容易 frozen 啦

之前使用 swiper 的时候,经常有机率整个 Spacemacs 卡死不动,找了好久的原因。

今天把 spaceline 插件删除了,问题解决了,真棒。

更新 2016-6-1: 我又用回 spaceline 啦,貌似没有以前的卡顿了。

另外,整个 Spacemacs 使用的感觉变好了,暂时先把 spaceline 去掉用一段时间,看看以后会不会有 bug fix。

好舍不得啊😂,我现在的配置是基于 spacemcs-base 的我都特意把 spaceline 加回来了

暂且干掉看看

我反正是干掉了。。。 现在整个人都开心了,因为Spacemacs 的卡顿和莫名其妙的卡死,我都想自己打造一个 Spacemacs 了 :joy:

顺便我发现原生 modeline 上面 menu-iconminor mode 都会显示图标,顺便给 emoji layer 配了个 :joy:

不过吐槽一句这种情况下 menu-icon 就特别卡了。。可能要换的图标太多。。

建议把 menu-icon 去掉,好像对性能影响挺大的。。。

岂止挺大😂 简直爆炸

- command-execute                                                8346  93%
 - apply                                                         8346  93%
  - ad-Advice-command-execute                                    8346  93%
   - mode-icons-set-minor-mode-icon                              7817  87%
    - let                                                        7817  87%
     + let                                                       7817  87%
   + #<compiled 0x400cba5d>                                       529   5%
+ ...                                                             425   4%
+ redisplay_internal (C function)                                 123   1%
+ timer-event-handler                                              18   0%
+ beacon--post-command                                              7   0%
+ jit-lock-function                                                 1   0%

我去跟作者 report 去,等到能用再用

1 个赞

话说关掉这两个之后响应速度快了一截。。。

你说 Spaceline 和 mode-icon 吗?

恩是的,顺便按照作者给的 commit 丧心病狂的加了句

(add-hook 'after-init-hook (lambda () (setq gc-cons-threshold 300000000)))

防止哪天又被设回去了。。反正chrome开个标签页都能几百M-。-

2 个赞

上面那句还能提升多少性能?BTW,你的机器内存多大?

8GB,不能直接提升性能吧,只是放宽内存给它用,尽量少触发 GC 而已。

顺便找到个临时给 evil 适配原生 mode-line 的方案,不过颜色需要自己挑=。=目前的太丑了,明天有空选几个颜色

  (lexical-let ((default-color (cons (face-background 'mode-line)
                                     (face-foreground 'mode-line))))
    (add-hook 'post-command-hook
              (lambda ()
                (let ((color (cond ((minibufferp) default-color)
                                   ((evil-insert-state-p) '("#e80000" . "#ffffff"))
                                   ((evil-emacs-state-p)  '("#af00d7" . "#ffffff"))
                                   ((buffer-modified-p)   '("#006fa0" . "#ffffff"))
                                   (t default-color))))
                  (set-face-background 'mode-line (car color))
                  (set-face-foreground 'mode-line (cdr color))))))

找到一个更合适的方案,只改变 evil tag 比较好,否则 mode-line 会变得很难看

(setq evil-normal-state-tag   (propertize "[Normal]" 'face '((:background "green" :foreground "black")))
        evil-emacs-state-tag    (propertize "[Emacs]" 'face '((:background "orange" :foreground "black")))
        evil-insert-state-tag   (propertize "[Insert]" 'face '((:background "red") :foreground "white"))
        evil-motion-state-tag   (propertize "[Motion]" 'face '((:background "blue") :foreground "white"))
        evil-visual-state-tag   (propertize "[Visual]" 'face '((:background "grey80" :foreground "black")))
        evil-operator-state-tag (propertize "[Operator]" 'face '((:background "purple"))))

效果如图

3 个赞

事实证明这不是个好主意,内存给的过大,以至于虽然平时不卡,但是一旦垃圾回收开始时间会长得难以忍受

1 个赞

刚干掉powerline正需要这个!

我干掉powerline的原因是焦点不在emacs上pomodoro时间不会显示=。=

1 个赞

如果只是为了这个的话:(spacemacs/toggle-mode-line-org-clock-on)

1 个赞