Vim para imprimir arquivo no terminal e sair

12

Eu gostaria que o vim fizesse isso para destacar a sintaxe conforme configurado no vim (ou sem a necessidade de ferramentas extras). Então, ao invés de usar cat file | <some_sh_tool>eu usaria vim +"some_opts" +"..." +q file. O problema é que o vim restaura a tela anterior ao sair, mas o uso de algumas ferramentas de acesso remoto não aconteceu, portanto estava basicamente funcionando como gato com destaque de sintaxe.

Então, isso é possível?

EDITAR

Pensando mais sobre isso, acho que isso é ótimo. Além da sintaxe, o destaque para outros recursos do vim pode ser usado ao exibir o conteúdo do arquivo, como números de linhas, espaços em branco, quebra automática, etc ... especialmente dentro do script e porque o vim é onipresente.

majkinetor
fonte
2
use a tela GNU.
Jordanm
1
não é exatamente o mesmo, você não pode usá-lo no script; além disso, às vezes você não pode escolher.
majkinetor
1
Possível duplicata: stackoverflow.com/questions/13408134/…
echristopherson

Respostas:

9

Você pode desativar a tela alternativa, informando que o código para habilitá-lo para este terminal é a string vazia como:

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

Mas você encontrará que precisa de mais. Experimentar:

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

como um começo.

Stéphane Chazelas
fonte
Pode valer a pena explicar como criar um alias para o comando final.
CJH
@cjh: isso depende do shell do usuário.
Bananguin
1
alias catx='vim --cmd "set t_ti= t_te=" +redraw +q'em seguida, basta executarcatx infile
Rahul Patil
você também pode querer adicionar +"colo colorscheme"antes do +redraw.
Peterph
2
Não é bom. Irá mostrar a primeira página e sair. Eu preciso mostrar todas as linhas. Adicionar + $ antes do redesenho mostra apenas a primeira e a última página.
majkinetor
2

Você pode dar uma olhada enscript- ele possui estilos de destaque de sintaxe para alguns idiomas e deve ser usado como filtro, e a saída não se limita apenas às sequências de formatação de escape ANSI - também pode gerar PostScript, HTML ou RTF.

peterph
fonte
1
Eu tenho o vim configurado do jeito que eu já quero - cores, idiomas etc ... alguns dos recursos sh para idiomas raros são personalizados - Csound, AutoHotKey, etc ... Eu não costumo escrever arquivos de configuração para outra ferramenta novamente.
majkinetor
@ majkinetor claro, tudo depende do que exatamente você deseja usá-lo.
Peterph
2

Encontrei exatamente o que precisava em um pacote chamado vimpager .

É fornecido com o utilitário vimcat.

majkinetor
fonte