移除 Emacs 小地图中的边缘箭头

Remove fringe arrows in the Emacs minimap

我想去掉 emacs minimap buffer. 中的边缘,特别是线条延续箭头。我仍然希望将它们用于我的主要缓冲区,但发现它们在小地图中毫无意义。

我尝试将以下内容添加到我的 ~/.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 pages 但仍然无法管理。请解释我做错了什么,我将不胜感激。

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

你说的是 "line continuation arrows",但在尝试之后我认为你的意思是 "line truncation arrows",所以这就是我的目标。

这似乎可以解决问题:

(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)))