Vim 编辑器 - 基础入门

Vim是一个强大的文本编辑器,有多种模式,如普通模式、插入模式和命令行模式。它在系统管理和编程中很受欢迎,通过全键盘操作提高效率。文章介绍了Vim的基本操作,包括进入/打开文件、文本输入、光标移动、删除、复制/剪切/粘贴、查找、多文件编辑和保存退出等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、Vim 编辑器介绍

二、Vim 编辑器的 6 种基本模式

三、常用模式切换

四、Vim 基本操作

01、进入 Vim / 打开文件

02、输入文本

03、移动光标

04、删除文本

05、重复命令

06、复制 / 剪切 / 粘贴

07、可视模式

08、替换文本

09、撤销

10、保存文档

11、退出 vim

12、缩进

13、调整文本位置

14、查找

15、多文件编辑

16、恢复文件

17、视窗操作

18、文档加密

19、在 vim 执行外部命令

20、帮助系统

21、功能设定


一、Vim 编辑器介绍

       在了解 Vim 之前先要认识 Vi ——Vi 是一款诞生于20世纪70年代的文本编辑器,是 Unix 和 Linux 操作系统中最经典的一个编辑器。

       而 Vim 就是从 Vi 发展出来的一个文本编辑器Vim 功能强大、高度可定制,在 Vi 的基础上改进和增加了很多特性。

       我们平时用的编辑器如Word,通常是 "图形化界面 + 鼠标 + 键盘" 的编辑器,使用灵活且功能齐全,可以调整字体、改变大小和颜色、进行文字排版等等。但 ViVim 只是一个纯文本编辑器,工作在字符模式下,不需要图形界面和鼠标

       Vi 虽然没有Word之类的图形界面编辑器那样操作简单,但在系统管理、服务器管理字符界面中,拥有图形界面编辑器无法比拟的优势。Vim 编辑器也在程序员中被广泛使用,和 Emacs 并列为类Unix系统用户最喜欢的文本编辑器。

  • 简单来说,Vim 就是一个不需要鼠标的编辑器,全键盘操作,大大提高工作效率。(不过前提是能熟练使用)

二、Vim 编辑器的 6 种基本模式

1、普通模式(Normal mode)

       Vim 启动后默认为普通模式。普通模式下可以复制行、删除行等操作,但不能进行文本输入,也就是说 Vim 打开后并不能直接输入文本,需要先转换到插入模式才行。(像Word这样的编辑器打开默认就是插入模式,可以直接开始输入)

2、插入模式(Insert mode)

       插入模式下按键会向文本缓存中插入文本,也就是说可以进行输入了。

3、命令行模式(Command line mode)

       命令行模式下可以输入对应的命令,如保存、查找文本等等。命令执行之后,Vim 会返回命令行模式之前的模式。

4、可视模式(Visual mode)

       可视模式与普通模式相似。可视模式下可以选择并高亮一段文本区域。高亮区域可以是字符、行或者是一块文本。可视模式下执行的命令会执行到选择的高亮区域上。

  • 简单来说,就是可视模式下可以选择一段目标文本进行相关操作,就像按住鼠标左键选择一段文本,就能对这段文本进行相关操作。

5、选择模式(Select mode)

       选择模式和无模式编辑器的行为比较相似(Windows 标准文本控件的方式)。选择模式中可以用鼠标或光标键高亮选择文本。在选择后输入任何字符,这个字符就会替换选择的区域,并进入插入模式。

6、Ex 模式(Ex mode)

       Ex 模式和命令行模式相似,在使用 :visual 命令离开 Ex 模式前,可以一次执行多条命令。

  • 以上所有模式常用的只有 3 种:普通模式、插入模式、命令行模式

三、常用模式切换

四、Vim 基本操作

01、进入 Vim / 打开文件

① 在终端输入以下指令,直接打开 vim 编辑器,但不会打开任何文件。

vim

进入 vim 后,切换命令行模式,输入以下指令,打开文件。

:e <filename>

② 在终端输入指令时直接加上文件名,就能进入 vim 并打开该文件。(若该文件不存在,则自动创建一个新文件) 

vim <filename>

