Files
vim-ale/vim-shfmt
AJ ONeal efda7c60aa add gittag conf for vim plugins, alias confs, fix psql as own package
Vim plugins with gittag source:
- vim-airline, vim-airline-themes, vim-ale, vim-devicons, vim-go
- vim-nerdtree, vim-prettier, vim-rust, vim-sensible, vim-shfmt
- vim-syntastic

rust.vim is a directory symlink to vim-rust, so it shares the same
releases.conf automatically.

Alias confs (alias_of):
- postgresql → postgres
- postgresql-client, postgres-client → psql
- mariadb-server, mariadbd → mariadb
- gnupg → gpg, iterm → iterm2, ziglang → zig
- trippy → trip, powershell → pwsh

Fix: psql is its own package (postgres client), not an alias of
postgres (server). Both use the same GitHub repo
(bnnanet/postgresql-releases) but install different binaries.
2026-03-09 23:24:35 -06:00
..
2026-03-08 19:38:49 -06:00

title, homepage, tagline
title homepage tagline
vim-shfmt https://github.com/z0mbix/vim-shfmt vim-shfmt: a vim plugin for shfmt

To update (replacing the current version) run webi vim-shfmt.
To update the config options, first remove ~/.vim/plugins/shfmt.vim

Files

These are the files / directories that are created and/or modified with this install:

~/.vim/pack/plugins/start/vim-shfmt/
~/.vim/plugins/prettier.vim
~/.vimrc

If shellcheck and shfmt are not found, they will also be installed.

Cheat Sheet

vim-shfmt uses shfmt to format your bash scripts on save.

Use :Shfmt to run manually (or just save the file with :w).

This plugin comes with reasonable defaults, which install to ~/vim/plugins/shfmt.vim:

let g:shfmt_extra_args = '-i 4 -sr -ci -s'
let g:shfmt_fmt_on_save = 1

How to install and configure manually

  1. Clone vim-shfmt into your ~/.vim/pack/plugins/start:

    mkdir -p ~/.vim/pack/plugins/start/
    git clone --depth=1 https://github.com/CHANGEME/EXAMPLE.git ~/.vim/pack/plugins/start/shfmt
    
  2. Create the file ~/.vim/plugins/shfmt.vim. Add the same contents as https://github.com/webinstall/webi-installers/blob/master/vim-shfmt/shfmt.vim, which will look something like this:

    " ~/.vim/plugins/shfmt.vim
    
    " 4 indents, space between redirects, indented case statements, simplify
    let g:shfmt_extra_args = '-i 4 -sr -ci -s'
    let g:shfmt_fmt_on_save = 1
    
    " auto run on .sh and .bash files
    augroup LocalShell
        autocmd!
    
        autocmd BufWritePre *.sh,*.bash Shfmt
    augroup END
    
  3. Update ~/.vimrc to source that plugin:

    " shfmt: reasonable defaults from webinstall.dev/vim-shfmt
    source ~/.vim/plugins/shfmt.vim