Vim命令合集,新手如何快速掌握?

Vim作为一款功能强大的文本编辑器,其命令体系丰富且高效,掌握这些命令能极大提升编辑效率,以下从基础操作、光标移动、文本编辑、搜索替换、窗口管理等多方面详细整理Vim命令合集,帮助用户系统学习。

Vim命令合集
(图片来源网络,侵删)

基础操作与模式切换

Vim的核心在于模式,不同模式下执行的命令完全不同,首先需熟悉三种基本模式:

  • 普通模式(Normal Mode):默认模式,用于导航和执行命令,通过Esc键进入。
  • 插入模式(Insert Mode):用于文本输入,可通过i(光标前插入)、a(光标后插入)、o(当前行下方新建行插入)等命令进入。
  • 可视模式(Visual Mode):用于选择文本,分为字符可视模式(v)、行可视模式(V)、块可视模式(Ctrl+v),选中后可进行复制、删除等操作。

其他常用模式

  • 命令行模式(Command-Line Mode):通过进入,用于保存文件(w)、退出(q)、搜索(/string)等。
  • 替换模式(Replace Mode):通过R进入,可直接替换光标处字符。

光标移动(普通模式)

光标快速移动是高效编辑的基础,以下为常用移动命令:

  • 基本移动
    • h:左移一个字符,l:右移一个字符,j:下移一行,k:上移一行。
    • w:移动到下一个单词开头,e:移动到当前单词末尾,b:移动到上一个单词开头。
    • 0(数字零):移动到行首,:移动到行尾,^:移动到行首非空白字符。
  • 行间与文件范围移动
    • gg:跳转到文件第一行,G:跳转到文件最后一行,nG(如5G):跳转到第n行。
    • Ctrl+f:向下翻页,Ctrl+b:向上翻页,Ctrl+d:向下半页翻页,Ctrl+u:向上半页翻页。
  • 相对位置移动
    • n|:移动到行第n列(如5|:移动到第5列)。
    • 匹配括号(如、[]、)跳转,:跳转到当前单词下一次出现位置,:跳转到当前单词上一次出现位置。

文本编辑(普通/插入/可视模式)

删除与剪切

  • 普通模式删除
    • x:删除光标处字符,nx(如3x):删除光标后3个字符。
    • dd:删除当前行,ndd(如5dd):删除当前行及后续4行共5行。
    • d^:删除到行首非空白字符,d$:删除到行尾,dw:删除一个单词。
  • 剪切与粘贴
    • 剪切本质是删除+复制,dd剪切一行,d+移动命令(如dwdG)剪切指定范围。
    • p:在光标后粘贴,P:在光标前粘贴,np(如2p):粘贴n次。

复制与粘贴

  • 复制命令
    • y(yank)用于复制,yy:复制当前行,nyy:复制n行。
    • yw:复制一个单词,y$:复制到行尾,y^:复制到行首非空白字符。
    • 可视模式下选中后,y复制选中内容。

撤销与重做

  • u:撤销上一步操作,Ctrl+r:重做(撤销的反向操作)。
  • U:撤销对当前行的所有修改(光标在行内时有效)。

修改与替换

  • 插入模式进入
    • i:光标前插入,a:光标后插入,I:行首插入,A:行尾插入。
    • o:当前行下方新开一行插入,O:当前行上方新开一行插入。
  • 普通模式修改
    • r:替换光标处单个字符(如rx将光标处字符改为x),R:进入替换模式,连续替换直到Esc
    • c(change)修改后自动进入插入模式,如cc:修改当前行(删除后进入插入模式),cw:修改一个单词。

搜索与替换(命令行模式)

  • 搜索文本
    • /string:从光标处向下搜索string?string:向上搜索。
    • n:跳转到下一个搜索结果,N:跳转到上一个搜索结果。
    • 搜索时忽略大小写:set icicignorecase缩写),恢复大小写敏感:set noic
  • 替换文本
    • s/old/new:替换当前行中第一个oldnew
    • s/old/new/g:替换当前行中所有oldnewgglobal缩写)。
    • %s/old/new/g:替换整个文件中所有oldnew,需确认可加c %s/old/new/gc,替换前提示)。

窗口与标签管理

  • 窗口分割
    • split(或sp):水平分割窗口,vsplit(或vs):垂直分割窗口。
    • Ctrl+w+w:在窗口间切换,Ctrl+w+h/j/k/l:切换到左/下/上/右窗口。
    • close:关闭当前窗口,only:关闭其他窗口,保留当前窗口。
  • 标签页管理
    • tabnew(或tn):新建标签页,tabn(或tabnext):切换到下一个标签页,tabp(或tabprevious):切换到上一个标签页。
    • gt:下一个标签页,gT:上一个标签页,tabm n:将当前标签页移动到第n位(如tabm 0移到最前)。

