【问题标题】:Why did emacs doesn't have scroll one line keybinding?为什么emacs没有滚动一行键绑定?
【发布时间】:2013-12-12 00:05:47
【问题描述】:

我正在从 vim 切换到 emacs。我已经使用 vim 两年了,所以当我使用 emacs 进行编辑时,我总是在想我使用 vim 的方式。
Vim 有很多键绑定来滚动缓冲区、一行、半屏、向上翻页等等。但是 emacs 只能使用 CTRL-V 滚动页面。是的,我可以定义一个自定义键绑定来轻松地自己滚动一行,但我现在想的是我是否应该这样做。如果它是一个真正必要的基本键绑定,那么emacs必须默认获得。

当你输入 CTRL-V

时,你不觉得迷路了吗?

【问题讨论】:

  • 默认设置是基于这样的想法,即不必要地重绘终端内容是一种不受欢迎且令人讨厌的费用(当然,逐行滚动是最糟糕的情况)。这通常不再是问题,但我认为这只是大多数用户习惯于默认设置或添加自定义功能以按照他们喜欢的方式滚动的事情之一。

标签: emacs


【解决方案1】:

如果您感到迷茫,请尝试将scroll-preserve-screen-position 设置为1

(setq scroll-preserve-screen-position 1)

您可以将该行添加到您的 init 文件中以使其永久化,或者按 M-: 并在提示符下输入它以在当前会话中试用。

此外,如果您发现自己总体上很想念 vim,您可以随时使用例如evil-mode。但是请记住,emacs 不是 vi,如果你真的想切换并使用它作为你的主编辑器,只有停止思考太多你习惯在 vim 中做的事情,你才会受益.

【讨论】:

  • 好主意。我现在感觉好多了。
【解决方案2】:

我想你想试试CTRL-N

【讨论】:

  • 是的,但是使用 CTRL-N 我需要将光标移动到屏幕底部,然后我才能开始滚动。我认为这不是很有效。
  • @ccheng 使用M-r 将点(光标)快速移动到窗口的中心、顶部和底部。一旦点到了您想要的位置,您就可以使用C-l 将当前 移动到窗口的中心/顶部/底部(这是另一种以更小步长滚动的方式)。跨度>
【解决方案3】:

您也可以使用鼠标滚轮滚动。根据您的设置,它可以轻松地一次滚动一行。只是另一种可能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 2016-12-15
    相关资源
    最近更新 更多