如何在终端中的Emacs中鼠标滚动?我没有使用鼠标滚轮模式工作

时间:2013-08-12 23:38:16

标签: emacs

我在终端中使用Emacs,23或24,具体取决于我所连接的机器,这些都是Ubuntu / Mint。如果重要的话,我的.bashrc文件中也有alias emacs='emacsclient -a "" -t'行。我想弄清楚如何用鼠标滚动数月,但我似乎无法,即使我在本地使用Emacs。

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

我见过很多人建议M-x mouse-wheel-mode。当我开始输入时,tab完成显示完成列表,而不是它。接受的答案here表示默认情况下包括在内。如果这是真的,那么别的东西就错了。在找到这个之前,我也试过为它找到.el,但也没有成功。

我已经(xterm-mouse-mode)工作了。这可能只与Emacs证明我有鼠标有关。

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

3 个答案:

答案 0 :(得分:3)

编辑2:刚尝试在xterm中运行emacs -Q -nw。在这种情况下M-x xterm-mouse-mode使我可以用鼠标滚轮滚动大缓冲区。毕竟这是可能的。如果没有进一步的信息,不能说它为什么不适合你。

原始回答: 据我了解,在终端中运行的emacs只能使用非常有限的鼠标,并且只能使用一些终端模拟器。 xterm-mouse-mode可能会有所帮助,但即便如此,我认为你不能轮流滚动,只需点击。

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

答案 1 :(得分: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)
  )

答案 2 :(得分:0)

通过在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以便能够快速打开和关闭它。