【发布时间】:2011-12-07 12:41:45
【问题描述】:
我在 Windows 中使用 gvim。如何将文本从当前位置复制到 vi 中的行尾并将其粘贴到在 vi 中打开的另一个文件中。我用谷歌搜索但找不到任何解决方案。感谢您对此的任何帮助。谢谢。
【问题讨论】:
我在 Windows 中使用 gvim。如何将文本从当前位置复制到 vi 中的行尾并将其粘贴到在 vi 中打开的另一个文件中。我用谷歌搜索但找不到任何解决方案。感谢您对此的任何帮助。谢谢。
【问题讨论】:
移动到行尾的正常模式命令是$。
您可以使用y$ 复制到行尾并使用p 粘贴。
要在不同实例之间复制/粘贴,您可以通过选择*寄存器来使用系统剪贴板,因此命令变为"*y$用于复制,"*p用于粘贴。
$移动到换行符
$
y$yank-to-linebreak
y,$
"*y$ 选择剪贴板注册 yank-to-linebreak
",*,y,$
"*p选择剪贴板-注册粘贴
",*,p
查看:h registers了解更多信息。
【讨论】:
*(或+)寄存器复制到系统剪贴板。
file1 中的上下文复制到file2。我仍然需要使用鼠标。可能是什么原因?
D从当前位置剪切到末尾,p粘贴(恢复)原始数据,然后移动到其他地方粘贴被拉出的数据。仅仅是因为输入D 比输入y$ 容易得多。
y$,没有分号。
如果不想在 yank 中包含换行符,可以使用 yg_。 (或者在你的情况下,"*yg_)
基本上,只要认识到$ 和g_ 的移动方式之间存在差异。它在很多场合都对我有帮助。
【讨论】:
g_ 和$?我发现自己很少需要在动作中加入换行符。
$MYVIMRC 中添加nmap $ g_ 行
【讨论】:
yy 不是已经涵盖了吗?
Y 的默认功能会拉动整行,从头到尾(在您之前的评论中)。 Y 不会从光标拉到行尾,除非您按照此答案的建议重新映射它。
另一种解决方案:Dp 并将其粘贴到 p。事实上,这首先删除到行尾并将其重新粘贴到同一位置。使用p 将其粘贴到其他位置。
【讨论】: