我想尝试编写一个命令将vim的高亮信息导出到STDOUT。我可以像这样成功地写入文件:
vim +'redir >outfile' +'hi' +'redir END' +'q'
在这之后,outfile
包含了我想要的内容。但我更愿意将输出到 STDOUT 以便管道到一个命令,将高亮信息转换为 CSS。
这种方法试图将命令重定向到寄存器,写入当前缓冲区,然后将该输出发送到 tee
。
vim -E +'redir @a' +'silent! hi' +'redir END' +'put a' +'w !tee' +'q!' > outfile
这很接近了,但是会输出一个前导的分页信息(255行更多...),以及一些ANSI转义字符。设置nomore
并不能压制这个消息。我想要将第一个命令发送到outfile
的确切输出发送到STDOUT。
vim +'redir! >outfile' +'silent! hi' +'redir END' +'q'&&cat outfile
- Kent:TOhtml
? - romainl