Vim, um die Datei auf dem Terminal zu drucken und zu beenden

11

Ich möchte, dass vim dies tut, damit die Syntax in vim eingerichtet wird (oder ohne dass zusätzliche Tools erforderlich sind). Also cat file | <some_sh_tool>würde ich stattdessen verwenden, um zu verwenden vim +"some_opts" +"..." +q file. Das Problem ist, dass vim beim Beenden den vorherigen Bildschirm wiederherstellt. Bei Verwendung einiger RAS-Tools ist dies jedoch nicht geschehen, sodass es im Grunde genommen als Katze mit Syntaxhervorhebung funktioniert.

Ist das also möglich?

BEARBEITEN

Wenn ich mehr darüber nachdenke, finde ich das großartig. Abgesehen von der Syntaxhervorhebung können beim Anzeigen von Dateiinhalten andere Funktionen von vim verwendet werden, z. B. Zeilennummern, Leerzeichen, Zeilenumbrüche usw., insbesondere innerhalb von Skripten und weil vim allgegenwärtig ist.

Majkinetor
quelle
2
Verwenden Sie den GNU-Bildschirm.
Jordanm
1
Es ist nicht genau das Gleiche. Sie können es nicht im Skript verwenden. Außerdem können Sie es manchmal nicht auswählen.
Majkinetor
1
Mögliches Duplikat: stackoverflow.com/questions/13408134/…
echristopherson

Antworten:

9

Sie können den alternativen Bildschirm deaktivieren, indem Sie angeben, dass der Code zum Aktivieren dieses Terminals eine leere Zeichenfolge ist:

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

Aber Sie werden feststellen, dass Sie mehr brauchen. Versuchen:

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

Als Start.

Stéphane Chazelas
quelle
Es kann sich lohnen zu erklären, wie ein Alias ​​für den letzten Befehl erstellt wird.
cjh
@cjh: das hängt von der Shell des Benutzers ab.
Bananguin
1
alias catx='vim --cmd "set t_ti= t_te=" +redraw +q'dann einfach rennencatx infile
Rahul Patil
Vielleicht möchten Sie auch +"colo colorscheme"vor dem hinzufügen +redraw.
Peterph
2
Nicht gut. Es wird die erste Seite angezeigt und beendet. Ich brauche es, um alle Zeilen zu zeigen. Durch Hinzufügen von + $ vor dem Neuzeichnen werden nur die erste und die letzte Seite angezeigt.
Majkinetor
2

Vielleicht möchten Sie einen Blick darauf werfen enscript- es verfügt über Syntax-Hervorhebungsstile für einige Sprachen und soll als Filter verwendet werden. Die Ausgabe ist nicht nur auf ANSI-Escape-Formatierungssequenzen beschränkt, sondern kann auch PostScript, HTML oder RTF.

Peterph
quelle
1
Ich habe vim so eingerichtet, wie ich es bereits möchte - Farben, Sprachen usw. Einige der Funktionen für seltene Sprachen sind benutzerdefiniert - Csound, AutoHotKey usw. Ich schreibe keine Konfigurationsdateien mehr für ein anderes Tool.
Majkinetor
@majkinetor sicher, es hängt alles davon ab, wofür genau Sie es verwenden möchten.
Peterph
2

Ich habe genau das gefunden, was ich in einem Paket namens vimpager brauchte .

Es wird mit dem Dienstprogramm vimcat geliefert.

Majkinetor
quelle