JohnieXu's Blog

Back

Shell中的Vim快捷键指南#

在日常开发中,我们经常需要在shell中编辑命令行。掌握vim快捷键可以大大提高终端操作效率。本文整理了常用的vim快捷键,方便快速查看回顾。

基础移动#

光标移动#

  • h - 向左移动一个字符
  • j - 向下移动一行
  • k - 向上移动一行
  • l - 向右移动一个字符
  • w - 移动到下一个单词的开头
  • b - 移动到上一个单词的开头
  • e - 移动到当前单词的结尾
  • 0 - 移动到行首
  • $ - 移动到行尾
  • ^ - 移动到行首的非空白字符
  • G - 移动到文件末尾
  • gg - 移动到文件开头
  • nG - 移动到第n行

单词内移动#

  • ge - 移动到上一个单词的结尾
  • gE - 移动到上一个长单词(包含下划线)的结尾

编辑操作#

删除操作#

  • x - 删除当前字符
  • X - 删除前一个字符
  • dd - 删除当前行
  • d0 - 删除到行首
  • d$ - 删除到行尾
  • dw - 删除一个单词
  • db - 删除前一个单词
  • de - 删除到单词结尾
  • dgg - 删除到文件开头
  • dG - 删除到文件末尾
  • ndd - 删除n行

复制和粘贴#

  • yy - 复制当前行
  • y0 - 复制到行首
  • y$ - 复制到行尾
  • yw - 复制一个单词
  • p - 粘贴到光标后
  • P - 粘贴到光标前
  • nyy - 复制n行

修改和替换#

  • i - 在光标前插入
  • a - 在光标后插入
  • I - 在行首插入
  • A - 在行尾插入
  • o - 在下一行插入
  • O - 在上一行插入
  • r - 替换当前字符
  • R - 进入替换模式
  • cw - 修改一个单词
  • c$ - 修改到行尾
  • c0 - 修改到行首

查找和替换#

查找#

  • /pattern - 向下查找
  • ?pattern - 向上查找
  • n - 查找下一个
  • N - 查找上一个

替换#

  • :s/old/new - 替换当前行的第一个匹配
  • :s/old/new/g - 替换当前行的所有匹配
  • :%s/old/new/g - 替换全文的所有匹配
  • :%s/old/new/gc - 替换全文并确认

撤销和重做#

  • u - 撤销
  • Ctrl + r - 重做
  • U - 撤销对整行的修改

其他实用快捷键#

操作历史#

  • Ctrl + p - 上一条命令
  • Ctrl + n - 下一条命令
  • Ctrl + f - 前进
  • Ctrl + b - 后退

文件操作#

  • Ctrl + d - 退出(EOF)
  • Ctrl + c - 中断当前命令
  • Ctrl + z - 挂起当前进程
  • Ctrl + l - 清屏
  • Ctrl + a - 移动到行首
  • Ctrl + e - 移动到行尾
  • Ctrl + u - 删除到行首
  • Ctrl + k - 删除到行尾
  • Ctrl + w - 删除前一个单词

高级技巧#

可视模式#

  • v - 字符可视模式
  • V - 行可视模式
  • Ctrl + v - 块可视模式
  • o - 切换选择端点
  • O - 切换选择端点(另一端)

标记#

  • ma - 在当前位置设置标记a
  • 'a - 跳转到标记a
  • ` - 跳转到上次跳转的位置

宏录制#

  • qa - 开始录制宏到a
  • q - 停止录制
  • @a - 执行宏a
  • @@ - 重复上次执行的宏

实用技巧总结#

  1. 快速修改:使用 cw 修改单词比 dlle 更快
  2. 快速删除dd 删除整行比 D 更直观
  3. 快速复制yy 复制整行,yw 复制单词
  4. 快速移动0 到行首,$ 到行尾,gg 到文件开头
  5. 快速跳转nG 快速跳转到指定行
  6. 快速查找:使用 / 向下查找,n 查找下一个

练习建议#

  1. 从基础移动开始,先熟练 hjklwbe$
  2. 逐渐练习删除和复制操作
  3. 练习查找替换功能
  4. 尝试使用可视模式进行块操作
  5. 最后学习宏录制功能

总结#

掌握这些vim快捷键可以让你在shell中的操作更加流畅高效。建议多加练习,逐渐形成肌肉记忆。将常用的快捷键记在笔记本上,方便随时查阅。

记住,熟能生巧,坚持练习才是掌握快捷键的关键!

Shell中的Vim快捷键指南
https://johniexu.github.io/blog/shell-vim-shortcuts-guide
Author JohnieXu
Published at March 25, 2026