跳转到主要内容
你行网

Main navigation

  • 首页
  • Drupal
  • 编程与开发
  • 数据库
  • 操作系统与应用
  • 服务器与运维
  • 社区
User account menu
  • 登录

面包屑

  1. 首页

如何在 Vim 中复制文本(到剪贴板)

由 hrs, 11 八月, 2023

想要从 Vim(在命令行上)获取文本并输入到另一个应用程序中?在这里了解如何将文本从 Vim 复制到Mac、Linux 和 Windows 上的系统剪贴板。

首先,注意一致的用户界面
“请注意一致的用户界面和错误报告,”Patrick J. LoPresti 在 1992 年 7 月的一个炎热的日子里写道,关于Unix行编辑器ed和典型的第一次使用它:

golem$ ed
?
help
?
?
?
quit
?
exit
?
bye
?
hello?
?
eat flaming death
?
^C
?
^C
?
^D
?

当然,今天人们对Vim也开了同样的 玩笑(vi 是 ed 的后裔)。

假设您知道如何退出 Vim,让我们尝试从中获取文本而不是我们自己。(下面使用命令行工具复制行的命令在标准文本编辑器 ed 中的工作方式相同。)

如何在 Vim 中复制文本(到剪贴板)
使用剪贴板寄存器
所需时间:  1分钟

在Mac、Windows和Linux上将文本从 Vim 复制到系统范围的剪贴板:

按V进入可视模式。
“V”不进入视觉模式:Esc先按下以确保您处于正常模式。
不需要可视化:当然,你不需要使用可视化模式来复制到 Vim 中的剪贴板;所有其他指定要复制/复制内容的方法也都有效(例如,y3w复制三个单词)。

使用移动键仅突出显示您要复制的文本。
Vim 快捷键:按J向下、K向上、H向左、L向右、W向前跳一个单词、按单词向后B跳、最后一行、第一行等。Shift GGG

现在输入"*y.
原因如下:Vim 有多个内部剪贴板(称为寄存器),其中一些很特殊。要访问任何剪贴板,请在寄存器前加上"(引号),并且系统剪贴板具有特殊名称*(星号)。要将文本复制到寄存器,您最终需要使用y(“yank”)。


使用 Vim 剪贴板寄存器将文本复制到系统剪贴板
使用命令行工具
如果使用 Vim 的系统剪贴板寄存器进行复制失败,您可以重新启动以将文本发送到命令行工具:

按Shift V进入视线模式。
“Shift V”不进入视觉模式:Esc先按下以确保您处于正常模式。
不必是可视化的:当然,您不需要使用可视化模式在 Vim 中进行复制(见下文);不过,为了在 Vim 和Neovim中以一种平易近人的方式(如果可能不是最快)复制文本,视觉模式应该可以达到目的。
总是行:请注意,Vim 只允许您复制整行;虽然您可以使用视觉模式突出显示一行的一部分,但 Vim 仍会将整行文本发送到剪贴板。有关复制行的一部分的信息,请参阅下文。
使用动作键仅突出显示要复制的行。
类型:.
现在,输入适用于您的操作系统的命令,将文本从 Vim 复制到剪贴板,如下所示:'<,'>。
macOS:附加:w !pbcopy到命令行(使用 pbcopy 从终端复制到剪贴板)。
Windows:键入:w !clip。
Linux:写:w !xclip -selection clipboard。
示例:在 Mac终端中,Vim 命令行将读取'<,'> :w !pbcopy。
按Enter。


将文本从 Vim 复制到 Mac 剪贴板
如何在 Vim 中复制文本(并复制到剪贴板):常见问题解答
我可以在没有视觉模式的情况下从 Vim 进行复制吗?
是的。

您可以使用任何允许您拉动 * 寄存器以复制到剪贴板的选择命令。

示例:用于:%y *将整个文档复制到剪贴板。

或者,将行从 Vim 复制到系统剪贴板,而不先使用命令行工具突出显示它们:

