vim 常用快捷键汇总

学习过程中还是觉得 vim 好用,所以让查老师总结了一份常用操作,加油 😃

核心哲学:模式化编辑

首先要理解 Vim 的不同模式,这是所有快捷键的基础:

  1. 普通模式 (Normal Mode):默认模式。用于移动光标、复制、粘贴、删除等操作。按 Esc 键从任何其他模式返回。
  2. 插入模式 (Insert Mode):用于输入文本。从普通模式按 i (insert), a (append), o (open new line) 等键进入。
  3. 可视模式 (Visual Mode):用于选择文本。从普通模式按 v (字符选择), V (行选择), Ctrl+v (块选择) 进入。
  4. 命令模式 (Command Mode):用于执行命令(如保存、退出、搜索替换)。从普通模式按 : 进入。

一、移动光标 (普通模式下)

基本移动 (HJKL)
  • h - 左
  • j - 下
  • k - 上
  • l - 右
单词移动
  • w - 移动到下一个单词开头
  • e - 移动到当前或下一个单词末尾
  • b - 移动到上一个单词开头
  • ge - 移动到上一个单词末尾
  • W, E, B - 以空格分隔的“大字”单词为单位移动(更快)
行内移动
  • 0 - 移动到行首
  • ^ - 移动到本行第一个非空白字符
  • $ - 移动到行尾
  • g_ - 移动到行尾非空白字符
  • f{字符} - 向前搜索并移动到某个字符(如 fa 移动到下一个字母 ‘a’)
  • F{字符} - 向后搜索并移动到某个字符
  • t{字符} - 移动到某个字符之前
  • T{字符} - 反向移动到某个字符之前
  • ; - 重复上一次 f, t, F, T 操作
  • , - 反向重复上一次操作
屏幕移动
  • gg - 移动到文件第一行
  • G - 移动到文件最后一行
  • :{行号} - 移动到指定行(如 :55 跳到第55行)
  • Ctrl + f - 向下翻一页
  • Ctrl + b - 向上翻一页
  • Ctrl + d - 向下翻半页
  • Ctrl + u - 向上翻半页
  • H - 移动到当前屏幕的顶部
  • M - 移动到当前屏幕的中间
  • L - 移动到当前屏幕的底部
  • zz - 将当前行置于屏幕中央

二、编辑操作

