如何在 Vim 中剪切、复制和粘贴
目录
前言
如何在 Vim 编辑器中复制文本
如何在 Vim 编辑器中剪切文本
如何在 Vim 编辑器中粘贴文本
如何通过选择文本来剪切和复制文本
通过选择文本复制
在 Vim 中选择文本来剪切文本
前言
在本篇 Vim 快速技巧中,你将学习到剪切和复制粘贴的相关知识。
剪切、复制和粘贴文本是文本编辑中最基本的任务之一,我们都知道 Vim 有不同的处理方式。
这意味着,在你掌握它之前,你会害怕它,一旦你掌握了它,它就只是一个兔子洞。
虽然我将详细介绍剪切、复制和粘贴,但这里是本教程的基本摘要,以帮助你开始使用:
< 如显示不全,请左右滑动 >
按键 | 描述 |
---|---|
yiw | 复制当前单词。 |
yy | 复制整行。 |
diw | 剪切当前单词。 |
dd | 剪掉整行。 |
p | 粘贴文本。 |
别担心,Vim 为你提供的选项比我上面提到的要多得多。
在本教程中,我将引导你完成以下内容:
◈ 如何在 Vim 中复制文本
◈ 如何在 Vim 中剪切文本
◈ 如何在 Vim 中粘贴文本
◈ 如何使用可视模式在 Vim 中剪切和复制文本
那么让我们从第一个开始。
如何在 Vim 编辑器中复制文本
虽然我们使用术语“复制”,但 Vim 有一个不同的术语,称为 “扽出(yank)”,因此从现在开始,我将使用“扽出”而不是“复制”。
正如我之前提到的,你可以使用多种方法在 Vim 中扽出文本,以下是一些有用的方法:
< 如显示不全,请左右滑动 >
命令 | 描述 |
---|---|
nyy 或 nY | 扽出(复制)当前行和接下来的 n-1 行。例如,3yy 复制当前行及其下面的两行。 |
yaw | 扽出(复制)光标所在的当前单词。 |
yy 或 Y | 扽出(复制)整个当前行。 |
y$ | 扽出(复制)从光标到行尾的文本。 |
y^ 或 y0 | 扽出(复制)从光标到行首的文本。 |
要在 Vim 中扽出,请执行以下 3 个简单步骤:
1. 按 Esc
键切换到正常模式
2. 移动到要复制的行或单词
3. 按上表中的相关命令,你的文本将被复制
想学习交互式复制行的方式吗?跳到本教程的最后一部分。
如何在 Vim 编辑器中剪切文本
在 Vim 中,你没有任何删除文本的选项。取而代之的是剪切文本,因此删除和剪切文本与 Vim 中的操作类似。
要在 Vim 中剪切文本,请按 d
命令。但你永远不会在没有任何选项的情况下使用 d
命令。你总是会添加一些东西来做更多操作。
因此,你可以使用以下一些实用方法使用 d
命令剪切文本:
< 如显示不全,请左右滑动 >
命令 | 描述 |
---|---|
dd | 剪切整个当前行。 |
d$ | 将文本从光标剪切到行尾。 |
d^ 或 d0 | 将文本从光标剪切到行首。 |
ndd 或 dN | 剪切当前行和接下来的 n-1 行。例如,3dd 剪切当前行及其下面的两行。 |
daw | 剪切光标所在的当前单词。 |
假设我想从文件中剪切前 4 行,然后我需要使用 4dd
,我是这样做的:
如何在 Vim 编辑器中粘贴文本
在 Vim 中复制或剪切文本后,只需按 p
键即可粘贴它。
你可以多次按 p
键多次粘贴文本,也可以使用 np
,其中 n
是要粘贴文本的次数。
例如,在这里,我粘贴了之前复制了三遍的行:
就是这么简单!
如何通过选择文本来剪切和复制文本
如果你使用过 GUI 文本编辑器,那么你肯定习惯于通过选择文本来复制和剪切文本。
让我们从如何通过在 Vim 中选择文本来复制开始。
通过选择文本复制
要在可视模式下复制文本,请执行以下 3 个简单步骤:
1. 移动到要开始选择的地方
2. 按 Ctrl + v
启用可视模式
3. 使用箭头键进行选择
4. 按 y
键复制所选文本
例如,在这里,我使用可视模式复制了 4 行:
如果你注意到,当我按下 y
键,它就会显示有多少行被扽出(复制)。就我而言,有 4 行被复制。
在 Vim 中选择文本来剪切文本
要在 Vim 中以可视模式剪切文本,你所要做的就是遵循 4 个简单步骤:
1. 移动到要剪切的位置
2. 按 Ctrl + v
切换到可视模式
3. 使用箭头键选择要剪切的行
4. 按 d
键剪切选定的行
假设我想剪掉 4 行,那么我会这样做:
挺容易。是吧?
相关文章:

