1
0
mirror of https://git.decapod.one/brethil/dotfiles synced 2024-11-18 17:51:31 +01:00
dotfiles/functions/vim.zsh
bretello 41eb8f1a5f zsh: vimscratch: add filetype arg
Allows setting filetype for vimscratch command.

Usage: `<command> | vimscratch [filetype]`.

For example:

```bash
curl https://myip.wtf/json | vimscratch json
```
Will open the output of the curl command as a json
temporary file in vim.
2023-10-25 11:45:54 +02:00

19 lines
477 B
Bash

# open vim with a scratch window that can be discarded on exit.
vimscratch() {
local args
# if running in a pipe, use stdin (-) as arg.
# -t checks if the given FD is a terminal
if [ ! -t 0 ] ; then
stdin_arg="-"
fi
set +x
if [[ -n "$1" ]]; then
filetype=$1
shift
vim -c "set buftype=nofile" -c "set filetype=$filetype" $@ $stdin_arg
else
vim -c "set buftype=nofile" $filetype_arg $@ $stdin_arg
fi
}