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

相关推荐
ayaya_mana4 分钟前
Linux环境下Node.js任意版本安装与pnpm、yarn包管理
linux·node.js·vim
乌龙玛奇朵5197 分钟前
Finalshell建立连接
linux
Maple_land1 小时前
Linux进程第八讲——进程状态全景解析(二):从阻塞到消亡的完整生命周期
linux·运维·服务器·c++·centos
嵌入式分享1 小时前
嵌入式分享#41:RK3576改UART波特率【精简版】
linux·嵌入式硬件·ubuntu·嵌入式
爱吃生蚝的于勒1 小时前
【Linux】零基础学会Linux之权限
linux·运维·服务器·数据结构·git·算法·github
惜.己1 小时前
linux中jenkins正常启动外部无法访问
linux·servlet·jenkins
Cyan_RA91 小时前
Linux 远程Ubuntu服务器本地部署大模型 EmoLLM 中常见的问题及解决方案 万字详解
linux·运维·服务器·ubuntu·大模型·远程部署·emollm
minji...1 小时前
Linux相关工具vim/gcc/g++/gdb/cgdb的使用详解
linux·运维·服务器·c++·git·自动化·vim
web安全工具库1 小时前
Linux 高手进阶:Vim 核心模式与分屏操作详解
linux·运维·服务器·前端·数据库
egoist20232 小时前
[linux仓库]信号产生[进程信号·贰]
linux·键盘·系统调用·信号产生·软件条件