跳转到主要内容
你行网

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,或者使用上面的系统剪贴板寄存器。

  • 登录或注册以发表评论

文章标签

  • vim

评论

文章标签

CSS
Excel
ubuntu
php
vim
五笔
VPN
Linux
command
HTML
drupal 8
drupal 7
centos
composer
Mysql
模块(module)
drush
Drupal
JavaSrcipt
apache
英语
drupal 9
nerdtree
SEO
network
果树种植
surround
drupal10
主题(theme)
ssh
phpmyadmin
二进制
yum
权限
声音
selinux
HTML5
ssl
WireGuard
password
Dreamweaver
DDEV
flameshot
翻译
颜色
uploadprogress
邮件验证
kernel
firewalld
视图(views)
快捷键
xdebug
gzip
错误
电脑基础
C语言
ckeditor
简介
mbstring
源地址
certbot
git
php扩展
httpd
csharp
电子秤
apt
短信验证
压缩解压
breadcrumb
表单
KVM
AI
firmware
重定向
摄影
diff
superfish
drupal 11
版本号
网站备份
docker
java
tagclouds
端口
RSS
adsense
电脑技巧
算法
simple_adsense
youtube
JavaScript
cookie
badblocks
网站运营
计算机基础
zip
RFID
VUE
dns
标签优化
gimp
form
ip
mod_expires 模块
赚钱
http验证
curl
重定向,301
netstat
字段
maven
input
nginx
哈希值
npm
wps
更多

相关文章

  • coc.nvim 的补全快捷键设置
  • 如何安装 coc-intelephense
  • vim 缓冲区列表命令
  • vim 一些常用设置的解释
  • vim出现无效寄存器错误
  • vim 如何取消高亮
  • vim 如何关闭多个文件
  • 在 ubuntu 系统安装Vim-Plug
  • 如何使用 Vim 的 Syntastic 插件
  • vim 设置默认窗口大小
RSS源

友情链接 网站地图 版权信息 联系我们 网址导航 社区

Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号