A portable, automated installer for my personal Vim configuration.
This repository contains:
vim_folder/— expected location for the.vimrcthat will be copied to~/.vimrcby the installer.install.sh— the automated installer script that detects the package manager, installs required packages, clones Vundle, installs plugins and (optionally) builds YouCompleteMe.LICENSEandREADME.md(this file).
The installer expects your working directory to look like this (already present in this repo):
.git/
install.sh
vim_folder/
Before running the installer, copy your .myvimrc to vim_folder/.vimrc (the installer will cp ./vim_folder/.vimrc ~/.vimrc):
# from repo root
git clone https://github.com/PsymoNiko/vim_config.git
cd vim_config
chmod +x install.sh
# run installer (may prompt for sudo)
./install.shIf you prefer to keep the file elsewhere, you can pass a path to install.sh:
sudo ./install.sh /path/to/your/.vimrcelse:
sudo ./install.sh- Detects your package manager (
apt,dnf,pacmanorzypper). - Installs a recommended set of system packages for development (Git, Vim, compilers, Python dev headers, Node, Java, etc.).
- Clones or updates Vundle into
~/.vim/bundle/Vundle.vim. - Backs up any existing
~/.vimrc(creates~/.vimrc.bak.TIMESTAMP). - Copies
./vim_folder/.vimrcto~/.vimrcusing thecpcommand. - Runs
vim +PluginInstall +qallto install plugins via Vundle. - If YouCompleteMe is installed by Vundle, it optionally runs its
install.py --all --verboseto build YCM.
The script includes package lists for common distros and will try to install packages with one of the supported package managers. If your distro is not supported or uses different package names, edit install.sh and add/adjust package names.
Supported managers: apt (Ubuntu/Debian), dnf (Fedora/RHEL), pacman (Arch), zypper (openSUSE/SLES).
-
YouCompleteMe build failures: YCM often needs additional dev packages like
clang,libclang-dev(name varies by distro). If the build fails, inspect the output and install the missing packages, then re-runpython3 install.py --all --verbosein~/.vim/bundle/YouCompleteMe. -
Headless PluginInstall: The script runs
vim +PluginInstall +qallnon-interactively. If you prefer to see plugin installation progress, runvimand run:PluginInstallmanually. -
Security: Inspect
install.shbefore running. Do not run random scripts from the internet without review.
- Upstream inspiration / related config: https://github.com/PsymoNiko/vim_config.git
This repo includes a LICENSE file. Check it for license details.