按:(冒号)进入命令行。
键入first_line,last_linew !后跟操作系统的复制命令(见上文)。
Lines:将first_line 替换为要复制的第一行的编号,将last_line 替换为最后一行。
最后一行:您可以用于$最后一行。
所有行:%代表整个文档;它相当于0,$(从第一行到最后一行)。
示例:将命令读取:3,7w !clip为复制 Windows 命令行上的第 3 行至第 7 行。
整个文档:用于:w !xclip -selection clipboard复制整个文件,例如在 Linux 上。
如果剪贴板寄存器不起作用,如何复制部分行?
如果剪贴板寄存器无法复制到系统剪贴板,要复制行的一部分,通常最简单(因此也是最好)依赖终端的复制命令:

使用鼠标突出显示要复制的文本。
行内:最好仅突出显示行的一部分,否则无关字符(例如行号)也会被复制,并使使用文本变得更加困难。
按Ctrl C或Command C进行复制,或右键单击并从上下文菜单中选择复制。
如何在图形 Vim 中复制?
在使用操作系统图形界面(而不是命令行)的 Vim 中,您可以突出显示文本并使用标准复制命令(通常为 或Ctrl C)直接复制Command C,或者使用上面的系统剪贴板寄存器。

  • 登录或注册以发表评论
  • 277 次浏览
内容类型分类
操作系统与运用
文章归类
Linux

文章标签

  • vim

评论

最新文章

  • 内容审核通知 content_moderation_notifications 模块简介
  • 调度程序 scheduler 模块简介
  • 工作流当中的草稿,已发布,很好理解,已归档是怎么理解。
  • 你行网 https://www.dwoke.com seo 关键词
  • brew 是什么命令
  • drupal 9 或 drpal 10 国内内容分享模块 Will Nice social share
  • Views Slideshow - Views Vanilla JavaScript Slideshow (VVJS) 简介和安装方法
  • drupal 11 安装statistics 统计模块
  • drupal11 扩展中找不到Statistics模块
  • drupal11 设置中的“总结摘要”和“切边的” 有什么区别

标签云

adsenseAIapacheaptbadblocksbreadcrumbbrewcentoscertbotckeditorcommandcomposercookiecsharpCSScurlC语言DDEVdiffdnsdockerDreamweaverDrupaldrupal 7drupal 8drupal 9drupal10drupal 11drushExcelfirewalldfirmwareflameshotformgimpgitgzipHTMLHTML5httpdhttp验证inputipjavaJavaScriptJavaSrciptkernelKVMLinuxmavenmbstringmod_expires 模块Mysqlnerdtreenetstatnetworknginxnpmpasswordphpphpmyadminphp扩展RFIDRSSselinuxSEOsharesimple_adsensesshsslStatisticssuperfishsurroundtagcloudstitleubuntuuploadprogressvimVPNVUEWireGuardwpsxdebugyoutubeyumzip主题(theme)二进制五笔分类术语压缩解压哈希值声音字段密码工作流快捷键摄影权限果树种植标签优化模块(module)源地址版本号电子秤电脑基础电脑技巧短信验证端口简介算法网站备份网站运营翻译英语表单视图(views)计算机基础赚钱超五类线网线邮件验证重定向重定向,301错误颜色

相关文章

  • brew 是什么命令
  • linux-firmware 是什么,有哪些作用?
  • journalctl 的使用和简介
  • coc.nvim 的补全快捷键设置
  • linux 网络检查命令
  • 如何安装 coc-intelephense
  • vim 缓冲区列表命令
  • vim 一些常用设置的解释
  • vim出现无效寄存器错误
  • vim 如何取消高亮
RSS源

关于我们

  • 你行网简介
  • 关于我们
  • 版权声明

网站相关

  • 社区论坛
  • 网址导航
  • 网站地图
  • 联系我们

友情链接

  • 英文学习

友情链接2

  • drupal 大学
  • 水滴间
  • 爱码网
  • Apache

友情链接3

  • MySQL
  • php
  • drupalcode

友情链接4

  • Drupal 中国
  • Drupal 老葛
  • 宁浩网
  • drupal 台湾
Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号-1