尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

vim学习使用笔记

vim学习使用笔记
📅 发布时间:2026/6/20 0:58:59
vim的使用笔记,以及掺杂部分vscode vim模式的设置

我背叛了 Neovim ?! 和我一起配置 VSCode 吧_哔哩哔哩_bilibili

Vim 命令语言入门

Vim 的命令模式通常遵循这样的结构:{操作符} + {计数} + {动作/文本对象}。

  1. 操作符(Operator):这部分决定了你要对文本做什么。例如:

    • d:删除 (delete) 。

    • c:修改 (change) 。

    • y:复制 (yank) 。

    • g~:切换大小写 (switch case) 。

    • >:增加缩进

    • <:减少缩进

  2. 文本对象(Text Object):这部分决定了操作的范围。文本对象是 Vim 对代码或文本中逻辑单元的抽象,例如单词、句子、段落、括号内的内容等 。文本对象通常由两个字母组成:

    • i (inner):表示“内部”,即不包括周围的空白或分隔符 。
    • a (around):表示“整个”,即包括周围的空白或分隔符 。

    一些常用的文本对象包括:

    • w:单词 (word) 。
    • p:段落 (paragraph) 。
    • ( 或 ):括号内部 。
    • { 或 }:花括号内部 。
    • [ 或 ]:方括号内部 。
    • ":引号内部 。
  3. 计数(Count):这个是可选的,表示重复操作的次数 。

将这三个部分结合起来,你就可以通过组合来创建任何你想要的复杂指令。

例如,以 diw 为例:

  • d:操作符,表示“删除”。
  • i:文本对象的前缀,表示“内部”。
  • w:文本对象,表示“单词”。

所以,diw 的意思就是“删除光标所在的内部单词” 。它会删除单词本身,但会保留单词前后的空格 。

如果将 i 换成 a,指令就变成了 daw 。

  • d:删除。
  • a:整个。
  • w:单词。

daw 的意思就是“删除光标所在的整个单词”,包括它后面的一个空格 。

再比如,cip:

  • c:操作符,表示“修改”。
  • i:文本对象的前缀,表示“内部”。
  • p:文本对象,表示“段落”。

cip 的意思是“修改光标所在的内部段落” 。它会删除整个段落的内容,并让你进入插入模式,但会保留段落之间的空行 。

通过这种方式,你可以将 Vim 的指令看作一种简单的“语法”,而不是毫无关联的按键组合。一旦你掌握了这种组合逻辑,就可以轻松地推导出和记忆各种指令,从而大大提高编辑效率。

