当前位置: 首页 > news >正文

Vim复制粘贴剪切命令详解

好的,我们来详细讲解一下 Vim 中关于复制(yank)、粘贴(paste)和剪切(delete,然后粘贴)的命令。

Vim 的操作逻辑是“动词+名词”。先理解几个核心“动词”:

  • yyank(复制)
  • ppaste(粘贴)
  • ddelete(删除,但被删除的内容会存入寄存器,因此相当于剪切)

1. 复制(Yank)

a) 复制整行
  • 命令: yy
    • 记忆方法:yank y(整个当前行)。
  • 效果: 将光标所在的整行内容复制到 Vim 的默认寄存器中。
b) 复制到某个字符 / 复制单词
  • 复制一个单词: yw
    • 记忆方法:yank word。
    • 效果:从光标当前位置开始,复制到单词末尾(包括单词后的空格)。
  • 复制到下一个指定字符: ytx
    • 记忆方法:yank to the character x
    • 效果:从光标当前位置开始,复制到本行中下一个出现的字符 x 之前(不包含 x)。将 x 替换为任意字符,如 f, ; 等。
  • 复制单个字符: 通常不单独操作,而是使用可视模式
    • 命令:vl 然后 y
    • 记忆方法:visual mode,然后移动光标 l(向右)选择字符,最后 yank。
    • 更简单的方法:在普通模式下,直接 y 然后 l(向右)或 h(向左)也能实现复制单个或多个字符,但不直观。

举例说明(复制):
假设有一行文本,光标在 W 上:

Hello World, this is Vim.
  • yy:复制整行 Hello World, this is Vim.
  • yw:复制从 W 开始到 , 之前的单词,即 World(包括后面的空格,所以是 World )。
  • yt,:复制从 W 开始到 , 之前的所有内容,即 World
  • vlly:先按 v 进入可视模式,然后按两次 l(向右移动两个字符),选中 Wo,再按 y 复制。

2. 粘贴(Paste)

粘贴命令是统一的,取决于你复制的内容是整行还是部分内容。

  • 命令: p(小写) 和 P(大写)
  • 区别:
    • p(小写):在光标之后粘贴。
      • 如果复制的是整行,则粘贴到当前行的下一行
      • 如果复制的是单词或字符,则粘贴到光标所在字符的后面
    • P(大写):在光标之前粘贴。
      • 如果复制的是整行,则粘贴到当前行的上一行
      • 如果复制的是单词或字符,则粘贴到光标所在字符的前面

举例说明(粘贴):
假设我们刚刚用 yy 复制了整行 Hello World, this is Vim.,现在光标在另一行文本的 i 上:

I love it.
  • 按下 p:整行内容会粘贴到 I love it.下一行
    I love it.
    Hello World, this is Vim.
    
  • 按下 P:整行内容会粘贴到 I love it.上一行
    Hello World, this is Vim.
    I love it.
    

假设我们刚刚用 yw 复制了单词 World ,现在光标在 i 上:

I love it.
  • 按下 p:单词会粘贴到 i后面,变成 I World love it.
  • 按下 P:单词会粘贴到 i前面,变成 I World love it.(因为 i 是第一个字符,所以效果和 p 一样,但如果光标在单词中间,区别就明显了)。

3. 剪切(Delete,然后粘贴)

在 Vim 中,剪切 = 删除(d) + 粘贴(p)。因为使用 d 系列命令删除的内容会被保存到寄存器中,可以立即被粘贴。

a) 剪切整行
  • 命令: dd
    • 记忆方法:delete the current line。
  • 效果: 删除当前行,并将该行内容存入寄存器。之后可以按 pP 粘贴。
b) 剪切单词或字符
  • 剪切一个单词: dw
    • 记忆方法:delete a word。
    • 效果:从光标当前位置开始,剪切到单词末尾。
  • 剪切到行尾: Dd$
    • 记忆方法:Delete to the end of the line。
  • 剪切单个字符: x(剪切光标下的字符)或 X(剪切光标前的字符)

举例说明(剪切):
假设光标在 W 上:

Hello World, this is Vim.
  • dd:整行被剪切。该行消失,内容 Hello World, this is Vim. 被存入寄存器。按 p 可以将其粘贴到别处。
  • dw:从 W 开始剪切到 , 之前,即 World 被移除。原句变成 Hello , this is Vim.。此时按 p,可以将 World 粘贴到光标处(即 , 的前面)。
  • x:剪切光标下的字符 W,原句变成 Hello orld, this is Vim.。按 p 可以将 W 粘贴回来。

总结表格

操作整行单词单个/部分字符
复制(Yank)yyywv(进入可视模式)选中后 y,或 ytx
粘贴(Paste)p(下行) / P(上行)p(光标后) / P(光标前)p(光标后) / P(光标前)
剪切(Delete)dddwx(当前字符)或 v选中后 d

核心要点:

  1. 动词(y, d) + 名词(w, $, tX) 是 Vim 操作的精髓。
  2. 剪切(d)掉的内容不要怕,它们都在寄存器里,用 p 可以粘贴回来。
  3. 多加练习,这些命令会变成肌肉记忆,极大提升编辑效率。
http://www.dtcms.com/a/414656.html

相关文章:

  • STM32H743-ARM例程8-EXTI外部中断
  • ARM(IMX6ULL)——通信(UART)
  • 网站 开发逻辑开发app开发公司
  • Kong Gateway 实操实例:代理上游服务并配置限流插件
  • 陕西西安网站设计公司重庆住房建设工程信息网官网
  • 【鸿蒙心迹】 我和新人的鸿蒙应用上架之路
  • 鸿蒙NEXT开发浅进阶到精通14:鸿蒙开发项目中遇到的需求问题及解决笔记05
  • 做网站申请多少类商标天津优化代理
  • 学前端视频课程笔记
  • 有关网站开发的创意工厂外包小件加工
  • Metal - 8.深入剖析纹理贴图
  • 品牌网站建设 十蝌蚪小提交图片的网站要怎么做
  • LeetCode:73.柱状图中最大的矩形
  • 万网速成网站wordpress数据库修改域名
  • 【每日算法C#】二进制求和 LeetCode
  • 小九源码-springboot055-基于Java WEB旅游门票信息系统
  • CmBacktrace故障排查全攻略
  • Git注意事项
  • 类似于wordpress的网站网站建设需要花多少钱
  • pc网站怎么做wordpress编辑器百度
  • 瑞丽市建设局网站餐厅网站建设文案书
  • 如何给网站做下载附件专业商城网站建设价格低
  • 【解决方案】开始菜单-程序Programs目录为空导致utools无法打开cmd和控制面板解决方法
  • Go语言数据结构和算法(七)字符串匹配算法
  • 关于机器人的物理结构(连杆、关节、执行器)的快速入门介绍
  • C++进阶(1)——继承
  • 极简 Python 语言教程:从 Java 开发者视角入门实战
  • js 设计模式
  • Element前端黑马案例
  • ThingsBoard部署APP问题-GitHub无法访问