vi和vim
vi
和 vim
都是在 Linux 系统中的文本编辑器。vim
实际上是 vi
的增强版,提供了更多的功能和改进。
-
vi:
-
vi
是一个经典的文本编辑器,几乎在每个 Linux 发行版中都预装了。 -
vi
的使用可以分为三个主要模式:命令模式(Command mode)、插入模式(Insert mode)和底行模式(Ex mode)。 - 命令模式下可以执行文件编辑、搜索、复制粘贴等操作。
- 插入模式下可以直接输入和编辑文本内容。
- 底行模式用于保存文件、退出
vi
等高级操作。 - 例如,使用
vi filename
命令打开一个文件,在命令模式下按下 “i” 进入插入模式,进行文本编辑,然后按下 Esc 键回到命令模式,在命令模式下输入 “:wq” 并按回车键保存并退出。
-
-
vim:
-
vim
(Vi IMproved)是对vi
的增强版本,具有更多的功能和改进。 -
vim
拥有vi
的所有功能,并添加了更多的功能和定制选项。 -
vim
提供了语法高亮、多级撤销、分屏编辑、代码补全等功能,以及大量的插件和扩展性。 - 与
vi
相比,vim
的学习曲线略高,但它为用户提供了更强大和灵活的编辑环境。 - 使用
vim
的基本操作与vi
类似,同时还有更多命令和选项可用。
-
vi 命令模式
在 vi 的命令模式下,常用的一些快捷键可以提高编辑效率。以下是几个常用的 vi 命令模式快捷键:
-
移动光标:
-
h
:将光标左移一个字符。 -
j
:将光标下移一行。 -
k
:将光标上移一行。 -
l
:将光标右移一个字符。
-
-
文本编辑:
-
i
:在当前光标位置之前插入文本。 -
a
:在当前光标位置之后插入文本。 -
o
:在当前行之后插入新行,并进入插入模式。 -
dd
:删除当前行。 -
yy
:复制当前行。 -
p
:粘贴已复制或删除的文本。
-
-
撤销和重做:
-
u
:撤销上一次操作。 -
Ctrl + r
:重做被撤销的操作。
-
-
搜索与替换:
-
/keyword
:向后搜索指定关键字。 -
?keyword
:向前搜索指定关键字。 -
n
:跳到下一个匹配项。 -
N
:跳到上一个匹配项。 -
:s/old/new
:在当前行替换第一个匹配项。 -
:s/old/new/g
:在当前行替换所有匹配项。 -
:%s/old/new/g
:在整个文件中替换所有匹配项。
-
-
保存和退出:
-
:w
:保存文件但不退出 vi。 -
:q
:退出 vi(仅在没有修改的情况下)。 -
:wq
:保存文件并退出 vi。 -
:q!
:强制退出 vi,丢弃所有修改。
-
vi 插入模式
在vi中,输入模式用于插入和编辑文本。以下是进入输入模式的方法:
-
插入模式:在光标位置之前插入文本。
-
i
:在当前光标位置之前开始插入文本。 -
a
:在当前光标位置之后开始插入文本。 -
I
:在当前行的第一个非空字符之前开始插入文本。 -
A
:在当前行的末尾开始插入文本。
-
-
追加模式:在光标位置之后追加文本。
-
a
:在当前光标位置之后开始追加文本。 -
A
:在当前行的末尾开始追加文本。
-
-
打开新行:
-
o
:在当前行之后插入新行,并进入插入模式。 -
O
:在当前行之前插入新行,并进入插入模式。
-
-
替换模式:替换光标所在位置的字符。
-
r
:替换光标所在位置的字符。 -
R
:一直处于替换模式,可以连续替换多个字符。
-
-
进入输入模式的其他方式:
-
s
:删除光标所在位置的字符并进入插入模式。 -
S
:删除整行并进入插入模式。 -
C
:删除从光标位置到行尾的内容并进入插入模式。
-
输入模式中可以进行文本编辑,并通过快捷键切换到命令模式或者执行保存退出等操作。要注意,在输入模式下,按下 Esc
键可以返回到命令模式。
vi 底行模式
Vi编辑器中的底行模式(Command-line Mode)用于执行一些命令和操作。在底行模式下,可以输入各种命令来执行编辑、搜索、保存和退出等操作。以下是一些常用的Vi底行模式命令:
-
保存和退出:
-
:w
:保存文件但不退出Vi。 -
:wq
:保存文件并退出Vi。 -
:x
或ZZ
:保存文件并退出Vi(只有在文件有修改的情况下才会保存)。 -
:q
:退出Vi(如果有未保存的修改,则无法退出)。 -
:q!
:强制退出Vi,放弃所有未保存的修改。
-
-
搜索和替换:
-
:/pattern
:向后搜索指定的Pattern。 -
:?pattern
:向前搜索指定的Pattern。 -
n
:跳到下一个匹配项。 -
N
:跳到上一个匹配项。 -
:s/old/new
:在当前行替换第一个匹配项。 -
:s/old/new/g
:在当前行替换所有匹配项。 -
:%s/old/new/g
:在全文中替换所有匹配项。
-
-
文本编辑命令:
-
:delete
或:d
:删除当前行。 -
:copy
或:co
:复制当前行或指定范围的行。 -
:move
或:m
:移动当前行或指定范围的行。 -
:join
或:j
:合并当前行与下一行。
-
-
显示和设置行号:文章来源:https://www.toymoban.com/news/detail-621593.html
-
:set number
或:set nu
:显示行号。 -
:set nonumber
或:set nonu
:不显示行号。
-
-
执行外部命令:文章来源地址https://www.toymoban.com/news/detail-621593.html
-
:!command
:执行Shell命令,并返回Vi编辑器。
-
到了这里,关于Linux vi/vim以及三种模式常用快捷键的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!