繁体   English   中英

粘贴到VIM中的文件末尾而不移动光标

[英]Paste to end of the file in VIM without moving cursor

在一个文本文档中,我[在视觉上或其他方面]选择几行,用d剪切...我想将这些行粘贴到文件的末尾而不移动光标。 有一个相对简单的方法来做到这一点?

使用上一跳的隐含标记

您可以使用隐式标记(例如' )将光标返回到最后一次跳转之前占据的位置。 例如:

G p ' '

这将是(G)o到文件的末尾,(p)在最后一行之后的内容,然后在你键入G时返回到你的位置。

您可以使用以下命令定义标记当前位置的贴图,在缓冲区末尾粘贴:$put然后使用标记返回到原始光标位置。

这是因为:put允许行号前缀(最后一行可表示为$ )。 来自:help put

:[line]pu[t] [x]        Put the text [from register x]

这会将它映射到<leader> p

:nnoremap <leader>p :mark '<cr>:$put<cr>`'

它设置'光标处的标记,最后粘贴,然后返回'标记'

有几种方法:

分数

设置标记,粘贴,然后跳回标记

m':$pu<cr>``

视觉模式

目视选择行,复制,追加,然后恢复视觉选择(可选删除)

y:$pu<cr>gv

附加到文件

以可视方式选择行,使用:w附加到文件,然后重新加载文件。 (注意:将光标移动到视觉选择行的开头)

:w >><cr>:e!

创建自己的命令/映射

您可以创建自己的命令和/或映射,使用winsaveview()winrestview()来追加然后恢复光标。

取决于你的意思“不移动光标”。

这将粘贴到当前文件的底部,然后允许您继续切割线的位置。

  1. 拆分窗口:拆分
  2. shift + g移动到底部
  3. 贴上p
  4. 关闭重复的拆分视图( z z或:q)

如果您不喜欢拆分视图,可以使用ctrl + o在G之后跳回

  1. shift + g移动到底部
  2. 贴上p
  3. ctrl + o跳回来

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM