2013-02-15 54 views
1

我目前使用Emacs 24.0.91.1,每过一段时间,当我处于c模式时, - 填充模式启用)。Emacs(24):在c模式下更改行时,光标移动到第0列

我想要的是当我向上/向下移动一行时,光标留在同一列上。然而,每过一段时间,它就会跳到0的位置,这让我觉得非常讨厌。有关如何禁用此技巧的任何提示?

+1

这是否仅在不包含任何内容的行上发生?如果是这样,如果继续移动光标会发生什么? – Lindydancer 2013-02-15 14:35:16

+0

一旦我向上或向下移动一行,无论内容如何,​​它都会跳到第0列。如果可以调用这样的解决方案,关闭缓冲区并再次打开文件解决了问题。 – hnrk 2013-02-18 07:29:02

+0

我也注意到了这一点。有时光标重置的列不是第0列。我假设我在意外地调用某个命令时速度太快,但我无法猜测我正在碰到什么组合。 – binki 2014-03-24 17:59:51

回答

2

我发现自己处于同样的情况,在我的emacs窗口中插入很多密钥到 而没有太小心。但是,我注意到它会继续将光标还原到特定的列,而不一定是0列。与OP一样,我最初使用了 查杀并重新打开缓冲区以清除此行为。然而,在 搜索后,我意识到当 试图快速堵塞某些命令时,我意外地输入了C-x C-n,导致意外地调用set-goal-column

emacs manual: Moving Point

C-X C-N

使用点的当前列作为C-N和C-P(设置目标列)的半永久性球门立柱。当半永久性目标栏生效时,这些命令总是尝试移动到该栏,或尽可能靠近该栏,垂直移动后。目标栏保持有效直至取消。

当调用此命令时,我得到在Emacs的*Messages*缓冲输出如下:

目标列16(使用CX道道与ARG来取消它)

为了供应CX Cn与参数并删除此效果,您可能会 使用“数字前缀参数”提供参数。例如, C-0 C-x C-n(提供0的数字前缀参数)会清除 半永久性目标列。