在不移动光标的情况下粘贴到 VIM 中的文件末尾
Paste to end of the file in VIM without moving cursor
在文本文档中,我[通过视觉或其他方式] 选择几行,用 d
剪切它们...我想将这些行粘贴到文件末尾而不移动光标。有没有相对简单的方法来做到这一点?
您可以定义一个标记当前位置的映射,使用 :$put
粘贴到缓冲区的末尾,然后使用标记 returns 粘贴到原始光标位置。
这是有效的,因为 :put
允许行号前缀(最后一行可以表示为 $
)。来自 :help put
:
:[line]pu[t] [x] Put the text [from register x]
这会将其映射到 <leader>
p:
:nnoremap <leader>p :mark '<cr>:$put<cr>`'
它在光标处设置'
标记,粘贴在末尾,然后returns到'
标记`
有几种方法:
标记
设置标记,粘贴,然后跳回标记
m':$pu<cr>``
可视模式
可视化 select 你的行,复制它们,追加,然后恢复可视化 selection(可选删除)
y:$pu<cr>gv
附加到文件
在视觉上 select 您的行,使用 :w
附加到文件,然后重新加载文件。 (注意:会将光标移动到可视化 selected 行的开头)
:w >><cr>:e!
创建你自己的command/mapping
您可以创建自己的命令 and/or 映射,它将使用 winsaveview()
和 winrestview()
追加然后恢复游标。
取决于你的意思"without moving the cursor"。
这将粘贴到当前文件的底部,然后允许您从剪切行的位置继续。
- 拆分 window 与 :split
- 使用 shift+g
移至底部
- 粘贴 p
- 关闭重复的拆分视图(zz 或 :q)
不喜欢分屏的可以在G后ctrl+o跳回
- 使用 shift+g
移至底部
- 粘贴 p
- 按ctrl+o
跳回
使用上次跳跃的隐式标记
您可以使用隐式标记(例如'
)将您的光标return移动到它在最后一次跳转之前占据的位置。例如:
Gp''
这将 (G)o 到文件末尾,(p)粘贴最后一行之后的内容,然后 return 到您键入时的位置 G .
在文本文档中,我[通过视觉或其他方式] 选择几行,用 d
剪切它们...我想将这些行粘贴到文件末尾而不移动光标。有没有相对简单的方法来做到这一点?
您可以定义一个标记当前位置的映射,使用 :$put
粘贴到缓冲区的末尾,然后使用标记 returns 粘贴到原始光标位置。
这是有效的,因为 :put
允许行号前缀(最后一行可以表示为 $
)。来自 :help put
:
:[line]pu[t] [x] Put the text [from register x]
这会将其映射到 <leader>
p:
:nnoremap <leader>p :mark '<cr>:$put<cr>`'
它在光标处设置'
标记,粘贴在末尾,然后returns到'
标记`
有几种方法:
标记
设置标记,粘贴,然后跳回标记
m':$pu<cr>``
可视模式
可视化 select 你的行,复制它们,追加,然后恢复可视化 selection(可选删除)
y:$pu<cr>gv
附加到文件
在视觉上 select 您的行,使用 :w
附加到文件,然后重新加载文件。 (注意:会将光标移动到可视化 selected 行的开头)
:w >><cr>:e!
创建你自己的command/mapping
您可以创建自己的命令 and/or 映射,它将使用 winsaveview()
和 winrestview()
追加然后恢复游标。
取决于你的意思"without moving the cursor"。
这将粘贴到当前文件的底部,然后允许您从剪切行的位置继续。
- 拆分 window 与 :split
- 使用 shift+g 移至底部
- 粘贴 p
- 关闭重复的拆分视图(zz 或 :q)
不喜欢分屏的可以在G后ctrl+o跳回
- 使用 shift+g 移至底部
- 粘贴 p
- 按ctrl+o 跳回
使用上次跳跃的隐式标记
您可以使用隐式标记(例如'
)将您的光标return移动到它在最后一次跳转之前占据的位置。例如:
Gp''
这将 (G)o 到文件末尾,(p)粘贴最后一行之后的内容,然后 return 到您键入时的位置 G .