如何自定义spell check的choice窗口啊?
- 选项的个数限制为9个?
- 选项从1开始,或者从a开始?
- 窗口的位置在modeline上面,而不是在窗口的最顶端?
如何自定义spell check的choice窗口啊?
这个看起来没办法定制,但已经有了候选词情况下,重写一个选择界面可能更简单(用 Minibuffer、popup、Helm 之类的)。
也没直接的选项,但可以通过 Advice 实现。切分窗口是在 ispell-display-buffer
中通过 (split-window window size 'above)
实现的,所有把这里的 'above
改成 'below
就行:
(define-advice ispell-display-buffer (:around (old-fun buffer) split-window-below)
(define-advice split-window (:filter-args (args) below)
(list (nth 0 args) (nth 1 args) 'below (nth 2 args)))
(unwind-protect (funcall old-fun buffer)
(advice-remove 'split-window #'split-window@below)))
应该不用自己写,MELPA 上已经有好几个了:Helm、Ivy、Popup 都有了,搜索 ispell 或 flyspell 就能找到。
那个‘below 的窗口代码是可以的。
melpa上有现成的package,很方便,谢谢!