notes 笔记notes 笔记
Home
Article
Category
Tag
Timeline
Home
Article
Category
Tag
Timeline
  • build

    • 环境变量
  • browse

    • 2fa
    • sse
    • token
  • database

    • mongodb

      • start
    • mysql

      • curd
      • 安装
      • join
      • 多对多
      • 性能优化
      • 表设计
      • 常见问题
  • docker

    • github-actions

      • local
      • prod
    • docker-compose
    • index
    • podman
  • file

    • 文件下载
    • 原生 node.js下载文件
  • git

    • index
    • multiple-github-accounts
    • auto-commit
    • pat
    • rebase
  • linux

    • grep
    • index
    • ssh
    • vim
    • windows
  • network

    • best-proxy-way
    • git-via-https
    • github-push-fail
  • nginx

    • acme.sh
    • cache
    • https
    • index
    • safe
  • node

    • fnm
    • tool
  • obsidian

    • ish
    • start
  • react

    • index
    • set-state
  • summary

    • index
  • vue

    • index
    • typescript
  • libs
  • open-source
  • 模式
  • 光标移动
  • 文本编辑
  • 撤销
  • 文件保存与退出
  • 翻页
  • 查找
  • 替换
  • 其它底线命令
  • 删除
    • 删除全部内容
    • 删除包含模式的行
  • 复制
    • 全选复制
  • 缩进(格式化)
  • 补全

模式

  • 普通模式(正常模式): vim file.txt 进入默认就是普通模式,在其它模式下按 Esc 进入普通模式,执行命令、移动光标等。
  • 插入模式: 在普通模式下,按 i 进入插入模式,开始输入或修改文本。
  • 命令行模式: 在普通模式下,按 : 进入命令模式,保存文件、退出Vim 等操作。

光标移动

  • h, j, k, l: 分别向左、下、上、右移动一个字符。
  • gg: 快速移动到文件的第一行。
  • G: 快速移动到文件的末尾行。
  • 0 (零): 或者 ^ 移动到当前行的行首。
  • $ (美元符): 移动到当前行的行尾。
  • w (word): 移动到下一个单词的开头。
  • :行号: 跳转到指定行。

文本编辑

  • i: 在光标当前位置插入文本。
  • a: 在光标下一个位置插入文本。
  • o: 在当前行的下方插入一个新行。
  • dd: 删除当前行。
  • yy: 复制(yank)当前行。
  • p: 粘贴内容。

撤销

  • u: 撤销上一步操作。
  • Ctrl + r: 重做被撤销的操作。

文件保存与退出

  • :wq 或ZZ: 保存文件并退出
  • :q!: 强制退出,不保存修改
  • :w: 保存文件
  • :q: 退出Vim

翻页

  • Ctrl + d: 将光标向下翻半屏,通常每次翻屏12行
  • Ctrl + u: 将光标向上翻半屏,通常每次翻屏12行
  • Ctrl + f: 将光标向下翻满屏,通常每次翻屏24行
  • Ctrl + b: 将光标向上翻满屏,通常每次翻屏24行

查找

  • :/string: 从文件首部开始查找到尾部;按 n 键可以跳到下一个,N 上一个,另外按 / 键后,按上下键可以找到以前查找的记录,同样的也有记录
  • :?string: 同上,从当前光标向文件首部查找

替换

  • :s/word1/word2/g: 当前行替换 word1为 word2
  • :%s/word1/word2/g: 全文替换 word1为 word2

其它底线命令

  • :set nu: 显示行号 也可以输入 set number
  • :set nonu: 取消行号
  • :set ai/noai: 开启/关闭自动缩进

删除

x # 删除光标处字符
X # 删除光标前字符
dd # 删除行
5dd # 删除5行
# 删除行范围 :[start],[end]d
:3,5d # 删除 3-5 行

使用字符来指定范围:

  • .-当前行。
  • $-最后一行。
  • %-所有行。 例子:
  • :.,$d-从当前行到文件末尾。
  • :.,1d-从当前行到文件开头。
  • 10,$d-从第十行到文件末尾。

删除全部内容

  1. :%d:: 在命令模式下输入该命令,按 Enter 键,表示删除文件的所有行。
  2. ggdG:: 在普通模式下,先按 gg 将光标移至文件首行,然后按 dG 从当前行开始删除到文件末尾。

删除包含模式的行

复制

  • yy: 复制当前行
  • y$: 复制到行尾
  • p: 在光标后粘贴
  • P: 在光标前粘贴
  • "+y: 选中内容后再依次按 "+y,复制到系统剪贴板

全选复制

  • ggyG: 全部复制(只能在 vim 中粘贴)
  • ggvG: 或者 ggVG,全选(高亮显示)

全选后,依次按 "+y,复制到系统剪贴板

缩进(格式化)

  • >>: 向右缩进
  • Ctrl + p: 向左缩进
  • >G: 从当前行到文件末尾都向右缩进
  • =G: 从当前行到文件末尾都向左缩进
  • gg=G: 缩进整个文件

补全

  • Ctrl + n: 向后查找补全
  • Ctrl + p: 先前查找补全
最近更新:: 2025/10/19 23:44
Contributors: qyhever
Prev
ssh
Next
windows