网络宝典
第二套高阶模板 · 更大气的阅读体验

vim 是 Linux 系统默认的编辑器吗?

发布时间:2026-02-11 03:20:29 阅读:6 次

刚装完 Ubuntu 或 CentOS,想改个配置文件,输入 vi /etc/hostname,结果一进去就懵了——按方向键没反应,想退出也卡住,最后只能关掉终端重来。很多人第一反应是:这破编辑器怎么这么难用?是不是系统出问题了?其实不是,只是你碰上了 Linux 里那个「看似古老、实则无处不在」的 vim(或 vi)。

Linux 发行版默认装的是 vi,但不一定是 vim

严格来说,POSIX 标准要求所有类 Unix 系统必须提供 vi 命令。所以几乎所有 Linux 发行版(包括 Debian、Ubuntu、CentOS、Fedora)在最小化安装时,都会预装一个符合标准的 vi 实现——但它未必是功能完整的 vim。

比如:Ubuntu 默认装的是 vim-tiny,它只包含基础 vi 功能,不支持语法高亮、多级撤销、鼠标操作;而 CentOS 7 默认装的是 vim-minimal,连 :set number 显示行号都不支持。它们都叫 vivim,但启动后输入 :version 就会看到一行写着 +tiny+minimal

那到底算不算「默认编辑器」?

从命令行为角度看,是的。当你执行 vi xxxsudo nano 没装、或者运行 git commit 弹出编辑器时,系统调用的往往就是这个轻量版 vi/vim。它不挑环境、不依赖图形界面、小到能塞进嵌入式设备,几十年没换过核心逻辑——这才是它「默认」的真正原因。

不过注意:vimvi 在很多系统里是同一个二进制文件的软链接:

$ ls -l /usr/bin/vi /usr/bin/vim
/usr/bin/vi -> vim
/usr/bin/vim -> /etc/alternatives/vim

/etc/alternatives/vim 又可能指向 /usr/bin/vim.tiny/usr/bin/vim.basic,取决于你装了哪个包。

想用完整版 vim?三步搞定

以 Ubuntu 为例:

sudo apt update
sudo apt install vim
sudo update-alternatives --config vim

执行最后一行后,会列出几个选项(vim.tiny / vim.basic / vim.gtk 等),选编号 2(vim.basic)或 3(vim.gtk),回车确认。之后再敲 vim --version,就能看到 +clipboard +syntax +python3 这类特性了。

CentOS/RHEL 用户则用:

sudo yum install vim-enhanced

或在新版中:

sudo dnf install vim-enhanced

装完直接可用,无需切换,默认 vi 命令也会自动指向它。

顺手记个小技巧

如果你实在不想学 vim,又怕误操作,可以临时把默认编辑器换成 nano:

export EDITOR=nano
git commit # 这次就会弹 nano 了

或者永久生效,加到 ~/.bashrc 里:

echo 'export EDITOR=nano' >> ~/.bashrc
source ~/.bashrc

但别忘了:服务器没装 nano 的时候,vi/vim 依然是你唯一能靠得住的编辑器——毕竟,它连救援模式都能跑起来。