开发工作中常见的 `vim` 命令

在 Linux 开发环境中,vim 是一个非常强大的文本编辑器,它提供了丰富的功能来帮助开发者高效地编写代码。

基本模式介绍

  • 普通模式:启动 Vim 后,默认进入普通模式。可以在此模式下移动光标、复制粘贴文本等。
  • 插入模式 :在普通模式下输入 i(插入模式)、a(追加模式)等命令进入插入模式,在此模式下可以直接输入文本。
  • 命令行模式 :在普通模式下按下 : 键进入命令行模式,在此模式下可以执行各种命令,如保存文件、退出等。

移动光标

  • h、j、k、l:分别向左、向下、向上、向右移动一个字符。
  • H、M、L:分别移动到屏幕顶部、中间、底部行。
  • 0 或者 ^:移动到行首。
  • $:移动到行尾。
  • w、W:分别跳过单词(忽略标点符号)和大写单词(包含标点符号)。
  • b、B:分别回到单词的开始(忽略标点符号)和大写单词的开始(包含标点符号)。
  • e、E:分别跳到单词的结束(忽略标点符号)和大写单词的结束(包含标点符号)。
  • G:移动到文件的最后一行。
  • nG 或 n:移动到文件的第 n 行。
  • gg:移动到文件的第一行。
  • Ctrl+f、Ctrl+b:分别向下滚动一页和向上滚动一页。
  • Ctrl+d、Ctrl+u:分别向下滚动半页和向上滚动半页。

文本编辑

  • i:在当前光标处开始插入文本。
  • a:在当前光标后的下一个字符处开始插入文本。
  • o:在当前行下新开一行并进入插入模式。
  • O:在当前行上新开一行并进入插入模式。
  • r:替换当前字符。
  • R:进入替换模式,替换光标之后的所有字符直到按下 ESC 键返回普通模式。
  • x 或 del:删除当前光标下的字符。
  • X:删除当前光标前的一个字符。
  • dd:删除当前行。
  • yy 或 Y:复制当前行。
  • p:粘贴剪切板中的内容到光标之后。
  • P:粘贴剪切板中的内容到光标之前。
  • u:撤销上一次操作。
  • Ctrl+r:重做上一次被撤销的操作。
  • .:重复上一次修改操作。

选择文本

  • v:进入可视模式,可以选择文本。
  • V:进入行可视模式,可以选择整行文本。
  • Ctrl+v:进入块可视模式,可以选择矩形区域的文本。
  • shift+j、shift+k:在可视模式下扩展选择区域到下一行和上一行。
  • shift+l、shift+h:在可视模式下扩展选择区域到右边和左边。
  • y:复制选中的文本。
  • d:删除选中的文本。
  • c:剪切选中的文本并进入插入模式。

搜索与替换

  • /pattern:搜索 pattern,按下 n 到下一个匹配项,N 到上一个匹配项。
  • ?pattern:反向搜索 pattern,按下 n 到下一个匹配项,N 到上一个匹配项。
  • :s/pattern/replacement/flags:替换当前行中第一个匹配 pattern 的文本为 replacement。
  • :1,$s/pattern/replacement/flags:替换整个文件中所有匹配 pattern 的文本为 replacement。
  • :.,+10s/pattern/replacement/flags:替换从当前行开始的接下来 10 行中所有匹配 pattern 的文本为 replacement。

文件操作

  • :w:保存文件。
  • :q:退出 Vim。
  • :q!:不保存直接退出 Vim。
  • :wq 或 :x:保存并退出 Vim。
  • :e filename:打开或编辑另一个文件。
  • :sp filename 或 :split filename:在新窗口中打开或编辑文件。
  • :vsp filename 或 :vsplit filename:垂直分割窗口并在新窗口中打开或编辑文件。
  • :set number:显示行号。
  • :set nonumber:隐藏行号。
  • :set relativenumber:显示相对行号。
相关推荐
FriendshipT1 天前
Vim 完整指南:从入门到高效编辑
linux·人工智能·编辑器·vim·1024程序员节
.道阻且长.1 天前
Linux 基本开发工具:编辑器vim,配置vim
linux·运维·服务器·职场和发展·编辑器·vim·1024程序员节
Rabitebla2 天前
【Linux底层原理】 工具篇(二):Vim 编辑器基础操作与简单配置
linux·c++·编辑器·vim
幸运小圣4 天前
fs 模块完全指南:文件读写、移动删除与文件夹操作(新手友好)【Node.js】
node.js·编辑器·vim
笨笨饿6 天前
#142_VS Code.map文件插件的用法
git·python·stm32·单片机·嵌入式硬件·物联网·vim
挖掘狂人7 天前
编程语言的六十年:一部做减法的历史
程序员·vim·编程语言
灯澜忆梦12 天前
【Linux】#7 | vi/vim 编辑器
linux·编辑器·vim
zpjing~.~14 天前
Vim 高效批量替换实战:从 /dev/ 替换为 /dev-ai/
人工智能·编辑器·vim
幸运小圣17 天前
Buffer 新手入门【Node.js】
node.js·编辑器·vim
lzx_00217 天前
Linux 开发工具(二) 简单认识一下编辑器 —— vim
linux·编辑器·vim