从 Vim 启动 Zathura

问题描述 投票:0回答:1

我有以下小 shell 脚本,称为

md
:

#!/bin/sh
if [ -z $1 ]; then
    echo "Error: No argument supplied"
else
    (pandoc -t pdf $1 | zathura - &)
fi

它在我的终端中运行良好,允许我运行

md foo.md
并使用生成的 pdf 启动 Zathura。但是,我尝试添加自定义 Vim 命令来执行相同的操作,但它不起作用!这是我的
init.vim
发出的命令:

command Md ! md %:p

当我在 Vim 中的 Markdown 文件中运行

:Md
时,我从 Vim 获得以下输出:

:! md /absolute/path/to/file.md

Zathura 启动,但文件为“空”,即底部显示“[无名称]”。如果我复制粘贴 Vim 所说的运行命令,并在我的终端中运行它,Zathura 会以相同的方式启动,但会显示文件。

为什么不起作用?

shell vim neovim
1个回答
0
投票

您可能会更幸运地将当前缓冲区的内容通过管道传输到脚本,而不是依赖文件。

~/.vimrc

command! -buffer -range=% Md <line1>,<line2>w !md

您的

md
脚本:

#!/bin/sh
pandoc -t pdf | zathura - &
© www.soinside.com 2019 - 2024. All rights reserved.