Vim常用指令

1、复制(yank)选中的区域并粘贴(put)到另一个区域

在 Vim 中,复制和粘贴被称为 "yank" 和 "put"。以下是如何复制(yank)选中的区域并粘贴(put)到另一个区域的步骤:

  1. 进入可视模式并选择文本:

    • v 进入字符可视模式。然后移动光标选择文本。
    • V 进入行可视模式。这将选择整行。
    • CTRL + v 进入块可视模式。这允许我们选择一个矩形块。
  2. 复制选中的文本:

    在可视模式下,按 y(代表 "yank")。这将复制选中的文本到 Vim 的寄存器。

  3. 移动到想要粘贴的位置:

    使用光标移动命令,如 h, j, k, l, w, b 等,移动到想要粘贴的位置。

  4. 粘贴文本:

    • p 在光标之后粘贴文本。
    • P 在光标之前粘贴文本。

这些是 Vim 中复制和粘贴的基本步骤。Vim 的寄存器系统非常强大,允许复制多段文本并按需粘贴。例如,"+y 将文本复制到系统剪贴板(这可能需要 Vim 与剪贴板支持一起编译),这样就可以在 Vim 外部的其他应用程序中粘贴了。

2、剪切选中区域并粘贴到另一个区域

在 Vim 中,"剪切" 的动作是通过 "删除" 来实现的,因为当删除文本时,Vim 实际上是将其放入一个寄存器中,从而使能够稍后粘贴它。以下是如何剪切选中区域并粘贴到另一个区域的步骤:

  1. 进入可视模式并选择文本:

    • v 进入字符可视模式。然后移动光标选择文本。
    • V 进入行可视模式。这将选择整行。
    • CTRL + v 进入块可视模式。这允许选择一个矩形块。
  2. 剪切选中的文本:

    在可视模式下,按 d(代表 "delete")。这将删除选中的文本并将其放入 Vim 的寄存器。

  3. 移动到想要粘贴的位置:

    使用光标移动命令,如 h, j, k, l, w, b 等,移动到想要粘贴的位置。

  4. 粘贴文本:

    • p 在光标之后粘贴文本。
    • P 在光标之前粘贴文本。

这些是 Vim 中剪切和粘贴的基本步骤。正如我之前提到的,Vim 的寄存器系统非常强大,所以可以利用它实现许多复杂的文本操作。

3、撤销和回退更改

在 Vim 中,可以轻松地撤销和回退更改。以下是如何执行这些操作的方法:

  1. 撤销:

    • u 以撤销上一步的更改。在普通模式下,每次按 u 都会撤销上一步的操作。
  2. 多次撤销:

    • 在普通模式下,按数字然后 u。例如,3u 将撤销最近的三次更改。
  3. 重做(即撤销的撤销):

    • CTRL + r 以重做上一次被撤销的更改。每次按 CTRL + r 都会重做上一次被撤销的操作。
  4. 跳到某个更改:

    • Vim 记录所有更改历史。可以使用 :earlier:later 命令在时间线上前进和后退。
      • 例如,:earlier 5m 将会回到5分钟前的状态。
      • :later 5m 将会向前移动5分钟。
  5. 查看历史:

    • 使用 :undolist 命令可以查看一个历史的列表。这可以帮助我们了解做了哪些更改以及他们的顺序。

注意:尽管 Vim 提供了强大的撤销和历史跟踪功能,但最好还是经常保存文件,以防意外情况发生。

相关推荐
vortex51 小时前
Kali Linux 安装与使用 Code-OSS / VSCodium :VSCode 轻量替代
linux·运维·编辑器
skilllite作者4 小时前
Zed 1.0 编辑器深度评测与实战指南
开发语言·人工智能·windows·python·编辑器·agi
实战编程1 天前
Temu 插件导出 Excel 图片问题总结(SheetJS / ExcelJS)
excel
袋子(PJ)1 天前
2026年常见的配置文件格式——为什么程序员永远在折腾缩进和括号?—— 常见配置文件进化史(md文档很详细)
编辑器
Data-Miner1 天前
用DeepSeek V4做表:数以轻舟Agent让做Excel表像聊天一样简单
microsoft·excel
AI进化营-智能译站2 天前
Jazzy ROS2入门指南系列05-配置VsCode实现ROS2项目开发
ide·vscode·ai·编辑器
Eiceblue2 天前
使用 C# 将 Excel 转换为 Markdown 表格(含批量转换示例)
开发语言·c#·excel
Java面试题总结2 天前
使用 Python 设置 Excel 数据验证
开发语言·python·excel
追逐梦想永不停2 天前
记录一个好用的excel判断数字格式的公式
前端·chrome·excel
Eiceblue2 天前
C# 如何实现 Word 转 Excel ?分享两种实用方法
c#·word·excel