如何将文本从vi复制/粘贴到不同的应用程序

时间:2012-05-29 16:52:32

标签: vim vi

是否可以在不使用以下情况下复制/粘贴文本:vs?如果我打开了两个vi窗口,我可以用鼠标复制/粘贴文本。我怎么能用键盘做呢?

我发现了两个与此相似的现有问题,但没有人回答我的问题 how to copy codes in vi to clipboard
Copy and paste content from one file to another file in VI

3 个答案:

答案 0 :(得分:6)

我确信有很多方法,但我使用marksregisters来做。

标记

您可以使用m后跟您要使用的商标名称在文件中的任意位置放置标记。

您可以使用a和z之间的任何字母(大写和小写)来命名您的商标。

您可以使用'键转到包含标记的行。

例如,mx标记x 标记一行,'x将光标移动到包含标记x 的行。

您可以使用反引键转到标记的确切位置:`

例如,要从当前光标位置拉到包含标记x的行,您应输入y'x

寄存器

为了使用剪贴板,您需要使用寄存器,这些寄存器代表您可以存储文本的地方。

就像你可以为每个字符使用不同的标记一样,你可以命名你要将文本写入的寄存器。

您在yanking / put时使用"键来引用注册表。

例如"ay'x会将光标和包含x的行之间的文本拉到注册

剪贴板由特殊注册表示:*+,具体取决于您的环境。

要将光标和包含标记x的行之间的文本拉到剪贴板,请输入以下内容:"+y'x

这说:使用缓冲区+(剪贴板)将文本存储在光标和包含标记x的行之间。

执行此操作后,您的文字将显示在剪贴板中。您可以使用CONTROL-V将其粘贴到其他应用程序中。

注意:在某些环境中,剪贴板由名为*的缓冲区表示。


这可能听起来势不可挡,但是一旦你习惯它,它就非常强大。

我每天都会使用这几百次。

如果您正在编辑具有多个感兴趣关键点的文件,则可以使用不同的标记标记文件的每个部分,并快速将光标移动到需要编辑的代码之间。

同样,如果您需要重复复制多个文本,可以将每个文本存储在不同的寄存器中,以提高粘贴效率。

答案 1 :(得分:4)

您可以使用+注册表进行复制/粘贴(阅读更多内容:Accessing the system clipboard

"+gyy会抽出一行,并将其放入+注册表中。您可以在正常模式下使用"+p粘贴到其他窗口,或者在插入模式下粘贴Ctrl+r +

如果您不想使用拆分窗口,除了使用系统剪贴板外,除了窗口之外没有其他方法可以粘贴。

答案 2 :(得分:0)

@up耗尽了主题。我可以补充说,大多数相关的组合是与系统键组合相关联,在Gvim的配置中找到你(例如,CTRL + C CTRL + V等的窗口映射在mswin.vim中)