我想使用pygmentize
突出显示一些没有扩展名的脚本文件(python / bash / ...)。但是pygmentize
要求我使用-l
指定词法分析器。它不会自动从内容中识别文件类型。
我手头有以下选项,但现在都无法使用:
file -b --mime-type
。但是此命令输出x-python
和x-shellscript
而不是python
和bash
,但我不知道规则vim -e -c 'echo &ft|q' the_file
。对于任何带有或不带有文件扩展名的文件,vim都有一种猜测文件类型的机制。但这是行不通的。由于输出进入vim窗口,并在q
之后消失。 我该怎么办?
@Samborski的方法在正常情况下可以正常工作,但由于未分配pts,因此在python subprocess.check_output
中不起作用。如果使用nvim
,则可以使用以下更直接的方法:
HOME=_ nvim --headless -es file <<EOF
call writefile([&ft], "/dev/stdout")
EOF
答案 0 :(得分:2)
您可以通过以下方式使用vim:
vim -c ':silent execute ":!echo " . &ft . " > /dev/stdout"' -c ':q!' the_file
它只是构造命令以字符串串联的形式在shell中运行。