例:vim 1.txt

02、输入文本

  • 普通模式下:
命令说明
i (小写)在当前光标处进行编辑
I(大写)光标移至行首进行编辑
a在当前光标后进行编辑
A光标移至行末进行编辑
o在当前行的后面插入一个新行进行输入
O在当前行的前面插入一个新行进行输入
cw

删除从光标位置到行末的所有字符,并进入插入模式

03、移动光标

  • 普通模式下:
命令说明
方向键上下左右移动光标
h j k l上下左右移动光标
w移动到下一个单词(注意是单词而非字符)
b移动到上一个单词
nG光标跳转到第 n 行开头

04、删除文本

  • 普通模式下:
命令说明
delete删除光标所在的字符
X删除光标所在的前一个字符
dw daw删除 1 个单词(适合英文)
dnw删除 n 个单词
d$ D从光标开始删除至行尾
d^从光标开始删除至行首
dd删除所在行(实际上是剪切)
ndd从所在行开始向下删除 n 行
dG从所在行开头向后删除到文档末尾
d1G从所在行开头向前删除到文档开头

05、重复命令

  • 普通模式下:
命令说明
. 重复执行上次命令
n<command>重复执行 n 次 command 命令

例:

10x   连续删除 10 个字符

3dd   连续删除 3 行

06、复制 / 剪切 / 粘贴

① 复制并粘贴

  • 普通模式下:
操作命令说明
复制y复制光标所在字符
yy复制光标所在行
nyy从光标所在行开始向下复制 n 行
y^从光标所在位置复制到行首
y$从光标所在位置复制到行尾

yw

复制 1 个单词
ynw复制 n 个单词
yG从所在行开头向下复制到文档末尾
y1G从所在行开头向下复制到文档开头
剪切dd剪切光标所在行
粘贴p粘贴至光标后
P粘贴至光标前
交换行ddp快速交换光标所在行与下面行

07、可视模式

  • 普通模式下:
命令说明
v字符选择模式(再次按下 v 则取消选取)
Shift + v选择模式(再次按下 Shift + v 则取消选取)
Ctrl + v区域选择模式(再次按下 Ctrl + v 则取消选取)

  • 可视模式下:
命令说明
d删除选取区域内容
y复制选取区域内容

08、替换文本

  • 普通模式下:
命令说明
r<待替换字母>光标所在字母替换为指定字母
R从光标所在字母开始连续替换(按 Esc 退出)
cc替换光标所在行(即删除整行),并进入插入模式
cw替换 1 个单词(即删除 1 个单词),并进入插入模式
C替换从光标开始到行末(即删除),并进入插入模式
~切换光标所在字母大小写

09、撤销

  • 普通模式下:
命令说明
u撤销 1 次操作
nu撤销 n 次操作
U撤销所在行的所有操作
Ctrl + rredo,撤销 undo 操作

10、保存文档

  • 命令行模式下:
命令说明
:w保存文件
:w <filename>将文档另存为其它文件名
:w <文件路径>另存为
:saveas <文件路径>另存为

11、退出 vim

  • 命令行模式下:
