Linux系统中经典的两个文档编辑器就是vi和vim了。vim是vi的升级版,两个文件编辑器基础功能和操作一致,在只有vi编辑器的时候,本文中的所有操作均适用。本文以vim为例。

vim对比vi升级了什么?

  • 支持更多 Linux 发行版。
  • 支持多种编程语言,包括 python、c++、perl 等,并支持代码块折叠和语法高亮。
  • 支持通过多种网络协议,如:http、ssh等编辑文件。
  • 支持编辑压缩包中的文件。
  • 支持分屏编辑多文件。

如何启动?

命令格式:vim 文件名

  1. 当“文件名”已存在时,为:打开该文件。
  2. 当“文件名”不存在时,为:以该文件名创建文件,并打开该文件。

当仅输入vim并回车时,打开如下说明界面:
Linux文档编辑器vi&vim-入门

打开test.sh文件时的界面如下:
Linux文档编辑器vi&vim-入门

vim的三种模式:

命令模式: 打开或新建文件后的默认模式,可以通过使用快捷键(以下详述),执行:复制、剪切、粘贴,以及查找和替换等任务。
编辑模式: 在命令模式,通过指定的快捷键(以下详述)进入对应的编辑状态,可以正常输入字符,移动光标,键入内容等。通过按下Esc键可以返回到命令模式。
末行模式: 即仅在最底部的一行进行各种操作。在命令模式,通过键入“:”进入。该模式下可以执行:保存文件、关闭文件、退出vim、运行命令等操作。通过按下Esc键可以返回到命令模式。

以上三种模式可以根据需要进行切换。

如何退出?

末行模式输入对应命令,可以正常退出vim。命令如下:

命令 功能
:w 保存
:q 退出
:! 强制

:wq </保存并退出/>
:q! </不保存并退出/>

移动光标

命令模式下, 移动光标的快捷键如下:

命令 功能
h 向左移一个字母;7h,向左7个字母。
j 向下一行;3j,向下3行。
k 向上一行;5k,向上5行。
l 向右移一个字母;4l,向右4个字母。
数字0 光标移到行首
$ 光标移到行尾
G 光标移到文件的最后一行;99G,光标移到99行。
{ 光标移到上一段
} 光标移到下一段

编辑模式下, 仅可以通过方向键移动光标。

进入编辑模式

在命令模式,按下一下快捷键,可以进入编辑模式,并执行对应功能。

命令 功能
i 在光标位置插入内容
I(大写i) 在光标坐在行行首插入内容
a 在光标之后插入内容
A 在光标所在行末尾插入内容
o(小写) 在光标所在行之下插入一行
O(大写) 在光标所在行之上插入一行

删除操作

命令 功能
dd 删除光标所在的整行内容;2dd, 可以删除从光标所在行开始的两行
d$ 删除从光标所在位置,到行尾的所有内容
d^ 删除从光标所在位置,到行首的所有内容
dw 删除从光标所在位置开始,向后的一个单词。

复制和粘贴

命令 功能
yy 复制光标所在行;5yy,以光标所在行开始为第一行,向下复制5行。
p 在光标所在行的下一行,粘贴复制的内容;
P 在光标所在行的上一行,粘贴复制的内容;

相关文章: