Skip to content

gillesruppert/vimrc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

160 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vim Config

Personal Vim 9+ configuration. Uses Vim's native package system (pack/plugins/start/) with git submodules to manage plugins.

Prerequisites

All other dependencies (fzf, ripgrep, LSP servers, linters, fixers) are installed automatically by make install and kept up to date by make update.

Installation

Clone the repo, then run:

make install

This will:

  1. Install dependencies via Homebrew, npm, and pipx (fzf, ripgrep, LSP servers, linters, fixers)
  2. Back up any existing ~/.vim to ~/.vim.bak
  3. Initialise all plugin submodules
  4. Symlink the repo to ~/.vim

Vim 9 automatically reads ~/.vim/vimrc, so no .vimrc symlink is needed.

Updating

make update

This will:

  1. Install/update all dependencies
  2. Pull the latest version of every plugin via git submodule update --remote --merge

Dependencies

Dependencies are managed in the Makefile and installed automatically. You can also run make deps on its own.

Package Manager Purpose
fzf brew Fuzzy finder
ripgrep brew Fast file search
pipx brew Python CLI tool installer
shellcheck brew Bash/sh static analysis
ruff brew Python linter and formatter
typescript npm TypeScript compiler
typescript-language-server npm TypeScript/JavaScript LSP server
bash-language-server npm Bash LSP server
prettier npm Code formatter (JS/TS/CSS/JSON/HTML/Markdown)
eslint npm JavaScript/TypeScript linter
python-lsp-server pipx Python LSP server

LSP servers and linters that aren't installed are silently skipped by Vim.

Adding a Plugin

# 1. Add the submodule
git submodule add https://github.com/AUTHOR/PLUGIN.git pack/plugins/start/PLUGIN

# 2. Generate help tags
vim -u NONE -c "helptags pack/plugins/start/PLUGIN/doc" -c q

# 3. Add any config to vimrc, then commit
git add .gitmodules pack/plugins/start/PLUGIN
git commit -m "Add PLUGIN"

The plugin will be auto-loaded on next Vim start.

Removing a Plugin

# 1. De-register and remove the submodule
git submodule deinit pack/plugins/start/PLUGIN
git rm pack/plugins/start/PLUGIN

# 2. Clean up the cached submodule data
rm -rf .git/modules/pack/plugins/start/PLUGIN

# 3. Remove any related config from vimrc, then commit
git commit -m "Remove PLUGIN"

Current Plugins

Plugin Description
fzf + fzf.vim Fuzzy file/buffer/grep finder
vim-fugitive Git integration
vim-gitgutter Git diff signs in the gutter
vim-airline + themes Status line
vim-commentary Toggle comments with gcc
vim-surround Manipulate surrounding quotes/brackets
vim-repeat . repeat for plugin actions
nerdtree File tree explorer
undotree Visual undo history
tabular Text alignment
lsp Language Server Protocol support
ale Asynchronous linting and fixing
gruvbox Colour scheme
vim-sleuth Auto-detect indentation settings
vim-unimpaired Handy [ and ] mappings
vim-test Run tests from Vim

About

My personal vim config. Now with organisation! :-)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors