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

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

相关推荐
用户31187945592184 分钟前
CentOS 7 安装 bzip2-libs-1.0.6-13.el7.x86_64.rpm 的详细步骤
linux
ZLRRLZ9 分钟前
【Linux操作系统】进程控制
linux·运维·服务器
我想吃余20 分钟前
Linux的Ext文件系统:硬盘理解和inode及软硬链接
linux·运维·电脑
qq762118221 小时前
Linux c 在内存中创建zip,最后写入测试
linux·运维·服务器
半路_出家ren1 小时前
Shell脚本基础应用
linux·网络·shell
誰能久伴不乏2 小时前
如何在 Linux_Ubuntu 上安装 Qt 5:详细教程
linux·qt·ubuntu
dualven_in_csdn2 小时前
ubuntu离线安装 xl2tpd
linux·数据库·ubuntu
IT成长日记7 小时前
【Nginx开荒攻略】Nginx虚拟主机配置:从域名、端口到IP的完整指南
linux·运维·服务器·nginx·虚拟主机
迎風吹頭髮9 小时前
Linux内核架构浅谈8-Linux内核与UNIX的传承:设计思想与特性差异
linux·运维·架构
黑马金牌编程9 小时前
Linux 服务器常见的性能调优
linux·运维·服务器·性能优化