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


12

我希望vim这样做是为了使语法高亮显示在vim中(或者不需要额外的工具)。因此,要使用cat file | <some_sh_tool>我会使用vim +"some_opts" +"..." +q file。问题是vim在退出时恢复了先前的屏幕,但是并没有使用某些远程访问工具,因此它基本上可以像语法突出显示那样工作。

那么,这可能吗?

编辑

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


2
使用GNU屏幕。
jordanm 2012年

1
它不完全相同,您不能在脚本中使用它,此外,有时您无法选择。
majkinetor 2012年

Answers:


9

您可以通过告诉此终端启用代码的空字符串来禁用备用屏幕,例如:

vim --cmd 'set t_ti= t_te=' ...

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

vim --cmd 'set t_ti= t_te=' +redraw +q file

作为开始。


可能需要解释如何为最终命令创建别名。
cjh 2012年

@cjh:这取决于用户的外壳。
Bananguin 2012年

1
alias catx='vim --cmd "set t_ti= t_te=" +redraw +q'然后简单地运行catx infile
Rahul Patil

您可能还想在+"colo colorscheme"之前添加+redraw
彼得

2
不好。它将显示首页并退出。我需要它来显示所有行。重绘前添加+ $仅显示第一页和最后一页。
majkinetor 2012年

2

您可能需要看一下enscript-它具有几种语言的语法突出显示样式,并且旨在用作过滤器,并且输出不仅限于ANSI转义格式序列-它还可以输出PostScript,HTML或RTF。


1
我已经按照自己想要的方式设置了vim-颜色,语言等...一些罕见语言的sh功能是自定义的-Csound,AutoHotKey等...我不会再为其他工具编写配置文件。
majkinetor 2012年

@majkinet或可以肯定,这完全取决于您要使用它的目的。
彼得

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.