vim 是一款功能强大的文本编辑器,广泛应用于 Linux 和 Unix 系统中,掌握 vim 命令的使用方法能极大提升文本编辑效率,vim 有三种主要模式:普通模式、插入模式和命令行模式,普通模式是默认模式,用于导航和执行命令;插入模式用于输入文本;命令行模式用于执行保存、退出等操作,理解这三种模式的切换是使用 vim 的基础。

从普通模式切换到插入模式,常用的命令有:i
在当前字符前插入,a
在当前字符后插入,o
在当前行下方插入新行,I
在行首插入,A
在行尾插入,O
在当前行上方插入新行,完成编辑后,按 Esc
键可返回普通模式,在普通模式下,导航命令非常重要:h
左移光标,j
下移光标,k
上移光标,l
右移光标;w
移动到下一个单词开头,b
移动到上一个单词开头,e
移动到当前单词结尾;gg
跳转到文件首行,G
跳转到文件末行,nG
跳转到第 n 行;0
移动到行首, 移动到行尾,^
移动到行首非空白字符。
文本编辑命令在普通模式下执行:x
删除当前字符,dd
删除当前行,ndd
删除 n 行;yy
复制当前行,nyy
复制 n 行,p
粘贴到光标后,P
粘贴到光标前;u
撤销上一步操作,Ctrl + r
重做;r
替换当前字符,R
进入替换模式连续替换; 切换当前字符大小写,搜索与替换功能:普通模式下输入 后跟搜索内容,按回车查找,n
下一个匹配项,N
上一个匹配项; 进入命令行模式,输入 %s/旧文本/新文本/g
全局替换,%s/旧文本/新文本/c
替换时确认。
多文件操作与窗口管理:e 文件名
打开新文件,bnext
切换到下一个文件,bprev
切切到上一个文件,bdelete 文件名
关闭文件;split
水平分割窗口,vsplit
垂直分割窗口,close
关闭当前窗口,qall
退出所有窗口;Ctrl + w
加上方向键切换窗口,可视模式用于选择文本:普通模式下按 v
进入字符可视模式,V
进入行可视模式,Ctrl + v
进入块可视模式,选择后可执行 d
删除、y
复制、c
剪切等操作。
命令行模式常用命令:w
保存文件,w 文件名
另存为,q
退出,wq
保存并退出,q!
强制退出不保存,wq!
强制保存并退出;set nu
显示行号,set nonu
隐藏行号,set syntax=语言
设置语法高亮,set ignorecase
搜索忽略大小写,set noignorecase
搜索区分大小写;!命令
执行外部命令,如 !ls
查看当前目录文件,r !命令
将命令结果插入到光标后,如 r !date
插入当前时间。

vim 的配置文件为 .vimrc
,位于用户主目录下,可通过编辑该文件自定义 vim 行为,如设置默认显示行号、启用语法高亮、修改 tab 键宽度等,熟练掌握 vim 命令需要不断练习,建议从基本导航和编辑命令开始,逐步学习高级功能,最终实现高效文本编辑。
相关问答 FAQs
问题 1:如何在 vim 中同时编辑多个文件?
答:在 vim 中可以通过以下方式同时编辑多个文件:
- 打开文件时直接指定多个文件名,如
vim file1.txt file2.txt
,通过bnext
或bprev
切换文件; - 在 vim 中使用
e 文件名
打开新文件,通过buffers
查看已打开文件列表; - 使用窗口分割功能,
split
水平分割或vsplit
垂直分割窗口,每个窗口可打开不同文件,通过Ctrl + w
加方向键切换窗口。
问题 2:vim 中如何批量替换文本中的特定内容?
答:在 vim 的命令行模式下执行替换命令:
- 全局替换:
%s/旧文本/新文本/g
, 表示整个文件,g
表示全局替换; - 替换时确认:
%s/旧文本/新文本/c
,每次替换会提示确认; - 替换当前行范围:如
10,20s/旧文本/新文本/g
,仅替换第 10 到 20 行的内容; - 使用正则表达式:
%s/\bword\b/replacement/g
,\b
表示单词边界,避免部分匹配,注意替换前建议先备份文件或使用c
选项确认,避免误替换。
