Linux 一键配置 Vim 为开发利器

一键配置 Vim 为开发利器

作者:Darker | 发布于 CSDN | 最后更新:2025-03-29

🧠 为什么写这个脚本?

Vim 是一款极具生命力的编辑器,通过插件可以实现智能补全、语法高亮、目录树、格式化等功能,但手动配置非常繁琐。

于是我写了这个 Shell 脚本,实现一键完成 Vim 的安装与插件配置,适用于 Ubuntu、CentOS、Fedora 等常见发行版。


🔧 脚本支持的功能

  • ✅ 自动判断包管理器(apt/yum/dnf)
  • ✅ 安装 Vim、Node.js、Python3、fzf、dos2unix 等必要工具
  • ✅ 自动安装并配置 vim-plug 插件管理器
  • ✅ 一键配置 .vimrc,集成多款强力插件
  • ✅ 自动修复 vim-prettier 的 npm 安装问题
  • ✅ 全程静默执行,无需人工交互(适合自动化部署)

📦 插件清单说明

插件 作用
vim-airline 美化状态栏
NERDTree 文件目录树
coc.nvim 语言智能补全(LSP)
nvim-treesitter 高亮解析器
vim-prettier JS/TS 格式化
ultisnips 代码片段支持
vim-snippets 片段库

🚀 使用方法

1. 脚本源码地址

脚本已开源托管在 GitHub 仓库中:

👉 点击查看 setup_vim_env.sh 源码

你可以使用 wget 直接下载:

bash 复制代码
wget https://raw.githubusercontent.com/Mr-Darker/ShellBox/main/scripts/linux/tools/setup_vim_env.sh
chmod +x setup_vim_env.sh
./setup_vim_env.sh

2. 执行脚本

bash 复制代码
./setup_vim_env.sh

脚本会自动安装所有工具和插件并配置好 .vimrc

3. 打开 Vim 体验

bash 复制代码
vim ~/.vimrc

你可以用以下命令测试插件是否正常:

vim 复制代码
:PlugStatus
:CocInfo
:NERDTreeToggle




🛠 脚本核心逻辑介绍

自动检测包管理器

bash 复制代码
if command -v apt-get &> /dev/null; then
    # Ubuntu
elif command -v yum &> /dev/null; then
    # CentOS
...

插件安装使用静默模式

bash 复制代码
vim -E -s -u "$HOME/.vimrc" +PlugInstall +qall

避免 vim-prettier 卡住的交互问题。

自动修复 prettier 错误

bash 复制代码
cd ~/.vim/plugged/vim-prettier
npm install --legacy-peer-deps || npm install --force
npm audit fix --force

⚠️ 注意事项

  • 确保能访问 GitHub 和 npm 源(建议配置镜像)
  • 如果是 root 用户,请确认 $HOME/root
  • 脚本执行过程中建议不要中断,否则插件未装全可能导致 Vim 报错

📚 拓展建议

  • 支持 Neovim:将 vim 替换为 nvim
  • 增加更多 coc 扩展,如 coc-jsoncoc-html
  • 加入 .bashrc.zshrc 的自动化配置
  • 保存插件列表为缓存,下次增量更新

❤️ 写在最后

希望这个脚本能帮你节省宝贵的时间!如果你喜欢这个项目,欢迎点个赞、收藏或者转发给身边有需要的小伙伴。

👉 [评论区告诉我你的想法!]

脚本地址将在评论区补充,如有更新也会第一时间同步。


本文首发于 CSDN,转载请注明出处。

相关推荐
chennalC#c.h.JA Ptho6 分钟前
kubuntu系统详解
linux·数据库·经验分享·postgresql·系统安全
熙曦Sakura10 分钟前
【Linux网络】HTTPS
linux·网络·https
铁锚13 分钟前
一个WordPress连续登录失败的问题排查
java·linux·服务器·nginx·tomcat
程序视点34 分钟前
Linux中find命令用法核心要点提炼
linux·linux命令·linux指令·linux的find命令
.生产的驴44 分钟前
Docker 部署Nexus仓库 搭建Maven私服仓库 公司内部仓库
java·运维·数据库·spring·docker·容器·maven
cwywsx1 小时前
Linux:进程控制2
linux·运维·算法
熙曦Sakura1 小时前
【Linux网络】 HTTP cookie与session
linux·网络·http
南棱笑笑生1 小时前
20250512给NanoPi NEO core开发板在Ubuntu core20.04系统下重新编译boot.img
linux·运维·ubuntu
Ha-gd1 小时前
Linux基础开发工具一(yum/apt ,vim)
linux·服务器
charlie1145141912 小时前
内核深入学习3——分析ARM32和ARM64体系架构下的Linux内存区域示意图与页表的建立流程
linux·学习·架构·内存管理