如何在 Vim 中剪切、复制和粘贴
目录 前言 如何在 Vim 编辑器中复制文本 如何在 Vim 编辑器中剪切文本 如何在 Vim 编辑器中粘贴文本 如何通过选择文本来剪切和复制文本 通过选择文本复制 在 Vim 中选择文本来剪切文本 前言 在本篇 Vim 快速技巧中,你将学习到剪切和复制粘贴的相关知识。 剪…...
算法基础一
两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 解题思路:这道题最优的做法时间复杂度是O(n),顺序扫描数组,对每一个元素在…...

6.3 Windows驱动开发:内核枚举IoTimer定时器
内核I/O定时器(Kernel I/O Timer)是Windows内核中的一个对象,它允许内核或驱动程序设置一个定时器,以便在指定的时间间隔内调用一个回调函数。通常,内核I/O定时器用于周期性地执行某个任务,例如检查驱动程序…...
大数据-之LibrA数据库系统告警处理(ALM-37005 GTM进程异常)
告警解释 当出现如下情况时,产生该告警: GTM实例数据目录中的gtm.conf配置文件不存在或者其中某个配置参数不正确时。GTM实例服务线程无法监听IP,或者无法绑定监听端口。GTM实例进程没有其数据目录读写权限时。 告警属性 告警ID 告警级别…...

一种LED驱动专用控制电路
一、基本概述 TM1620是一种LED(发光二极管显示器)驱动控制专用IC,内部集成有MCU数字接口、数据锁存 器、LED驱动等电路。本产品质量可靠、稳定性好、抗干扰能力强。主要适用于家电设备(智能热 水器、微波炉、洗衣机、空调、电磁炉)、机顶盒、电子称、…...

Matlab进阶绘图第33期—双曲面图
在《Matlab论文插图绘制模板第56期—曲面图(Surf)》中,我分享过曲面图的绘制模板。 然而,有的时候,需要在一张图上绘制两个及以上的曲面图,且每个曲面图使用不同的配色方案。 在Matlab中,一张…...

【Linux】23、内存超详细介绍
文章目录 零、资料一、内存映射1.1 TLB1.2 多级页表1.3 大页 二、虚拟内存空间分布2.1 用户空间的段2.2 内存分配和回收2.2.1 小对象2.2.2 释放 三、查看内存使用情况3.1 Buffer 和 Cache3.1.1 proc 文件系统3.1.2 案例3.1.2.1 场景 1:磁盘和文件写案例3.1.2.2 场景…...

官网IDM下载和安装的详细步骤
目录 一、IDM是什么 二、下载安装 三、解决下载超时的问题 四、谷歌浏览器打开IDM插件 谷歌浏览器下载官网👇 五、测试 六、资源包获取 一、IDM是什么 IDM(internet download manager)是一个互联网下载工具插件,常见于用…...
【面经八股】搜广推方向:常见面试题(三)
【面经&八股】搜广推方向:常见面试题(三) 文章目录 【面经&八股】搜广推方向:常见面试题(三)1. 如何解决数据不平衡2. 假设检验的两类错误3. 为什么快排比堆排快4. RMSE、MSE、MAE5. 双塔模型的应用6. XGBoost如果损失函数没有二阶导,该怎么办7. AUC是如何实现的…...

