我已经使用 vim 作为辅助编辑器几年了,但由于各种原因,我发现自己越来越多地使用它,即使我的主编辑器可用。一直困扰我vim
并且阻止我更多地使用它的一个问题是它处理光标放置的方式。光标只能是在一个角色,而不是之间字符,就像 1984 年以来创建的任何编辑器一样。
举一个例子来说明为什么这是一个问题,如果我想删除一行中的最后一个单词,我会点击$
转到行尾,然后db
向后删除。这留下了一个要删除的字符,因为$
没有真的走到队伍的末尾,它走了到该行的最后一个字符,并且db
只删除了原来的内容前当前角色。问题不在于我必须输入额外的字符,而是在做应该简单的事情时需要额外的思考,这分散了我的注意力,使我无法专注于我真正想要完成的事情。
在我看来,更现代的光标放置想法在各方面都更优越,我想改用vim
这种方法。我确信一些铁杆粉丝会不同意我的观点,但由于的优越性vim
的标准论据之一是它的无限可配置性:vim
- 在这种情况下可以交付吗?
- 可以
vim
使光标放置之间人物?
答案1
您可以:set virtualedit+=onemore
,它允许您跳过最后一个字符。对你来说不幸的是,$
仍然到最后一个字符;您必须将光标悬停才能过去。另一方面,您可以使用g$
,它通常转到最后一个字符屏幕一行上一行,换行;在onemore
模式下,它也会经过非换行的最后一个字符(或换行的最后一个屏幕行)。
:h 'virtualedit'
说这个选项可能会弄乱脚本,但我不知道实际上风险有多大。