在大多数文本应用程序中,当您粘贴文本时,光标最终会停留在已粘贴文本的末尾。例如:
但是,在vim中,粘贴文本时光标不会移动。粘贴后是否可以前进到文本末尾(添加文本时不知道文本的结构是什么?例如,它可能是1000行文本或仅一个单词)。>
我当前要粘贴的命令是"
*
p
答案 0 :(得分:1)
在大多数文本应用程序中,当您粘贴文本时,光标会结束 在粘贴的文本的末尾。
Vim也是一样。但是不要忘记,“大多数文本应用程序”只有类似“ INSERT”的模式。如果您进入了vim的INSERT模式,并通过ctrl-r
+注册“粘贴”,例如ctrl-r "
。它的工作方式与“大多数文本应用程序”完全相同。
如果您也希望p/P
在正常模式下也能正常工作,则必须映射p/P
。或使用第二步标记]/[
。
答案 1 :(得分:0)
根据this answer to the same question a few years ago,粘贴命令p
和P
应该自动将光标留在您刚刚粘贴的内容的末尾。如果您不是这种情况,则可以使用[
和]
标记转到粘贴文本的开头或结尾,如下所示:
打勾(`)是移动到命名标记的命令。
答案 2 :(得分:0)
只需使用大写字母'p',如下所示:
"*P
在vim帮助中:
["x]P Put the text [from register x] before the cursor
[count] times.
您可以在插入模式下使用一种技巧来保持缩进并将光标放在剪贴板之后:
Ctrl-r Ctrl-o "Register"
对于您的“主要选择”,您可以:
Ctrl-r Ctrl-o *
您可以为此创建地图
inoremap <S-Insert> <C-r><C-o>*