Linux下的Vim是一款功能强大的文本编辑器,广泛应用于编程和系统管理中,掌握其常用命令能显著提升工作效率,Vim分为三种模式:普通模式(默认)、插入模式和末行模式,普通模式下用于导航和操作命令,插入模式用于文本输入,末行模式用于保存、退出等高级操作。

进入Vim后,默认处于普通模式,要切换到插入模式,常用命令包括:i
(在光标前插入)、a
(在光标后插入)、o
(在当前行下方新建行并插入)、I
(在行首插入)、A
(在行尾插入),完成编辑后,按Esc
键可返回普通模式。
在普通模式下,光标移动是基础操作:h
(左移)、j
(下移)、k
(上移)、l
(右移);w
(移动到下一个单词首)、b
(移动到上一个单词首)、e
(移动到当前单词尾);gg
(跳转到文件首)、G
(跳转到文件尾)、nG
(跳转到第n行)。
文本编辑命令中,删除操作常用:x
(删除当前字符)、dd
(删除当前行)、dw
(删除当前单词)、d$
(删除到行尾);复制操作:yy
(复制当前行)、yw
(复制当前单词)、y$
(复制到行尾);粘贴操作:p
(在光标后粘贴)、P
(在光标前粘贴),替换与修改:r
(替换当前字符)、R
(进入替换模式,连续替换)、c
(修改,如cw
修改当前单词)、s
(删除当前字符并进入插入模式)。
撤销与重做是常用功能:u
(撤销上一步操作)、Ctrl + r
(重做操作),重复执行上次的普通模式命令:(输入dd
后按可继续删除下一行)。

末行模式通过输入进入,常用命令包括:保存与退出:w
(保存)、q
(退出)、wq
(保存并退出)、q!
(不保存强制退出)、wq!
(强制保存并退出);文件操作:e filename
(打开文件)、saveas filename
(另存为)、r filename
(读取文件内容到当前光标位置);搜索与替换:/pattern
(向下搜索pattern)、?pattern
(向上搜索pattern)、n
(跳转到下一个搜索结果)、N
(跳转到上一个搜索结果);替换命令为%s/old/new/g
(全文替换old为new),%s/old/new/gc
(全文替换并确认)。
多窗口操作中,split
(水平分割窗口)、vsplit
(垂直分割窗口)、new
(新建水平窗口)、vnew
(新建垂直窗口);窗口切换:Ctrl + w
+ 方向键
或h/j/k/l
;关闭窗口:close
(关闭当前窗口)、qall
(关闭所有窗口并退出Vim)。
以下为常用命令的总结表格:
功能分类 | 命令 | 说明 |
---|---|---|
插入模式切换 | i /a /o |
光标前/后/下方插入 |
光标移动 | hjkl /w /b /gg /G |
基本移动/单词跳转/行首尾跳转 |
删除操作 | x /dd /dw |
删除字符/行/单词 |
复制粘贴 | yy /p |
复制行/粘贴 |
撤销重做 | u /Ctrl + r |
撤销/重做 |
末行模式 | w /q /wq |
保存/退出/保存退出 |
搜索替换 | /pattern /%s/old/new/g |
搜索/全文替换 |
相关问答FAQs

Q1: 如何在Vim中同时编辑多个文件?
A1: 在Vim中打开多个文件的方法有两种:一是启动Vim时使用vim file1 file2 file3
命令,二是进入Vim后通过e filename
打开新文件,通过bnext
(下一个文件)、bprev
(上一个文件)切换文件,或使用buffers
查看已打开文件列表,多窗口操作可通过split
或vsplit
分割窗口,每个窗口独立编辑不同文件。
Q2: Vim中如何批量删除包含特定字符串的行?
A2: 使用Vim的搜索与替换功能实现,在末行模式下输入:%s/pattern//g
(删除包含pattern的行),其中pattern
为目标字符串,表示替换为空,g
表示全局替换,若需确认删除,可使用v/pattern/d
命令,即保留不包含pattern的行并删除其余行,操作前建议先备份文件,避免误删。