【Vim】Vim 的常用命令

本文详细介绍了 Vim 的各种模式、常用命令,包括光标移动、删除、复制、粘贴等操作,以及如何利用插件如 EasyMotion 和 Surround 提升效率。通过学习这些技巧,可以提升在 Vscode 中使用 Vim 的编辑体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vim 的常用命令

基于 Vscode 中的 Vim,可以查看之 Vscode 配置 vim 能有助于使用
这里同时还有一份 Vim 的备忘单:[Vim Cheat Sheet]https://vim.rtorr.com/lang/zh_cn)

一、Vim 的模式

  • normal 模式: 大部分命令执行
  • insert 模式: 实现对文件内容的执行
  • visual 模式: 实现多行的编辑
  • vim 命令模式: 实现文本内容之外的操作

模式之间的转换:

  • normal --> insert

    i : 在光标前插入 insert

    I : 在光标后插入 Insert in header

    o : 在下一行插入 one line insert

    O : 在上一行插入 One Line Insert before

    a : 在光标后插入 after

    A : 在行尾插入 after the end of a line

    这里 c(change) 类命令也会将 normal 模式转换为 insert 模式,同时,还有其他几个字符,这里未记录完全

  • insert --> normal

    esc 或者用户定义映射到 esc 的组合或者单独的按键: 大部分人会使用 Caps Lock 或者 j + j 绑定为 esc

  • normal --> visual

    v/V

  • visual --> normal

    esc 或 再按一次 v/V

  • normal --> 命令模式
    :

  • 命令模式 --> normal
    清除命令 或 Esc 键

二、Vim 的常用命令

1. 光标移动

  • 上下左右: k j h l
  • 向上翻页: ctrl + b(back)
  • 向下翻页: ctrl + f(forward)
  • 跳到单词开头: w (往后查找) b(before 往前)
  • 跳到单词结尾: e (往后查找) ge(往前查找)
  • 跳到行首: 0 或者 ^(跳到从行首开始的第一非空字符)
  • 跳到行尾: $
  • 跳到第一行: gg
  • 跳到最后一行: G
  • 往前跳十九行: ctrl u
  • 往后跳十九行: ctrl d
  • 跳到指定行: linenumber gg (行号 + gg: 40gg)
  • 从当前行往下跳 num 行: num j (10 j)
  • 从当前行往前跳 num 行: num k (10 k)
  • 跳到下个 {char} 所在位置: f {char}
  • 跳到上个 {char} 所在位置: F {char}
  • 跳到下个 {char} 的前一个字符位置: t {char}
  • 跳到上个 {char} 的后一个字符位置: T {char}
  • 重复上次的字符查找操作: ;
  • 反向查找上次的查找指令: ,

2. 常用快捷

  • 清除一行,更改内容: cc
  • 清除多行,更改内容: c num c (c3c:清除三行)
  • 删除一行: dd(delete)
  • 删除一行: d num d
  • 复制: yy(yanked)
  • 修改: cc(change)
  • 粘贴: p
  • 撤销: u / shift + U
  • 恢复上一步撤销: ctrl + r
  • 更改单个字符内容: 光标选中字符, r {char} char 为更改后的字符
  • 搜索:/keyword 键入 enter 后,按 n 跳转到下一个 keyword 开头,N 跳到下一个 keyword 开头
  • 搜索:?keyword 往前搜索,跳转方式同上
  • 取消搜索高亮: :noh

3. 动作(motion)

  • i:inner 选中成对符号内内容

    • i" iw i(/ib i{/iB i’ i` i< i[ it is ip ie
  • a:around 选中成对符号内容

    • a" aw a(/ab a{/aB a’ a` a< a[ at as ap

    p:paragraph s:sentence t:tag b:bracket B:Bracket w:word e:entire

4. 操作符号

  • d(delete):删除
  • c(change):修改
  • y(yank):复制
  • v(visual):复制

5. 切换大小写

  • U:将光标下的字符改成大写
  • u:将光标下的字符改成小写
  • ~:将光标下的字母改变大小写
  • r:修改光标的下字符,r {char} 修改为 char 字符
  • 3~:将光标开始位置的3个字母改变其大小写
  • g~:改变当前的字母的大小写(大改小,小改大)
  • gUU:将当前行的字母改成大写
  • guu:将当前行的字母改成小写
  • gUaw(gUiw):将光标下的单词改成大写
  • guaw(guiw):将光标下的单词改成小写

许多操作都是结合了motion 进行选中

三、Tips

1. 代码中的操作(Tips)

  • gd: goto define (跳转到函数定义)
  • ^O:返回上一个窗口
  • gh:函数的声明(参数)
  • gt:往后标签页跳
  • gT:往前标签页跳
  • ctrl(command) + 0 :跳转到左侧文件栏
    • jk:上下选择文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值