Linux文本编辑器
- VI 和 VIM 是 Linux 系统中广泛使用的文本编辑器,以其高效的编辑方式和强大的功能著称。
VI和VIM
-
VI(Visual Interface)是 Unix 系统中的标准文本编辑器。
-
VIM(Vi IMproved)是 VI 的增强版,它在 VI 的基础上增加了许多新功能和改进。
-
区别
- 功能:
- VI 是基础编辑器,功能较为简单。
- VIM 是 VI 的增强版,增加了语法高亮、多级撤销、插件支持等现代功能。
- 兼容性:
- VIM 完全兼容 VI,VI 的命令和操作在 VIM 中均可使用。
- 用户体验:
- VIM 提供了更友好的用户体验,如命令补全、错误提示等。
- 性能:
- VI 更加轻量级,启动速度更快。
- VIM 功能更强大,但资源占用相对较高。
- 功能:
命令模式(Command Mode)
-
默认模式:启动 VI 后,默认进入命令模式。
-
功能:
- 用于执行命令、导航文本、删除、复制、粘贴等操作。
- 不能直接输入文本。
-
常用命令
-
光标移动:
h
:向左移动光标。j
:向下移动光标。k
:向上移动光标。l
:向右移动光标。0
:移动到行首。$
:移动到行尾。gg
:移动到文件开头。G
:移动到文件末尾。2gg
或者2G
:移动到指定行
Ctrl + f
:向下翻页。Ctrl + b
:向上翻页。
-
文本编辑:
x
:删除光标所在字符。dd
:删除当前行。2dd
:删除当前向下的2行
yy
:复制当前行。2yy
:复制当前向下的2行
p
:粘贴到光标后。P
:粘贴到光标前。u
:撤销上一次操作。Ctrl + r
:重做上一次操作。
-
查找:
/pattern
:向前查找pattern
。- pattern为查找的目标字符
?pattern
:向后查找pattern
。n
:查找下一个匹配项。N
:查找上一个匹配项。
-
其他:
J
:将当前行与下一行合并。.
:重复上一次操作。
-
插入模式(Insert Mode)
- 功能:
- 用于输入和编辑文本。
- 在命令模式下通过特定命令进入。
- 进入插入模式的命令:
i
:在光标前插入。a
:在光标后插入。o
:在当前行下方插入新行。O
:在当前行上方插入新行。I
:在当前行首插入。A
:在当前行尾插入。
- 退出插入模式:
- 按
Esc
键返回命令模式。
- 按
末行模式(Last Line Mode)
- 功能:
- 用于执行保存、退出、查找替换、设置选项等操作。
- 在命令模式下按
:
进入。
- 常用命令:
- 文件操作:
:w
:保存文件。:q
:退出编辑器。:wq
:保存并退出。:q!
:不保存强制退出。:w <filename>
:另存为指定文件。
- 查找和替换:
:s/old/new
:替换当前行的第一个old
为new
。:s/old/new/g
:替换当前行的所有old
为new
。:%s/old/new/g
:替换整个文件中的所有old
为new
。:%s/old/new/gc
:替换时逐个确认。
- 设置选项:
:set number
:显示行号。:set nonumber
:隐藏行号。:set paste
:进入粘贴模式(避免自动缩进)。:set nopaste
:退出粘贴模式。
- 其他:
:e <filename>
:打开另一个文件。:help
:打开帮助文档。
- 文件操作:
模式切换总结
- 命令模式 → 插入模式:
- 使用
i
、a
、o
、I
、A
、O
等命令。
- 使用
- 插入模式 → 命令模式:
- 按
Esc
键。
- 按
- 命令模式 → 末行模式:
- 按
:
键。
- 按
- 末行模式 → 命令模式:
- 按
Esc
键或执行完命令后自动返回。
- 按