A portable, automated installer for my personal Vim configuration.
This repository contains:
vim_folder/
— expected location for the.vimrc
that will be copied to~/.vimrc
by the installer.install.sh
— the automated installer script that detects the package manager, installs required packages, clones Vundle, installs plugins and (optionally) builds YouCompleteMe.LICENSE
andREADME.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.sh
If you prefer to keep the file elsewhere, you can pass a path to install.sh
:
sudo ./install.sh /path/to/your/.vimrc
else:
sudo ./install.sh
- Detects your package manager (
apt
,dnf
,pacman
orzypper
). - 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/.vimrc
to~/.vimrc
using thecp
command. - Runs
vim +PluginInstall +qall
to install plugins via Vundle. - If YouCompleteMe is installed by Vundle, it optionally runs its
install.py --all --verbose
to 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 --verbose
in~/.vim/bundle/YouCompleteMe
. -
Headless PluginInstall: The script runs
vim +PluginInstall +qall
non-interactively. If you prefer to see plugin installation progress, runvim
and run:PluginInstall
manually. -
Security: Inspect
install.sh
before 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.