0

我想摆脱emacs 小地图缓冲区中的边缘。特别是线延续箭头。我仍然希望它们作为我的主要缓冲区,但在小地图中发现它们毫无意义。

我试图将以下内容添加到我的 ~/.emacs 文件中:

(add-hook 'minimap-mode-hook (lambda () (setq indicate-empty-lines nil)))
(add-hook 'minimap-mode-hook (lambda () (setq overflow-newline-into-fringeh nil)))
(add-hook 'minimap-mode-hook (lambda () (setq visual-line-mode 0)))

但他们似乎做的并不多。当谈到 lisp 和根据自己的想法修改 emacs 时,我相当缺乏经验,所以也许我误解了应该如何做到这一点。

我试过查看GNU 页面,但仍然无法管理。我会很感激解释我做错了什么。

4

1 回答 1

0

minimap-mode我玩过它,Minimap 在没有设置主要模式或以其他方式在小地图缓冲区中运行任何钩子(本身是全局次要模式)方面有点奇怪,所以看起来我们需要使用建议来做这个。

您说的是“行延续箭头”,但在尝试之后我认为您的意思是“行截断箭头”,所以这就是我的目标。

这似乎可以解决问题:

(define-advice minimap-new-minimap (:after () hide-truncation-indicators)
  "Hide truncation fringe indicators in the minimap buffer."
  (with-current-buffer minimap-buffer-name
    (push '(truncation nil nil) ;; no truncation indicators
          ;; '(truncation nil right-arrow) ;; right indicator only
          ;; '(truncation left-arrow nil) ;; left indicator only
          ;; '(truncation left-arrow right-arrow) ;; default
          fringe-indicator-alist)))
于 2020-04-24T21:38:43.203 回答