Vim pour imprimer le fichier sur le terminal et quitter

12

Je voudrais que vim le fasse pour que la syntaxe soit mise en évidence dans vim (ou sans avoir besoin d'outils supplémentaires). Donc, à la place cat file | <some_sh_tool>, j'utiliserais vim +"some_opts" +"..." +q file. Le problème est que vim restaure l'écran précédent à la sortie, mais en utilisant certains outils d'accès à distance, cela ne s'est pas produit, donc cela fonctionnait essentiellement comme chat avec la coloration syntaxique.

Alors, est-ce possible?

ÉDITER

En y réfléchissant davantage, je pense que c'est une bonne chose à avoir. En dehors de la syntaxe, d'autres fonctionnalités de vim peuvent être utilisées lors de l'affichage du contenu du fichier, comme les numéros de ligne, les espaces blancs, le wrapping, etc ... en particulier dans le script et parce que vim est omniprésent.

majkinetor
la source
2
utiliser l'écran GNU.
jordanm
1
ce n'est pas exactement la même chose, vous ne pouvez pas l'utiliser dans le script, d'ailleurs, parfois vous ne pouvez pas choisir.
majkinetor
1
Duplicata possible: stackoverflow.com/questions/13408134/…
echristopherson

Réponses:

9

Vous pouvez désactiver l'écran alternatif, en disant que le code pour l'activer pour ce terminal est la chaîne vide comme:

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

Mais vous constaterez que vous en avez besoin de plus. Essayer:

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

comme début.

Stéphane Chazelas
la source
Il peut être utile d'expliquer comment créer un alias pour la commande finale.
cjh
@cjh: cela dépend du shell de l'utilisateur.
Bananguin
1
alias catx='vim --cmd "set t_ti= t_te=" +redraw +q'puis exécutez simplementcatx infile
Rahul Patil
vous pouvez également ajouter +"colo colorscheme"avant le +redraw.
peterph
2
Pas bon. Il affichera la première page et quittera. J'en ai besoin pour montrer toutes les lignes. L'ajout de + $ avant le rafraîchissement n'affiche que la première et la dernière page.
majkinetor
2

Vous voudrez peut-être y jeter un coup d'œil enscript- il a des styles de coloration syntaxique pour quelques langues et est destiné à être utilisé comme filtre, et la sortie n'est pas limitée aux séquences de formatage d'échappement ANSI - il peut également sortir PostScript, HTML ou RTF.

peterph
la source
1
J'ai déjà configuré vim comme je le veux déjà - couleurs, langues, etc. ... certaines des fonctionnalités sh pour les langues rares sont personnalisées - Csound, AutoHotKey, etc ... Je n'ai pas l'habitude d'écrire à nouveau des fichiers de configuration pour un autre outil.
majkinetor
@majkinetor bien sûr, tout dépend de l'usage exact que vous souhaitez en faire.
peterph
2

J'ai trouvé exactement ce dont j'avais besoin dans un package appelé vimpager .

Il est livré avec l'utilitaire vimcat.

majkinetor
la source