A command line utility and Rust library to format overly-indented text.
Head on over to the releases and get a copy!
Or install using Cargo:
$ cargo install deindent
My primary use-case for this utility is to deindent text that I'm copying from an editor to e.g. my browser.
Set up an alias in your shell that deindents your clipboard content.
- macOS:
$ alias pbdeindent='pbpaste | deindent | pbcopy'
- Linux (Wayland with
wl-clipboard
)
$ alias wl-deindent='wl-paste | deindent | wl-copy'
The following Vimscript configures (Neo)Vim to automatically deindent the *
(clipboard) register after yanking to it.
if executable("deindent")
augroup DeindentClipboardRegister
autocmd!
autocmd TextYankPost *
\ if v:event["regname"] == "*" |
\ call setreg("*", system("deindent", getreg("*"))) |
\ endif
augroup END
endif