【问题标题】:How do I mouse scroll in Emacs in the terminal? I haven't gotten mouse-wheel-mode to work如何在终端的 Emacs 中滚动鼠标?我还没有让鼠标滚轮模式工作
【发布时间】:2020-06-09 00:21:34
【问题描述】:

我在终端中使用 Emacs,23 或 24 取决于我通过 SSH 连接到的机器,它们都是 Ubuntu / Mint。如果这很重要,我的 .bashrc 文件中也有 alias emacs='emacsclient -a "" -t' 行。几个月来我一直想弄清楚如何用鼠标滚动,但我似乎做不到,即使我在本地使用 Emacs。

每次我在终端中打开 Emacs 时,右侧都有一个滚动条,但它不起作用,因为您通常拖动的部分(滚动时移动的部分)填满了滚动条的整个高度酒吧,并且是不动的。

我看到很多人建议M-x mouse-wheel-mode。当我开始输入它时,tab complete 会向我显示完成列表,而这不在它上面。接受的答案here 声明它已包含在内,并且默认情况下处于打开状态。如果这是真的,那还有其他问题。在找到这个之前,我也试过为它找到一个.el,也没有成功。

我已经让(xterm-mouse-mode) 工作了。这可能只是因为它向 Emacs 证明我有鼠标。

我不知道接下来该尝试什么。有任何想法吗?

【问题讨论】:

  • mouse-wheel-modemwheel.el 中定义。它似乎不包含在 emacs 23 中,而仅包含在 emacs 24 中。在 emacs 24 上,在我的机器上,只需使用 (xterm-mouse-mode) 即可。在您启动 emacs 之前,您的 TERM 环境变量是什么?

标签: emacs


【解决方案1】:

添加以下内容让我在终端 emacs 中滚动:

;;;; Mouse scrolling in terminal emacs
(unless (display-graphic-p)
  ;; activate mouse-based scrolling
  (xterm-mouse-mode 1)
  (global-set-key (kbd "<mouse-4>") 'scroll-down-line)
  (global-set-key (kbd "<mouse-5>") 'scroll-up-line)
  )

【讨论】:

  • 这对我有用。它很慢,因为它一次只运行一行,但它很实用,我没有时间深入研究 emacs 配置的奥秘。比滚轮更有用的是能够用鼠标设置光标,我认为这要归功于(xterm-mouse-mode 1)
【解决方案2】:

编辑 2: 刚刚尝试在 xterm 中运行 emacs -Q -nw。在这种情况下,M-x xterm-mouse-mode 使我可以使用鼠标滚轮滚动大缓冲区。所以这毕竟是可能的。如果没有更多信息,无法说明为什么它对您不起作用。

原答案: 据我了解,在终端中运行的 emacs 只能非常有限地使用鼠标,并且只能使用一些终端仿真器。 xterm-mouse-mode 可能会有所帮助,但即便如此,我认为您无法滚动滚轮,只需单击即可。

编辑:由于您正在使用 ssh-ing,您可以尝试在远程机器上使用 GUI 版本的 emacs,在通过 ssh -x 连接后,或者在本地运行 emacs 并使用 tramp 进行 ssh 连接.您可以通过这种方式获得所有鼠标功能,不需要任何自定义调整。

【讨论】:

  • 或者在本地运行 Emacs,使用 Tramp 访问远程文件。
【解决方案3】:

在 macOS Mojave 上运行 Emacs 26.2 和 26.3 时,我已经能够使用以下 Elisp 代码激活鼠标滚动:

(unless (display-graphic-p)
  ;; activate mouse-based scrolling                                                                                                                                     
  (global-set-key (kbd "<mouse-4>") 'pel-scroll-down)
  (global-set-key (kbd "<mouse-5>") 'pel-scroll-up))

其中pel-scroll-uppel-scroll-down 是调用向上滚动和向下滚动交互函数的命令,显式参数值为1。

只要 xterm-mouse-mode 处于活动状态,它就可以工作。
我通常还会将一个键映射到 xterm-mouse-mode 以便能够快速打开和关闭它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多