类别 命令 描述 示例
模式切换 i insert,在光标前进入插入模式 i 用于开始输入文本
a append,在光标后进入插入模式
I 在当前行第一个非空字符处进入插入模式
A 在当前行末尾进入插入模式
o open,在下方新行进入插入模式
O 在上方新行进入插入模式
v visual,进入字符可视模式 vd 删除选中内容
V Visual Line,进入行可视模式 Vy 复制选中行
<C-V> Ctrl + V,进入块可视模式 <C-V>jj 选中一个矩形文本块
<ESC> Escape,返回普通模式 <ESC> 是最常用的退出键
导航 h, j, k, l 左, 下, 上, 右 10j 向下移动 10 行
w, b, e 按单词前移/后移/移到词尾 3w 向前移动 3 个单词
0, ^, ` 类别 命令
-------------- ---------------------- ------------------------------------------------ ---------------------------------------
模式切换 i insert,在光标前进入插入模式 i 用于开始输入文本
a append,在光标后进入插入模式
I 在当前行第一个非空字符处进入插入模式
A 在当前行末尾进入插入模式
o open,在下方新行进入插入模式
O 在上方新行进入插入模式
v visual,进入字符可视模式 vd 删除选中内容
V Visual Line,进入行可视模式 Vy 复制选中行
<C-V> Ctrl + V,进入块可视模式 <C-V>jj 选中一个矩形文本块
<ESC> Escape,返回普通模式 <ESC> 是最常用的退出键
导航 h, j, k, l 左, 下, 上, 右 10j 向下移动 10 行
w, b, e 按单词前移/后移/移到词尾 3w 向前移动 3 个单词
      \| 移动到行首/第一个非空字符/行尾                   \| `$` 将光标移到行尾                      |

| | gg, G | 移动到文件首行/尾行 | 20G 跳转到文件的第 20 行 |
| | H, M, L | 移动到屏幕的顶部/中间/底部 | |
| | f{char}, t{char} | 移动到下一个 {char} 字符 / 的前一个位置 | fa 移动到下一个 'a' 字符 |
| | ;, , | 正向 / 反向重复上一次的 f 或 t 操作 | |
| | } | 向下移动一个段落(到下一个空行) | |
| | { | 向上移动一个段落(到上一个空行) | |
| 编辑 | d, c, y | delete (删除), change (修改), yank (复制) 操作符 | dw 删除一个单词, ci" 修改引号内文本 |
| | p, P | 在光标后 / 前粘贴 | p 在光标后粘贴 |
| | x | 删除光标下的字符 | xp 交换两个字母 |
| | r | replace,替换光标下的单个字符 | ra 将光标下的字符替换为 'a' |
| | R | 进入替换模式,连续替换字符直到按 <ESC> | R 开始连续替换 |
| | s | 替换光标下的字符并进入插入模式 | |
| | . | 重复上一次的修改命令 | |
| 行操作 | dd, yy, cc | 删除 / 复制 / 修改当前行 | 2dd 删除 2 行 |
| | u | undo,撤销 | u 撤销上次修改 |
| | <C-R> | Ctrl + Redo,重做 | |
| | >>, << | 增加 / 减少当前行缩进 | 3>> 增加 3 行的缩进 |
| 搜索与替换 | /pattern, ?pattern | 向下 / 向上搜索 pattern | /hello 搜索 "hello" |
| | n, N | 跳转到下一个 / 上一个搜索结果 | |
| | :s/old/new/ | 替换当前行的第一个 old 为 new | |
| | :s/old/new/g | 替换当前行的所有 old 为 new | |
| | :%s/old/new/g | 在整个文件中全局替换所有 old 为 new | :%s/foo/bar/g |
| | :'<,'>s/old/new/g | 在可视模式选中的行内替换所有 old 为 new | |
| | :%s/old/new/gc | 全局替换,但每次替换前会请求确认 | |
| 屏幕管理 | zz | 将当前行置于屏幕中央 | |
| | zt | 将当前行置于屏幕顶部 (top) | |
| | zb | 将当前行置于屏幕底部 (bottom) | |
| | <C-E> | 向下滚动一行 (光标逻辑位置不变) | |
| | <C-Y> | 向上滚动一行 (光标逻辑位置不变) | |
| 窗口管理 | :sp, :vsp | 水平 / 垂直分割窗口 | |
| | <C-w>w | 在窗口之间循环切换 | |
| | <C-w>h/j/k/l | 切换到左/下/上/右侧的窗口 | |
| | :q | 关闭当前窗口 | |
| 命令行模式 | :w | write,保存文件 | :wq 保存并退出 |
| | :q! | quit,强制退出(不保存) | :qall 退出所有文件 |
| | :e {file} | edit,编辑一个文件 | :e newfile.txt |

显示变量:gh

折叠代码:za

相关新闻

  • 代码之美-代码整洁之道
  • Chrome for Testing availability
  • 递归算法实践--到仓合单助力京东物流提效增收

最新新闻

  • MPC5604P外部中断与DSPI时序参数深度解析与工程实践
  • DFT仿真实战:从STUCK-AT到AT-SPEED的验证要点解析
  • ReadCat安全最佳实践:终极插件安全与用户数据保护指南
  • 2026 上海权威数据 + 真实用户口碑|靠谱空调维修首选上海迪迅通制冷设备 - 星际AI
  • 从零开始:PaddleX如何让AI开发像搭积木一样简单?
  • 抖店无货源铺货怎么不违规?拼多多商品违规检测新手合规教程 - 抖掌柜

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号