vim常用快捷键

CentOS / Ubuntu 系统上,会经常用到vim但是想用快捷键的比较多,每次查询比较麻烦,所以整理一下,喜欢的小伙伴欢迎点赞👍+收藏❤️+评论噢~

vim 是一个非常常用的文本编辑器,它提供了大量快捷指令和命令来帮助用户快速编辑文件。以下是一些常用的 vim 快捷指令,分为基本操作、模式切换、光标移动、文本编辑等多个部分。

1. 模式切换

  • 命令模式 (默认模式):在该模式下可以执行删除、复制、粘贴等操作,启动 vim 后默认进入该模式。
  • 插入模式 :可以进行文本编辑。
    • i:进入插入模式,在当前光标位置之前插入。
    • I:进入插入模式,在行首插入。
    • a:进入插入模式,在当前光标位置之后插入。
    • A:进入插入模式,在行尾插入。
  • 可视模式 :选择文本块进行操作。
    • v:进入可视模式,按光标移动键选择字符。
    • V:进入可视行模式,选择整行。
  • 退出插入模式 :按 Esc 退出插入模式,返回到命令模式。

2. 文件操作

  • :w:保存文件。
  • :w filename:另存为指定文件名。
  • :q:退出 vim
  • :q!:强制退出 vim,不保存。
  • :wqZZ:保存并退出 vim
  • :e filename:打开一个新的文件进行编辑。
  • :set nu:显示行号。
  • :set nonu:隐藏行号。

3. 光标移动

  • h:向左移动一个字符。
  • j:向下移动一行。
  • k:向上移动一行。
  • l:向右移动一个字符。
  • 0:移动到当前行的行首。
  • $:移动到当前行的行尾。
  • gg:移动到文件的开头。
  • G:移动到文件的末尾。
  • H:移动到屏幕的顶部。
  • M:移动到屏幕的中间。
  • L:移动到屏幕的底部。
  • Ctrl + f:向下翻页。
  • Ctrl + b:向上翻页。

4. 文本编辑

  • 删除
    • x:删除当前光标所在的字符。
    • dw:删除从光标位置到下一个单词开头。
    • d$:删除光标到行尾的内容。
    • dd:删除整行。
  • 复制与粘贴
    • yyY:复制当前行。
    • p:在光标后粘贴。
    • P:在光标前粘贴。
  • 替换
    • r:替换当前光标下的字符。
    • R:进入替换模式,覆盖文本,直到按下 Esc 退出。
  • 撤销与重做
    • u:撤销上一步操作。
    • Ctrl + r:重做撤销的操作。
  • 修改文本
    • cw:修改一个单词,从光标位置到单词结尾,然后进入插入模式。
    • C:删除当前光标到行尾的内容,然后进入插入模式。
    • cc:删除整行并进入插入模式。

5. 搜索与替换

  • 搜索
    • /pattern:向下搜索指定的字符串 pattern
    • ?pattern:向上搜索指定的字符串 pattern
    • n:重复上一次的搜索(向下)。
    • N:重复上一次的搜索(向上)。
  • 替换
    • :s/old/new/g:替换当前行中所有匹配的 oldnew
    • :%s/old/new/g:替换整个文件中所有的 oldnew
    • :%s/old/new/gc:替换整个文件中的 oldnew,并在每次替换前进行确认。

6. 缩进与格式化

  • >>:右缩进当前行。
  • <<:左缩进当前行。
  • =:自动对齐代码。
  • gg=G:格式化整个文件。

7. 窗口操作

  • :split filename:sp filename:水平分割窗口并打开文件。
  • :vsplit filename:vsp filename:垂直分割窗口并打开文件。
  • Ctrl + w + w:在窗口之间切换。
  • Ctrl + w + q:关闭当前窗口。

8. 退出 Vim

  • :q:退出编辑器(如果未修改文件)。
  • :q!:强制退出,不保存修改。
  • :wqZZ:保存并退出。
  • :x:与 :wq 类似,保存并退出。

9. 其他实用命令

  • :noh:关闭高亮搜索结果。
  • J:合并当前行与下一行。
  • .:重复上一次的操作。

总结

这些是 vim 的常用快捷指令和命令,通过熟练掌握这些快捷键,可以大幅提高在 vim 中编辑文件的效率。如果你刚开始使用 vim,建议从最常用的光标移动和基本编辑命令开始,逐步掌握更多高级功能。

直到上班后才明白"少壮不努力,老大图伤悲"的真正含义

相关推荐
内核程序员kevin3 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
朝九晚五ฺ7 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream7 小时前
Linux的桌面
linux
为什么每天的风都这么大8 小时前
Vscode/Code-server无网环境安装通义灵码
ide·vscode·阿里云·编辑器·ai编程·code-server
xiaozhiwise8 小时前
Makefile 之 自动化变量
linux
意疏10 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
BLEACH-heiqiyihu10 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿10 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx
我的K840912 小时前
Flink整合Hudi及使用
linux·服务器·flink