Emacs (24): 在 c 模式下换行时光标移动到第 0 列

hnr*_*nrk 2 emacs c-mode

我目前正在使用 Emacs 24.0.91.1,当我处于 c 模式(启用自动填充模式)时,光标行为会时不时地发生变化。

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

bin*_*nki 5

当我不小心将大量按键塞入我的 emacs 窗口时,我发现自己也处于同样的情况。但是,我注意到它会不断将我的光标恢复到特定列,而不一定是第 0 列。与OP 一样,我最初采用\n终止并重新打开缓冲区来清除此行为。然而,经过搜索,我意识到我一定是在尝试快速卡住某些命令时不小心输入了 Cx Cn ,导致意外调用set-goal-column

\n\n

emacs 手册:移动点

\n\n
\n

CXCn

\n\n

使用当前点列作为 Cn 和 Cp 的半永久目标列(set-goal-column)。当半永久目标列生效时,这些命令在垂直移动后始终尝试移动到该列,或尽可能靠近该列。目标栏在取消之前一直有效。

\n
\n\n

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

\n\n
\n

目标第 16 列(使用带有 arg 的 Cx Cn 来取消设置)

\n
\n\n

要为 Cx Cn 提供参数并消除此影响,您可以使用 \xe2\x80\x9c 数字前缀参数\xe2\x80\x9d 来提供参数。例如,\n C-0 Cx Cn(提供数字前缀参数0)将清除\n半永久目标列。

\n