我采用了打印解决方案https://unix.stackexchange.com/a/20448/9689:
vim -c 'hardcopy > /path/to/saved.ps' -c 'quit' /path/to/file
问题是,当我file
在 VIM 中打开它并且我当前正在工作时。
然后我想要脚本(例如在另一个终端中)来打印它,并且我得到monit“您已经打开文件...”。
是的,我知道我可以-n
不使用交换文件,但是如果我在第二个 VIM 上使用它,它就不起作用,等等-R
......
vim -n -R -c 'hardcopy > /path/to/saved.ps' -c 'quit' /path/to/file
看起来我需要在其他 VIM 编辑器上运行此选项,但我不想这样做。我想使用这些交换文件,只需在生成打印输出的这一次运行中禁用它即可。
(Vim 似乎只打印到 ps/pdf 解决方案,该解决方案与 rust 配合得很好(语法突出显示),尽管如果有人有替代方案,请发表评论,主要问题是运行 VIM 而不会抱怨文件swap
......也许答案是如果没有到处禁用交换文件是不可能的-n
,那么我将不得不忍受它,但目前我不知道)