假设我正在输入一些内容,然后意识到我刚刚输入的内容会重复几次。
现在,我想做的是向后选择,猛拉(从而返回到我开始的位置),然后立即粘贴。但是,当我最后键入的字符也是行尾时,我无法将光标移动一个空格,并且进入视觉模式会开始选择光标左侧,这意味着我键入的最后一个字符(通常是大括号),不会随之被复制。
尽管进行了漫长而无果的搜索,但我无法想出任何方法来开始选择后光标而不是在它前面。
毕竟,在 Vim 中,您可以使用“i”在光标之前开始插入,使用“a”在光标之后开始插入。那么,如果“v”相当于“i”,那么相当于“a”的地方在当前字符之后开始选择呢?我看过的备忘单或教程都没有答案。
答案1
该行为取决于'selection'
选项。你似乎有(非默认)exclusive
;使用 时inclusive
,选择确实包括光标下的字符。因此,切换该选项将是一种解决方案。
如果你想保留它,你可以向后选择,然后使用o$
或ol
返回到右端并通过丢失的字符扩展它。
或者,:set virtualedit=onemore
。这将使您能够超越行中的最后一个字符并从那里开始选择:lv...
此外,可用的“内部”文本对象通常使显式选择的需要消失。例如,viw
将选择整个最后一个单词。