我正在寻找一个elisp
函数,它相当于用C
为vertical-motion
编写的函数。
我想实现我自己的错误修复由whitespace-mode
[(setq whitespace-style '(face space-mark tab-mark newline-mark) )
]和visual-line-mode
引起的,也许还有一些其他因素(例如,linum-mode
和tabbar-mode
)—例如,当point
是一个多或一个少比它应该是;或者当一行中的最后一个单词被换行,因为行尾正好等于window-width
(vertical-motion
不知道这个单词已经换行了)。
现在提交错误报告还为时过早,所以我想我会试着修复这个功能,而不是创建几个应急计划作为错误的解决方案——例如,如果(vertical-motion 0)
应该把(point)
放在(window-start)
,但(point)
最终比它应该多一个,然后假装(point)
真的是一个少。
vertical-motion
是一个复杂函数。在Elisp中重新实现它是困难的/不可能的。最好把你看到的问题报告为bug。