具有精确定位的Emacs滚动条

时间:2013-01-10 19:10:29

标签: emacs scrollbars fringe

如何获得具有精确定位的滚动条?

说明我的意思:

  1. C-h C-f (阅读GNU Emacs常见问题解答)

  2. 现在尝试定位缓冲区内容,使得以This is the version ...开头的段落位于顶部。使用默认滚动条,您需要多次重绘才能执行此操作。或者左键单击光标定位,然后 C-l C-l

  3. 现在回到你以前的地方。对于常规滚动条,这是不可能的。

  4. 我想要的是只需点击This is the version ...高度的滚动条,将此行放在第2步的顶部。然后返回我来自的地方,我右键点击(没有移动确实是老鼠。

    过去,我总是使用Athena widgets -like选项安装Emacs以获取此类滚动条,请参阅a description of them。但我想知道现在是否有更好或更现代的方法来做到这一点。毕竟,我更愿意使用标准发行版。

    也许,根本不需要更改滚动条,而是使用左边缘。毕竟,在边缘点击鼠标会被识别为<left-fringe>

    M-x emacs-version
    2012-11-21关于batsu的GNU Emacs 23.3.1(x86_64-pc-linux-gnu,GTK +版本2.24.10),由Debian修改

2 个答案:

答案 0 :(得分:1)

改变使用习惯可能会有所帮助吗?一些Emacs用户recommend disabling the scrollbars完全使用键盘导航Emacs。 (这种习惯也有利于在shell中使用Emacs。)

Emacs提供了大量navigation shortcuts。例如,对于大量缓冲区空间的上下跳跃,您有:

C-v scroll-up

M-v scroll-down

M - } forward-paragraph

M - { backward-paragaph

C-x] forward-page

C-x [ backward-page

但是,我认为到目前为止最有用的导航命令是:

C-s isearch-forward

C-r isearch-backward

在Emacs中,搜索是如此便宜,它是工作流程中不可或缺的一部分,通过使用参考词作为快速搜索的锚点来获取缓冲区中的不同点通常要快得多。离开主排到达鼠标。重复按 C-s C-r 会将该点移动到连续匹配。 (您甚至可以通过点击 M-r 切换到正则表达式搜索,同时搜索以使搜索功能更强大。)

你已经提到 C-l C-l 来查看缓冲区顶部的当前行。

现在,如果您想返回上一个位置,可以使用

C-u C-x

跳回标记。所有上述导航命令都将其开始位置推到“标记环”上,这意味着您不仅可以跳回一个位置,反复点击 Cu Cx 将带您回到许多以前的职位。

答案 1 :(得分:1)

对于这项任务,我按 C-l 一次,两次,三次。他们将在中上下方之间切换。