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,转载请注明出处。

相关推荐
plmm烟酒僧4 小时前
使用 Tmux 在断开SSH连接后,保持会话的生命周期
运维·ssh·tmux·分离会话
多多*6 小时前
Java设计模式 简单工厂模式 工厂方法模式 抽象工厂模式 模版工厂模式 模式对比
java·linux·运维·服务器·stm32·单片机·嵌入式硬件
南鸳6107 小时前
Linux常见操作命令(2)
linux·运维·服务器
fengwuJ7 小时前
Linux安装Idea
linux·ubuntu·debian·intellij-idea
Kaede68 小时前
怎么安装JSON服务器?JSON服务器最新安装教程
运维·服务器·json
西北大程序猿8 小时前
linux进程信号 ─── linux第27课
linux·运维·服务器·信号处理
涛ing8 小时前
【Git “fetch“ 命令详解】
linux·c语言·c++·人工智能·git·vscode·svn
想躺在地上晒成地瓜干9 小时前
树莓派超全系列文档--(18)树莓派配置音频
linux·音视频·树莓派·raspberrypi·树莓派教程
inxunoffice9 小时前
批量给 PDF 添加或删除密码保护,支持设置打开密码、只读密码、限制复制和打印
运维·服务器·pdf
宅小海9 小时前
14 配置Hadoop集群-配置历史和日志服务
linux·服务器·hadoop