命令说明
:q退出
:q!强制退出(不保存
:wq :x保存并退出
:wq!保存并强制退出

  • 普通模式下:

shift + zz 保存并退出。

12、缩进

① 快速缩进

  • 普通模式下:
命令说明
>>整行向右缩进
<<整行向左回退

② 修改缩进和回退的字符数 - shiftwidth

  • 命令行模式下:
命令说明
:set shiftwidth?获取目前的 shiftwidth 设定值
:set shiftwidth=10修改 shiftwidth 值为 10 个字符

13、调整文本位置

  • 命令行模式下:
命令说明
:ce光标所在行文本居中
:ri光标所在行文本靠右
:le光标所在行文本靠左

14、查找

① 快速查找

  • 普通模式下:
命令说明
f<待查找字符> 查找光标后第一个目标字符(行内查找)
/<待查找字符串> + 回车(如:/abc)查找目标字符串
?<待查找字符串> + 回车(如:?abc)查找目标字符串
n继续查找下一个目标字符串
N继续查找上一个目标字符串

  • 命令行模式下:
命令说明
:noh取消查找

② 高级查找

  • 普通模式下:
命令说明
\*查找光标处所在单词
\#查找光标处所在单词
g\*同 \* ,但只需部分符合单词
g\#同 \# ,但只需部分符合单词
n继续查找下一个目标字符串
N继续查找上一个目标字符串

15、多文件编辑

① 进入 vim 时直接打开多个文件

在终端输入以下命令,同时打开 1.txt 和 2.txt。(默认进入第一个文件编辑界面)

vim 1.txt 2.txt

② 切换文件

当前在 1.txt 文件,如果需要切换文件,命令行模式下输入:

命令说明
:n切换到 2.txt 文件
:n!强制切换(之前的文件不会保存
:N切换到 1.txt 文件
:N!强制切换(之前的文件不会保存
:e 3.txt打开新文件 3.txt
:e#回到前一个文件
:ls列出当前编辑过的文档
:b 2.txt直接进入 2.txt 进行编辑
:bd 2.txt删除以前编辑过的列表中的文件项目
:e! 4.txt打开新文件 4.txt,放弃正在编辑的文件
:f显示正在编辑的文件名
:f new.txt修改正在编辑的文件名为 new.txt

16、恢复文件

       如果文档未保存意外退出,可以通过交换文件恢复(swp、swn、swm…)

       vim 在编辑的时候会自动在当前文件目录下生成一个交换文件,通常为 <filename>.swp 格式。(交换文件的更新和对应文件的更新不是实时的)

例如:1.txt 文件意外关闭

① 进入 vim

② 进入命令行模式,输入以下命令恢复文件:

:recover 1.txt

17、视窗操作

       vim 可以在一个界面里打开多个窗口进行编辑,这些编辑窗口称为 vim 的视窗

  • 命令行模式下:
命令说明
:new打开一个新的视窗
:sp 1.txt打开一个新的水平分屏视窗编辑 1.txt
:vsp 1.txt打开一个新的垂直分屏视窗编辑 1.txt

  • 普通模式下:
命令说明
Ctrl + w + s将当前窗口分割成两个水平的窗口
Ctrl + w + v将当前窗口分割成两个垂直的窗口
Ctrl + w + o打开一个视窗并且隐藏之前的所有视窗
Ctrl + w + j移至下面视窗
Ctrl + w + k移至上面视窗
Ctrl + w + h移至左面视窗
Ctrl + w + l移至右面视窗
Ctrl + w + J将当前视窗移至下面
Ctrl + w + K将当前视窗移至上面
Ctrl + w + H将当前视窗移至左面
Ctrl + w + L将当前视窗移至右面
Ctrl + w + -减小视窗的高度
Ctrl + w + +增大视窗的高度
…………

18、文档加密

在终端输入以下命令创建加密文档。输入密码、确认密码,这样下次打开这个文档时就需要输入密码了。

vim -x file

19、在 vim 执行外部命令

在 vim 的命令行模式下输入 ! 即可执行外部的 shell 命令。

命令说明
:!ls显示当前目录下的内容
:rm filename删除名为 filename 的文件
…………

20、帮助系统

  • 普通模式下:
命令说明
F1打开 vim 预设的帮助文档

  • 命令行模式下:
命令说明
:h shiftwidth打开名为 shiftwidth 的帮助文档
:ver显示版本以及参数

21、功能设定

       在编辑文件的时候可以进行功能设定。但退出 vim 后设定值不会保存,下次打开会恢复默认。如果想要永久保存配置数据,可以修改 vim 配置文件 vimrc

① 获取当前的设定值

  • 命令行模式下:
命令说明
:set :se显示所有修改过的配置
:set all显示所有的设定值
:set <option>?显示 option 的设定值
:set nooption取消当前的设定值

② set 功能说明

  • 命令行模式下:
命令说明
:set autoindent set ai设置自动缩进
:set autowrite 或 set aw设置自动存档,默认关闭
:set background=dark 或 light设置背景风格
:set backup 或 set bk设置自动备份,默认关闭
:set cindent 或 set cin设置 C 语言风格缩进
:set nu显示行数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值