【问题标题】:Emacs (24): cursor moves to column 0 when changing line in c-modeEmacs(24):在c模式下换行时光标移动到第0列
【发布时间】:2013-02-15 11:59:07
【问题描述】:

我目前正在使用 Emacs 24.0.91.1,并且每隔一段时间,当我处于 c 模式(启用自动填充模式)时,光标行为会发生变化。

我想要的是当我向上/向下移动一行时光标保持在同一列上。然而,每隔一段时间,它就会跳到位置 0,我觉得这很烦人。有关如何禁用此功能的任何提示?

【问题讨论】:

  • 这是否只发生在不包含任何内容的行上?如果是这样,如果你继续移动光标会发生什么?
  • 一旦我向上或向下移动一行,无论内容如何,​​它都会跳转到第 0 列。关闭缓冲区并再次打开文件可以解决问题,如果您可以将这样的事情称为解决方案。
  • 我也注意到了这一点。有时光标重置到的列不是第 0 列。我假设我在按键太快时不小心调用了某些命令,但我无法猜出我正在点击什么组合。

标签: emacs c-mode


【解决方案1】:

我发现自己在插入很多键时遇到了同样的情况 我的emacs windows没有太小心。但是,我注意到它会不断将我的光标恢复到特定列,不一定是第 0 列。像 OP 一样,我最初求助于 杀死并重新打开缓冲区以清除此行为。然而,之后 搜索,我意识到我一定是不小心输入了 C-x C-n 时 试图快速卡住一些命令,导致意外 调用set-goal-column

emacs manual: Moving Point:

C-x C-n

使用当前的point列作为C-n和C-p的半永久目标列(set-goal-column)。当半永久目标列生效时,这些命令总是在垂直移动后尝试移动到该列,或尽可能靠近它。目标列在取消之前一直有效。

调用此命令时,我在 emacs 的 *Messages* 缓冲区中得到以下输出:

目标第 16 列(使用 C-x C-n 和 arg 取消设置)

要为 C-x C-n 提供参数并移除此效果,您可以 使用“数字前缀参数”提供参数。例如, C-0 C-x C-n(提供0 的数字前缀参数)清除 半永久性目标栏。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多