高级操作技巧

  • 文本对象操作
    • 文本对象针对“块”进行操作,格式为[动作][文本对象],如d":删除双引号内的内容,ci(:修改括号内的内容(删除并进入插入模式)。
    • 常用文本对象:w(单词)、s(句子)、p(段落)、(双引号)、(单引号)、(括号)、(花括号)、[(方括号)。
  • 宏录制与执行
    • q+寄存器名(如qa)开始录制宏,q结束录制,+寄存器名(如@a)执行宏,重复执行上一次宏。
  • 自动补全与缩进
    • Ctrl+x Ctrl+f:补全文件名,Ctrl+x Ctrl+l:补全整行,Ctrl+n:基于当前文件内容补全。
    • >>:当前行右缩进,<<:当前行左缩进,>>+视觉块选择可批量缩进。

实用命令速查表

功能分类命令说明
模式切换Esc返回普通模式
i/a/o进入插入模式(光标前/后/新行)
v/V/Ctrl+v进入字符/行/块可视模式
光标移动hjkl左/下/上/右移动
w/e/b单词开头/末尾/上一个开头
gg/G/nG文件首/尾/第n行
删除x/dd/dw删除字符/行/单词
复制yy/yw/y$复制行/单词/到行尾
粘贴p/P光标后/前粘贴
撤销/重做u/Ctrl+r撤销/重做
搜索/string/?string向下/向上搜索
替换%s/old/new/g全局替换
窗口分割sp/vs水平/垂直分割窗口
标签页tabnew/gt/gT新建标签页/切换标签页

相关问答FAQs

Q1:如何在Vim中同时编辑多个文件?
A:Vim可通过缓冲区(Buffer)和标签页(Tabpage)管理多个文件。

Vim命令合集
(图片来源网络,侵删)
  • 缓冲区操作bnext(切换到下一个缓冲区)、bprev(上一个缓冲区)、b filename(打开或切换到指定文件缓冲区)、ls(列出所有缓冲区)。
  • 标签页操作tabnew filename(新建标签页并打开文件)、tabn/tabp(切换标签页)、tabm n(调整标签页顺序)。
    窗口分割(split/vsplit)可在同一界面同时显示多个文件,通过Ctrl+w+w切换窗口。

Q2:如何高效删除Vim中的空行或特定模式的行?
A:可通过命令行模式结合正则表达式批量删除:

  • 删除所有空行g/^$/dg全局执行,/^$匹配空行,d删除)。
  • 删除包含特定模式的行(如删除含“TODO”的行):g/TODO/d
  • 删除不包含特定模式的行(如保留含“NOTE”的行):v/NOTE/dvg!缩写,取反匹配)。
    若需确认删除,可在命令后加c(如g/^$/dc),删除前会提示确认。
Vim命令合集
(图片来源网络,侵删)

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/376386.html<

(0)
运维的头像运维
上一篇2025-10-01 17:10
下一篇 2025-10-01 17:15

相关推荐

  • Linux命令行vi模式如何高效使用?

    Linux命令行中的vi编辑器是系统管理员和开发人员最常用的文本编辑工具之一,其强大的功能和高效的编辑方式使其成为Linux环境下的必备技能,vi编辑器基于模式编辑的设计理念,通过不同的模式切换实现文本的插入、删除、查找、替换等操作,熟练掌握vi模式的使用能够显著提升文本编辑的效率,vi编辑器启动后默认处于普通……

    2025-11-07
    0
  • vi命令行模式有哪些核心操作?

    Linux vi 编辑器的命令行模式是其核心操作模式之一,用户在 vi 中打开文件后,默认进入的就是这种模式,命令行模式主要用于导航、执行文本操作命令(如复制、粘贴、删除、查找等),以及进入其他模式(如插入模式、末行模式),熟练掌握命令行模式的操作是高效使用 vi 的关键,以下将详细介绍该模式的功能、常用命令及……

    2025-11-05
    0
  • Linux命令行vi模式如何高效使用?

    Linux命令行下的vi模式是Linux系统中广泛使用的一种文本编辑方式,它以其高效、灵活的特点深受系统管理员和开发者的喜爱,vi编辑器最初由Bill Joy在1976年开发,作为BSD Unix系统的一部分,其名称“vi”是“visual”的缩写,旨在提供一种比行编辑器(如ed)更直观的文本编辑体验,在Lin……

    2025-11-03
    0
  • 华为交换机型号命令有哪些?

    华为交换机作为网络设备中的核心产品,其型号丰富且功能强大,不同型号对应不同的硬件规格和软件支持,掌握相关型号与命令的对应关系及操作方法,是网络管理员进行设备管理、配置和维护的基础,华为交换机型号通常以“S系列”为主,涵盖从接入层到核心层的多种设备,如S5700系列、S6700系列、S7700系列等,不同型号的命……

    2025-11-03
    0
  • 英语连读规则如何掌握?

    掌握英语连读是提升口语流利度和听力理解能力的关键技巧之一,连读是指说话时为了发音流畅,将相邻单词中的音自然地连接在一起,形成连贯的语音流,对于英语学习者来说,理解并练习连读不仅能改善发音,还能更好地理解母语者的真实对话,以下将从连读的类型、规则、练习方法及常见误区等方面详细阐述如何辨别英语中的连读,连读主要分为……

    2025-10-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注