Vim复制粘贴剪切命令详解

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

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

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

1. 复制(Yank)

a) 复制整行
  • 命令: yy
    • 记忆方法:y ank y(整个当前行)。
  • 效果: 将光标所在的整行内容复制到 Vim 的默认寄存器中。
b) 复制到某个字符 / 复制单词
  • 复制一个单词: yw
    • 记忆方法:y ank word。
    • 效果:从光标当前位置开始,复制到单词末尾(包括单词后的空格)。
  • 复制到下一个指定字符: ytx
    • 记忆方法:y ank t o the character x
    • 效果:从光标当前位置开始,复制到本行中下一个出现的字符 x 之前(不包含 x)。将 x 替换为任意字符,如 f, ; 等。
  • 复制单个字符: 通常不单独操作,而是使用可视模式
    • 命令:vl 然后 y
    • 记忆方法:v isual 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
    • 记忆方法:d elete 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) yy yw v(进入可视模式)选中后 y,或 ytx
粘贴(Paste) p(下行) / P(上行) p(光标后) / P(光标前) p(光标后) / P(光标前)
剪切(Delete) dd dw x(当前字符)或 v选中后 d

核心要点:

  1. 动词(y, d) + 名词(w, $, tX) 是 Vim 操作的精髓。
  2. 剪切(d)掉的内容不要怕,它们都在寄存器里,用 p 可以粘贴回来。
  3. 多加练习,这些命令会变成肌肉记忆,极大提升编辑效率。
相关推荐
FJW02081412 小时前
Linux编辑神器——vim工具的使用
linux·运维·vim
添砖java‘’3 天前
vim高效编辑:从入门到精通
linux·编辑器·操作系统·vim
呱呱巨基4 天前
vim编辑器
linux·笔记·学习·编辑器·vim
嵌入式小能手5 天前
飞凌嵌入式ElfBoard-Vim编辑器之Vim常用操作命令
linux·编辑器·vim
aesthetician5 天前
Node.js v25 重磅发布!革新与飞跃:深入探索 JavaScript 运行时的未来
javascript·node.js·vim
水月wwww5 天前
操作系统——进程管理
linux·操作系统·vim·进程·进程调度
初听于你6 天前
深入了解—揭秘计算机底层奥秘
windows·tcp/ip·计算机网络·面试·架构·电脑·vim
叶落阁主7 天前
IdeaVim 新插件推荐- Vim CmdFloat 优化搜索/命令执行框
pycharm·vim·intellij idea
爱吃生蚝的于勒7 天前
【Linux】零基础学会linux环境基础开发工具使用(yum,vim,makefile,gdb)
linux·服务器·数据结构·c++·蓝桥杯·编辑器·vim
2401_837088507 天前
Redis的vim基本操作
linux·编辑器·vim