[NOIP2006]明明的随机数
一、题目 登录—专业IT笔试面试备考平台_牛客网 二、代码 set去重,再利用vector进行排序 std::set是一个自带排序功能的容器,它已经按照一定的规则(默认是元素的小于比较)对元素进行了排序。因此,你不能直接对std::s…...
auth模块
一. auth模块前戏 # 引入:其实我们在创建好一个django项目之后直接执行数据库迁移命令会自动生成很多表 例如:django_sessionauth_user我们知道django在启动之后就可以直接访问admin路由,需要输入用户名和密码,数据参考的就是auth_user表,并且还必须是管…...
H5ke12--3--iframe--编辑邮箱的制作
下面我们来window.iframes[] frames是一个全局变量,它是一个对象数组,其中包含当前窗口中的所有框架(如果存在)。 在这段代码中,let frameframes[0];是将第一个框架赋值给变量frame。通过frame.document.designMode&q…...
Python面经【3】
零、可迭代对象 可迭代对象是迭代器和生成器的基础,简单来说,可以使用for循环遍历的对象就是可迭代对象,比如常见的list、set和dict。在python中,可迭代对象是指实现了__iter__()方法的对象,当我们使用for循环遍历一个…...

Python集合类型
目录 目标 版本 官方文档 集合分类 实战 创建 循环 常用方法 目标 掌握set和frozenset两种集合的使用方法,包括:创建、交集、并集、差集等操作。 版本 Python 3.12.0 官方文档 Set Types — set, frozensethttps://docs.python.org/3/library/s…...
npm install报错常用解题思路
最近刚接手一个“新”项目,让我很无语。明明是去年起的项目,但是它所用的部分技术栈非常旧,我启动项目,控制台一堆warning报错,然后项目结构也很让我不适应,很多地方都可以用文件夹包一下来方便定位。哎&am…...
conda: error: argument COMMAND: invalid choice
简介 使用conda activate 时,可能会报:conda: error: argument COMMAND: invalid choice: ‘activate’ (choose from ‘clean’, ‘compare’, ‘config’, ‘create’, ‘info’, ‘init’, ‘install’, ‘list’, ‘notices’, ‘package’, ‘remo…...

数仓成本下降近一半,StarRocks 存算分离助力云览科技业务出海
成都云览科技有限公司倾力打造了凤凰浏览器,专注于为海外用户提供服务,公司致力于构建一个全球性的数字内容连接入口,为用户带来更为优质、高效、个性化的浏览体验。 作为数据驱动的高科技公司,从数据中挖掘价值一直是公司核心任务…...
Apache基线检查
一、确保对OS根目录禁用覆盖 当 AllowOverride 指令设置为 None 时,Apache 将禁止在该目录下使用 .htaccess 文件来覆盖任何配置项。这意味着,除非您在主配置文件中显式地指定,否则该目录下的任何 .htaccess 文件都将被忽略。 禁用 .htaccess 文件可以提高服务器的安全性,因…...
flink的集成测试
背景 日常测试中我们使用flink的TestHarness只能测试单个算子,很多情况下我们需要集成测试来测试真正的问题,所以在flink中进行集成测试还是非常有必要的,本文就来记录下如何在flink中进行集成测试 flink中进行集成测试 flink中进行集成测…...
gitee推荐-1Panel
以下内容来源于gitee。 gitee地址:1Panel: 🔥 🔥 🔥 现代化、开源的 Linux 服务器运维管理面板。 大概和宝塔类似,但支持docker。在线体验:https://demo.1panel.cn/ 稍微试了下,没找到apache,…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...
python读取SQLite表个并生成pdf文件
代码用于创建含50列的SQLite数据库并插入500行随机浮点数据,随后读取数据,通过ReportLab生成横向PDF表格,包含格式化(两位小数)及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...

华为云Flexus+DeepSeek征文 | 基于Dify构建具备联网搜索能力的知识库问答助手
华为云FlexusDeepSeek征文 | 基于Dify构建具备联网搜索能力的知识库问答助手 一、构建知识库问答助手引言二、构建知识库问答助手环境2.1 基于FlexusX实例的Dify平台2.2 基于MaaS的模型API商用服务 三、构建知识库问答助手实战3.1 配置Dify环境3.2 创建知识库问答助手3.3 使用知…...

在MobaXterm 打开图形工具firefox
目录 1.安装 X 服务器软件 2.服务器端配置 3.客户端配置 4.安装并打开 Firefox 1.安装 X 服务器软件 Centos系统 # CentOS/RHEL 7 及之前(YUM) sudo yum install xorg-x11-server-Xorg xorg-x11-xinit xorg-x11-utils mesa-libEGL mesa-libGL mesa-…...