Vim 在终端上打印文件并退出

maj*_*tor 14 vim

我希望 vim 这样做,以便在 vim 中设置语法高亮(或不需要额外的工具)。因此,cat file | <some_sh_tool>我会使用vim +"some_opts" +"..." +q file. 问题是 vim 在退出时恢复以前的屏幕,但是使用一些远程访问工具这没有发生,所以它基本上像 cat 一样工作,带有语法高亮。

那么,这可能吗?

编辑

考虑更多这一点,我认为这是一件很棒的事情。除了语法高亮显示文件内容时,还可以使用 vim 的其他功能,如行号、空格、换行等……尤其是在脚本中,因为 vim 无处不在。

Sté*_*las 11

您可以禁用备用屏幕,方法是告知为此终端启用它的代码是空字符串,例如:

vim --cmd 'set t_ti= t_te=' ...
Run Code Online (Sandbox Code Playgroud)

但你会发现你需要更多。尝试:

vim --cmd 'set t_ti= t_te=' +redraw +q file
Run Code Online (Sandbox Code Playgroud)

作为开始。

  • `alias catx='vim --cmd "set t_ti= t_te=" +redraw +q'` 然后简单地运行 `catx infile` (2认同)
  • 不好。它将显示第一页并退出。我需要它来显示所有的行。在重绘前添加 +$ 仅显示第一页和最后一页。 (2认同)

maj*_*tor 5

我在一个名为vimpager的包中找到了我需要的东西

它附带 vimcat 实用程序。