考虑以下代码:
(goto-char (point-max))
(insert "\n")
在邪恶模式的正常状态下,goto-char 视觉上将光标移动到行尾,但它指向最后一个符号之前,而不是之后。虽然上面的例子工作得很好——它就像光标指向最后一个符号之后一样,所以最后一个符号不会被带到下一行,这是正确的行为。我想知道邪恶是如何确定它需要在最后一个符号之后插入的,而不是之前。
我问这个问题的原因是因为我试图理解为什么在邪恶模式的正常状态下按进入haskell-mode repl 会将当前行的最后一个符号放在下一行。看起来像是(insert "\n")
在回调中调用,而 evil 不知道它需要保持兼容性。