Vi 和 Vim 是 Linux/Unix 系统中两个密切相关的文本编辑器,它们的主要区别如下:
Vi(Visual Editor):
Vim(Vi IMproved):
vi 命令实际调用 vim)。| 特性 | Vi | Vim |
|---|---|---|
| 语法高亮 | 不支持 | 支持(多种编程语言) |
| 多级撤销 | 仅支持单次撤销 | 支持无限次撤销(u 和 Ctrl+r) |
| 多窗口/分屏 | 不支持 | 支持(:split, :vsplit) |
| 脚本扩展 | 无 | 支持 Vimscript 和插件系统 |
| 跨平台 | 仅限 Unix | 支持 Windows/macOS/Linux |
| 搜索高亮 | 无 | 支持(:set hlsearch) |
| 命令行历史 | 无 | 记录历史命令(:history) |
| 鼠标支持 | 无 | 支持(GUI 和终端) |
| 文件恢复 | 无 | 支持(.swp 文件恢复) |
vim -C)可以模拟 Vi 的行为,但默认会启用增强功能。:q! 强制退出,而 Vim 还支持 :qa!(退出所有窗口)。# 查看 vi 的实际指向(多数系统已链接到 vim)
ls -l $(which vi)
# 启动时显示版本(Vim 会输出 "Vi IMproved")
vim --version
~/.vimrc 配置兼容性选项:
vim
" 启用 Vi 兼容模式(不推荐,会禁用 Vim 功能)
set compatibleq、寄存器操作 ")能显著提升效率。总结:Vim 是 Vi 的现代化替代品,除非环境限制,否则建议优先使用 Vim。对于新手,掌握 Vim 的基础操作(:wq, i, ESC)后,再逐步探索其强大功能。