我可以让 vim 改变它的光标行为吗?

我可以让 vim 改变它的光标行为吗?

我已经使用 vim 作为辅助编辑器几年了,但由于各种原因,我发现自己越来越多地使用它,即使我的主编辑器可用。一直困扰我vim并且阻止我更多地使用它的一个问题是它处理光标放置的方式。光标只能是一个角色,而不是之间字符,就像 1984 年以来创建的任何编辑器一样。

举一个例子来说明为什么这是一个问题,如果我想删除一行中的最后一个单词,我会点击$转到行尾,然后db向后删除。这留下了一个要删除的字符,因为$没有真的走到队伍的末尾,它走了到该行的最后一个字符,并且db只删除了原来的内容当前角色。问题不在于我必须输入额外的字符,而是在做应该简单的事情时需要额外的思考,这分散了我的注意力,使我无法专注于我真正想要完成的事情。

在我看来,更现代的光标放置想法在各方面都更优越,我想改用vim这种方法。我确信一些铁杆粉丝会不同意我的观点,但由于的优越性vim的标准论据之一是它的无限可配置性:vim

  • 在这种情况下可以交付吗?
  • 可以vim使光标放置之间人物?

答案1

您可以:set virtualedit+=onemore,它允许您跳过最后一个字符。对你来说不幸的是,$仍然到最后一个字符;您必须将光标悬停才能过去。另一方面,您可以使用g$,它通常转到最后一个字符屏幕一行上一行,换行;在onemore模式下,它也会经过非换行的最后一个字符(或换行的最后一个屏幕行)。

:h 'virtualedit'说这个选项可能会弄乱脚本,但我不知道实际上风险有多大。

相关内容