商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > CentOS 7怎么修改默认编辑器为vim

CentOS 7怎么修改默认编辑器为vim

  发布于2026-08-12 阅读(0)

扫一扫,手机访问

CentOS 7默认vi指向vim-minimal,功能受限;应通过update-alternatives注册并切换vi指向vim-enhanced,同时设置EDITOR环境变量为/usr/bin/vim,二者缺一不可。

CentOS 7怎么修改默认编辑器为vim

CentOS 7 默认的 vi 命令指向的是 vim-minimal,功能受限(不支持语法高亮、鼠标、方向键异常等),直接改用 vim 是最实际的解法——但要注意:改 vi 别名 ≠ 改系统级默认编辑器,两者作用范围不同,必须分清楚。

确认当前 vi 指向哪个二进制文件

先查清楚你敲 vi 时到底启动了什么:

ls -l /usr/bin/vi

常见输出是:/usr/bin/vi -> /etc/alternatives/vi,再追一层:

ls -l /etc/alternatives/vi

很可能指向 /usr/bin/vim.minimal。这才是问题根源——不是没装 vim,而是系统通过 alternatives 机制锁死了默认行为。

别急着改 alias,先解决这个底层映射。

用 update-alternatives 切换 vi 的实际指向

这是 CentOS 7 最新推荐方式,影响所有用户和系统命令(比如 systemctl editvisudo):

  • 运行 update-alternatives --config vi
  • 如果提示 “no alternatives for vi”,说明还没注册 vim-enhanced —— 先注册:update-alternatives --install /usr/bin/vi vi /usr/bin/vim-enhanced 1
  • 再执行 --config vi,选择 /usr/bin/vim-enhanced 对应编号
  • 验证:vi --version 应显示 “VIM - Vi IMproved” 而非 “tiny” 或 “minimal”

⚠️ 注意:vim-enhanced 必须已安装(yum install vim-enhanced),只装 vim-minimal 不够。

设置 EDITOR 环境变量(影响 crontab、git、sudo -e 等)

很多工具(如 crontab -egit commit)读取的是 $EDITOR,和 vi 命令无关:

  • 临时生效:export EDITOR=/usr/bin/vim
  • 永久生效(对当前用户):echo 'export EDITOR=/usr/bin/vim' >> ~/.bashrc && source ~/.bashrc
  • 全局生效(需 root):echo 'export EDITOR=/usr/bin/vim' >> /etc/profile.d/editor.sh

⚠️ 别写成 export EDITOR=vim——没路径可能导致找不到;也别漏掉 source,否则新终端里不生效。

别 alias vi 到 vim(除非你明确知道后果)

网上流传的 echo "alias vi=vim" >> /etc/profile 看似简单,但有硬伤:

  • 只对交互式 bash 生效,sudo visu -c vi、脚本里的 vi 都不走 alias
  • 如果系统里 vim 命令本身指向 vim-minimal(某些精简镜像会这样),alias 后还是不好用
  • >> 写错成 > 会清空整个 /etc/profile,直接导致登录失败

真正需要的不是 alias,而是让 vi 这个名字背后真正跑起来的是完整版 vim——这靠 update-alternatives 才能兜底。

这里最容易被忽略、但偏偏最要命的点就在于:update-alternatives --config viexport EDITOR=... 这两步一定要配套完成,少了哪一个都不行。前者决定的是在命令行里直接输入 vi 时到底调用谁;后者影响的则是各种子系统和程序的默认编辑器选择。只做其中一步,表面上看似已经改好了,但一到某些场景,还是会冷不丁跳出 nano 或者 vim-tiny。

本文转载于:https://www.php.cn/faq/2962132.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注