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,建议从最常用的光标移动和基本编辑命令开始,逐步掌握更多高级功能。

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

相关推荐
OH五星上将11 分钟前
OpenHarmony(鸿蒙南向)——平台驱动开发【PWM】
linux·驱动开发·嵌入式硬件·harmonyos·openharmony·鸿蒙开发·鸿蒙嵌入式
划水大圣13 分钟前
linux PATH里面的路径,分别有可能是哪些文件引入的?
linux·运维·服务器·bash
憧憬一下14 分钟前
Linux---文件io
linux·c语言·vim
EPSDA1 小时前
Linux进程状态与进程优先级
linux·运维·服务器
cuisidong19971 小时前
在Linux中查找文件位置的方法
linux·运维·服务器
YRr YRr1 小时前
详解 CMake 命令:启用详细 Makefile 输出
linux·开发语言·c++·cmake
七芬凹1 小时前
Mac 命令行常用操作笔记
linux·开发语言·前端·chrome·macos
山顶风景独好1 小时前
【apt-file命令详解:Linux下的包管理利器】
linux·运维·数据库·操作系统·进程·命令
杨小虾2 小时前
设置文件夹用VSCODE右键打开,自己修改注册表不管用,该怎么办
ide·vscode·编辑器
误伤这又何妨2 小时前
01 Vim 编辑器的简单使用
linux·编辑器·vim