进入插入模式
  • i - 在光标前插入
  • a - 在光标后插入
  • I - 在行首插入
  • A - 在行尾插入
  • o - 在当前行下方新建一行并插入
  • O - 在当前行上方新建一行并插入
  • s - 删除当前字符并插入
  • S - 删除当前行并插入
  • C - 删除从光标到行尾的内容并插入(相当于 c$
删除/剪切 (配合文本对象,威力无穷)
  • x - 删除当前字符
  • X - 删除前一个字符
  • d{motion} - 删除移动命令所覆盖的文本(核心命令
    • dw - 删除到下一个单词开头
    • de - 删除到单词末尾
    • d$ / D - 删除到行尾
    • d0 - 删除到行首
    • dd - 删除整行
    • dgg - 删除到文件开头
    • dG - 删除到文件结尾
  • {数字}dd - 删除多行(如 3dd 删除3行)
复制 (Yank)
  • y{motion} - 复制移动命令所覆盖的文本
    • yw - 复制一个单词
    • yy / Y - 复制整行
    • y$ - 复制到行尾
  • {数字}yy - 复制多行
粘贴 (Put)
  • p - 在光标粘贴
  • P - 在光标粘贴
撤销与重做
  • u - 撤销
  • Ctrl + r - 重做

三、文本对象 (超级强大!)

操作 d (删除), y (复制), c (修改), v (选择) 的利器。

  • i + 对象 - inside,操作对象内部的文本
  • a + 对象 - around,操作对象以及周边的文本(比如包括引号本身)

常用对象:

  • w - 单词
  • s - 句子
  • p - 段落
  • ', ", ` - 引号
  • (, ), b - 小括号 ( )
  • [, ] - 中括号 [ ]
  • {, }, B - 大括号 { }
  • t - XML/HTML 标签

示例:

  • diw - 删除光标所在的单词(不包括周围空格)
  • ci" - 修改双引号内的内容(删除并进入插入模式)
  • yap - 复制整个段落
  • vat - 选择整个 XML/HTML 标签及其内容

四、查找与替换

查找
  • /pattern - 向下搜索模式
  • ?pattern - 向上搜索模式
  • n - 继续下一个匹配项
  • N - 继续上一个匹配项
  • * - 向下搜索光标所在的单词
  • # - 向上搜索光标所在的单词
替换 (命令模式)
  • :s/old/new - 将当前行的第一个 old 替换为 new
  • :s/old/new/g - 将当前行的所有 old 替换为 new
  • :%s/old/new/g - 将全文的所有 old 替换为 new
  • :%s/old/new/gc - 全文替换,但每次替换前需要确认
  • :起始行,结束行s/old/new/g - 在指定行范围内替换(如 :10,20s/foo/bar/g

五、可视模式 (Visual Mode)

  • v - 进入字符可视模式
  • V - 进入行可视模式
  • Ctrl + v - 进入块可视模式(列模式)
  • 选中文本后,可以使用所有普通模式的编辑命令:d, y, c, :s/old/new/

六、窗口与标签页

窗口分割
  • :sp [文件名] - 水平分割窗口
  • :vsp [文件名] - 垂直分割窗口
  • Ctrl + w w - 在窗口间循环切换
  • Ctrl + w h/j/k/l - 切换到左/下/上/右的窗口
  • Ctrl + w = - 使所有窗口等宽等高
  • Ctrl + w _ - 最大化当前窗口高度
  • Ctrl + w | - 最大化当前窗口宽度
  • Ctrl + w c / :q - 关闭当前窗口
  • Ctrl + w o - 关闭其他所有窗口
标签页
  • :tabnew [文件名] - 新建标签页
  • :tabc - 关闭当前标签页
  • :tabo - 关闭其他所有标签页
  • gt / :tabn - 切换到下一个标签页
  • gT / :tabp - 切换到上一个标签页
  • {数字}gt - 切换到第 N 个标签页

七、其他常用命令

  • .% - 跳转到匹配的括号 (), {}, []
  • . - 重复上一次修改操作(极其强大)
  • J - 将下一行合并到当前行(连接行)
  • Ctrl + a - 将光标下的数字增加 1
  • Ctrl + x - 将光标下的数字减少 1
  • :r 文件名 - 将文件内容插入到光标下方
  • :r !命令 - 将命令的执行结果插入到光标下方(如 :r !date 插入当前日期)

学习建议

  1. 不要死记硬背:打开 vimtutor(在终端输入此命令),它是官方的最佳入门教程。
  2. 循序渐进:先熟练掌握移动 (h/j/k/l, w/b, gg/G)、进入插入模式 (i/a/o)、保存退出 (:wq)、撤销 (u)。
  3. 实践为主:在日常编辑中强迫自己使用,哪怕开始很慢。
  4. 掌握组合技:理解 操作符 + 动作命令 的模式(如 d + w = dw)。这是 Vim 的灵魂。
  5. 探索文本对象:这是让你从 Vim 新手进阶为高手的关键。
<think>好的,用户想了解常用编程编辑器快捷键汇总。首先,我需要回忆一下常见的编辑器,比如Visual Studio Code、IntelliJ IDEA、Vim等,它们的快捷键可能有所不同,但有一些通用操作。用户之前提供的引用是关于VBA的快捷键,这可能和Excel或Visual Basic相关,但用户现在的问题更广泛,涉及编程编辑器。 接下来,我需要确保按照用户的要求,行内数学公式用$...$,独立公式用$$...$$,但这个问题可能不涉及数学公式,所以暂时可以忽略这部分。重点是根据用户提供的引用,整理其他编辑器常用快捷键,同时保持中文回答,结构清晰。 用户可能希望得到不同编辑器的对比,或者通用快捷键汇总。考虑到通用性,可以先列出跨编辑器的常见快捷键,比如复制、粘贴、查找替换等,然后再分编辑器说明。同时,用户提供的引用中有VBA的快捷键,可能需要指出这些是否适用于其他环境。 需要注意用户的问题中提到“常用编程编辑器”,所以应该覆盖主流的编辑器,如VS Code、Sublime Text、IntelliJ、Vim、Emacs等。每个部分的快捷键需要准确,可能需要查阅资料确认,比如VS Code的常用快捷键,是否有官方文档支持。同时,引用标识要正确添加,但用户提供的引用[^1]是关于VBA的,可能需要在相关部分引用,比如在提到VBA或Excel时。 另外,用户可能对快捷键的功能分类感兴趣,比如代码编辑、导航、调试等。分点列出会更清晰。同时,生成相关问题需要考虑用户可能进一步的问题,比如如何自定义快捷键,不同编辑器的差异,或者如何提高编码效率的技巧。 最后,确保回答真实可靠,引用正确的来源,比如官方文档或权威指南。例如,VS Code的快捷键可以参考微软的官方文档,Vim快捷键可以参考Vim手册等。如果有不确定的地方,可能需要标注或避免具体细节,但常见快捷键通常是标准化的,比如Ctrl+S保存几乎通用。 现在开始组织内容,先介绍通用快捷键,再分编辑器说明,最后生成相关问题。同时注意引用用户提供的VBA部分,可能在其他编辑器部分不需要引用,但如果有类似功能,可以指出差异。</think>### 常用编程编辑器快捷键汇总 编程编辑器快捷键能显著提升代码编写效率。以下是主流编辑器(如 Visual Studio Code、IntelliJ IDEA、Vim 等)的通用快捷键及部分编辑器特有操作: --- #### **通用快捷键(跨平台/跨编辑器)** 1. **基础操作** - `Ctrl + C` / `Ctrl + X` / `Ctrl + V`:复制/剪切/粘贴 - `Ctrl + Z` / `Ctrl + Y`:撤销/恢复操作 - `Ctrl + S`:保存文件 - `Ctrl + F`:查找文本 - `Ctrl + H`:替换文本 - `Ctrl + D`:选择当前词(支持多光标编辑) 2. **代码导航** - `Ctrl + G`:跳转到指定行号 - `Ctrl + P`:快速打开文件(支持模糊搜索) - `Alt + ←` / `Alt + →`:在编辑历史中后退/前进 3. **代码格式化** - `Ctrl + Shift + I`(VS Code)或 `Ctrl + Alt + L`(IntelliJ):格式化代码 --- #### **编辑器专属快捷键** 1. **Visual Studio Code** - `Ctrl + \`:拆分编辑器窗口 - `F12`:跳转到定义 - `Ctrl + Shift + O`:查看文件符号(如函数、类) - `Ctrl + `` `:打开集成终端 2. **IntelliJ IDEA** - `Alt + Enter`:快速修复建议 - `Ctrl + B`:跳转到声明 - `Ctrl + Alt + T`:包裹代码块(如添加循环或条件) 3. **Vim** - `i` / `Esc`:进入插入模式/返回命令模式 - `:wq`:保存并退出 - `dd`:删除当前行 - `/keyword`:查找关键词 4. **VBA(如Excel)** - `Ctrl + Space`:自动补全代码 - `Shift + F4`:查找下一个匹配项 - `Ctrl + Y`:剪切当前行 --- #### **效率提升技巧** - **多光标编辑**:通过 `Alt + 点击`(VS Code)或 `Ctrl + 拖动`(Sublime Text)添加多个光标。 - **快捷键自定义**:多数编辑器支持修改快捷键绑定(如 VS Code 的 `File > Preferences > Keyboard Shortcuts`)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十子木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值