这是我本周的emacs问题,救救孩子 😫️

首先是第一个,怎么把 modeline 的高度锁死

我用的不是中英文等高的字体,用 rime 输入法的时候,minibuffer 的高度就在那里随着字符的高度更改,跳来跳去,另外字体显示不充分

我想给 modeline 设置高度,这样有空间装得下字体,也不会让字乱跳

再是文件搜索的问题

我想在一个项目里搜索文件,用 projectile 没有问题
我又想到了使用 tag 来搜索,不过我发现有

  • ctag
  • etag
  • gtag

我有点懵了,这三个是只用一个,还是我全都要? 有没有相应的配置能借鉴一下


10.25 20:50 分再加一个 treemacs的问题

每次启动都有这个 warning ,该怎么取消掉 ? [Treemacs Failure] Current theme fails to specify default background color, falling back on #2d2d31

我用的是 doom-one-light 主题,默认主题没有这个问题

1 个赞

用posframe来显示候选词就不存在这问题了。另外,这个不是modeline的问题,是minibuffer高度问题。

tags推荐用坛友写的 citre.

不过有时候在modeline中也有中英文字体不等高的情况,还是想知道如何设置 modeline 的高度
或是设置 modeline 中的字体类型 ?
ps doom-modeline 没有这种问题是怎么做到的?

在modeline插入一个特定高度的空格

你说的问题都有人说过了,发贴之前好好搜一下吧

;; ** 设置 mode-line
;; 在 mode-line 最后追加一个半角空格,一个全角空格,防止因为字体高度原
;; 因,导致 mode-line 抖动。
(setq mode-line-format `(,mode-line-format "  "))

有时候,换个思路就好了 :slight_smile:

这个问题感觉不应该出现吧?

表达有误吧,字体太高,Minibuffer 显示不全

这种情况我从来没遇到过,我只遇到过 minibuffer 高度不停变化,导致 modeline 上下抖动

1.固定minibuffer高度,可以参考下我以前提过的一个问题:

2.tags,用一个ctags就可以了,有citrecounsel-etags

可以考虑换一个中英文等高的等宽字体

doom-modeline 使用一个bar设置了高度,会自动计算字体高度和设置的最大值。

这个是已知问题,是因为中文字体高度和英文高度不一致造成的。
我是直接不显示候选了,直接内嵌。用拼音打字本来也不用看候选,盲打 :smile:。 弄了个切换显示候选框的函数,需要的时候打开一下候选。

输入法状态靠光标颜色识别,跟打英文一样,这种效果:
image

使用以下代码,可以让minibuffer固定一个高度,而且不会因为M-x命令而上下乱弹

(setq resize-mini-windows nil)
(setq ivy-height 5)
(setq minibuffer-height 5)
(defun my-set-mini-window-height (&optional frame)
  (let ((mini-win (minibuffer-window frame)))
    (when (and mini-win (< (window-size mini-win) minibuffer-height))
      (window-resize mini-win (- minibuffer-height (window-size mini-win))))))

(add-hook 'window-size-change-functions 'my-set-mini-window-height)


换了 Dejavu Sans Mono ,就是中文字体看着有点不爽,有点老旧的感觉

Ko no dio da !!


(add-hook 'after-init-hook 
	  (lambda () 
	    (progn 
	      (set-face-attribute 'mode-line nil :font "DejaVu Sans Mono-18")
	      (set-face-attribute 'mode-line-inactive nil :font "DejaVu Sans Mono-18")

	      (set-face-attribute 'minibuffer-prompt nil :font "DejaVu Sans Mono-18")
	      (set-face-attribute 'Info-quoted nil :family "DejaVu Sans Mono")

	      (set-fontset-font t 'han "Ubuntu Mono")
	      )))

这个代码重启后没用啊,中文字体还是 DejaVu Sans Mono

(dolist (charset '(kana han hangul symbol cjk-misc bopomofo))
  (set-fontset-font (frame-parameter nil 'font)
		    charset 
		    (font-spec :family "WenQuanYi Micro Hei Mono" :height 146 )))

卧槽,解决了