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-json、coc-html
  • 加入 .bashrc 或 .zshrc 的自动化配置
  • 保存插件列表为缓存,下次增量更新

❤️ 写在最后

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

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

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


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

相关推荐
AI_Lab0110 分钟前
宝塔用了两年,有没有必要换成轻量方案?
linux·运维·服务器
众壹新能源科技11 分钟前
逆变器直流开关柜温度监测与预防:红外巡检发现3个120度热点
运维·人工智能·自动化
by2099912 分钟前
Linux GDB 调试与 CGDB 使用
linux·运维·服务器·经验分享
小Ti客栈21 分钟前
Netty 零拷贝原理与实战
运维·服务器·网络
ai_coder_ai32 分钟前
AIOps 智能运维架构设计及其应用
运维
静以修身zzz39 分钟前
计算云服务
运维·网络·云计算
星恒随风1 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
万联WANFLOW1 小时前
异地组网速度忽快忽慢到底怎么回事?直连与中继的判断方法和处理步骤
运维·网络·网络协议·p2p
SDWAN_Cheap1 小时前
物理服务器跟云服务器有什么区别,使用于什么场景
运维·服务器
福建佰胜张工3 小时前
深度解析 Allen-Bradley 150-B135NBDA 智能电机控制器:选型、参数与工业应用
运维·数据库·单片机·嵌入式硬件·安全·自动化