vi的选中、剪切、复制、黏贴

本文详细介绍了Vim编辑器中的各种快捷键操作,包括选中、剪切、复制和粘贴等功能,适用于命令行模式下的高效文本编辑。

一下操作均是在命令行模型下

选中

  从光标开始向后 v+

  从光标开始向前 v-

剪切

  剪切整行 dd

  剪切选中的字符  d

  剪切光标到行尾 d$

  剪切光标到行首 d$

  剪切多行与删除多行一样的命令 #dd

  剪切一个单词 dw

  剪切多个单词 ndw

  剪切从光标处到文件结束 dG (ndG)

复制

  复制整行 yy

  复制选中的字符  y

  复制光标到行尾  y$

  复制光标到行首 y^

  复制多行  #yy

  复制一个单词 yw

  复制多个单子 #yw

  复制从光标处到文件结束 yG (nyG 只复制n行)

黏贴

  黏贴到光标后或下一行 p

  黏贴到光标前或上一行 P

转载于:https://www.cnblogs.com/yaoguoguo/articles/7468129.html

<think>我们讨论的是在vi(或vim)编辑器中的剪切复制粘贴操作。这些操作在vi中通常通过删除(delete)拉出(yank)命令实现,然后使用粘贴(put)命令来放置内容。 1. 复制(Yank): 在命令模式下,使用 `y` 命令进行复制(yank)。 - 复制当前行:`yy` 或 `Y` - 复制从当前行开始的n行:`nyy`(例如:`3yy` 复制3行) - 复制到单词末尾:`yw`(从光标位置到下一个单词开始) - 复制到行尾:`y$`(从光标位置到行尾) - 复制到行首:`y^`(从光标位置到行首第一个非空白字符)或 `y0`(到行首) 2. 剪切/删除(Delete): 在vi中,删除命令 `d` 同时也起到剪切的作用,因为被删除的内容会被保存到寄存器中,可以用于粘贴。 - 删除当前行:`dd` - 删除n行:`ndd`(例如:`3dd` 删除3行) - 删除到单词末尾:`dw` - 删除到行尾:`d$` 或 `D` - 删除到行首:`d^` 或 `d0` 3. 粘贴(Put): 使用 `p` 或 `P` 命令粘贴。 - `p`:在光标后(或下一行)粘贴 - `P`:在光标前(或上一行)粘贴 4. 使用寄存器: vi 有多个寄存器,可以通过在命令前加 `"` 寄存器名称来指定。例如: - 复制当前行到寄存器a:`"ayy` - 粘贴寄存器a中的内容:`"ap` 5. 剪切板(系统剪贴板): 如果需要与系统剪贴板交互,可以使用 `+` 寄存器(X11系统)或 `*` 寄存器(Windows,macOS)。这需要vim支持clipboard特性。 - 复制当前行到系统剪贴板:`"+yy` - 从系统剪贴板粘贴:`"+p` 6. 示例操作: - 复制第5行:将光标移到第5行,按 `yy` - 剪切第5行:将光标移到第5行,按 `dd` - 粘贴:将光标移到要粘贴的位置,按 `p` 或 `P` 注意:所有操作都需要在命令模式下进行(按ESC键进入命令模式)。 下面是一个简单的操作示例(在vim中): 1. 打开文件:vim test.txt 2. 进入插入模式(按i),输入几行文本,例如: Line 1 Line 2 Line 3 Line 4 Line 5 3. 按ESC进入命令模式。 4. 将光标移动到第2行,按 `yy` 复制该行。 5. 将光标移动到最后一行,按 `p` 粘贴,结果第2行被复制到第5行后面(成为第6行)。 6. 将光标移动到第3行,按 `dd` 剪切该行。 7. 将光标移动到第1行,按 `p` 粘贴,则第3行(原内容)被粘贴到第1行之后(成为第2行),原来的第4行变成第3行,依此类推。 由于我们无法在文本中直接展示交互过程,以上步骤需要用户实际操作。 另外,在vim中,还可以使用可视模式(Visual Mode)选择文本: - 进入可视模式:按 `v`(字符选择)或 `V`(行选择)或 `Ctrl+v`(块选择) - 移动光标选择区域 - 按 `y` 复制,`d` 剪切,然后按 `p` 或 `P` 粘贴 示例(可视模式): 1. 在命令模式下,按 `V` 进入行可视模式。 2. 用上下键选择多行。 3. 按 `y` 复制,然后移动光标到目标位置,按 `p` 粘贴。 这些是vi/vim中基本的剪切复制操作。</think>### vi/vim 中的剪切复制操作详解 vi/vim 编辑器中的剪切(删除)复制操作主要通过命令模式实现。以下是核心操作指南: #### 1. 复制操作(Yank) ```vim yy " 复制当前行 3yy " 复制当前行及以下2行(共3行) y$ " 复制从光标到行尾 y^ " 复制从光标到行首(非空白字符) yiw " 复制当前单词 yG " 复制到文件末尾 ``` #### 2. 剪切操作(删除) ```vim dd " 剪切当前行(删除并存入寄存器) 3dd " 剪切3行 dw " 剪切当前单词 d$ " 剪切到行尾 d^ " 剪切到行首 x " 剪切当前字符 ``` #### 3. 粘贴操作 ```vim p " 在光标后/下一行粘贴 P " 在光标前/上一行粘贴 ``` #### 4. 寄存器操作 ```vim "ayy " 复制当前行到寄存器a "ap " 粘贴寄存器a的内容 "*yy " 复制到系统剪贴板(需+clipboard支持) ``` #### 5. 可视化模式操作 ```vim v " 进入字符可视化模式 V " 进入行可视化模式 Ctrl+v " 进入块可视化模式 # 操作流程: 1. 按 v/V/Ctrl+v 进入可视化模式 2. 用方向键选择文本 3. 按 y 复制 / d 剪切 4. 移动光标到目标位置 5. 按 p 粘贴 ``` #### 6. 跨文件复制 ```vim :sp file2.txt " 水平分割窗口 Ctrl+ww " 切换窗口 yy " 在源文件复制 Ctrl+ww " 切换回目标文件 p " 粘贴 ``` #### 7. 实用技巧 ```vim :reg " 查看所有寄存器内容 u " 撤销操作 Ctrl+r " 重做操作 :set paste " 避免自动缩进(粘贴代码时使用) ``` ### 操作示例 1. **复制第3-5行到第10行后**: ``` 3G " 跳转到第3行 3yy " 复制3行 10G " 跳转到第10行 p " 粘贴 ``` 2. **剪切单词并粘贴**: ``` dw " 剪切当前单词 w " 移动到下一个单词开头 P " 在当前位置前粘贴 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值