跳转到主要内容
你行网

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