Vim wydrukuje plik na terminalu i wyjdzie

12

Chciałbym, aby vim to zrobił, aby podświetlić składnię zgodnie z ustawieniami w vimie (lub bez potrzeby używania dodatkowych narzędzi). Więc zamiast użyć cat file | <some_sh_tool>, użyłbym vim +"some_opts" +"..." +q file. Problem polega na tym, że vim przywraca poprzedni ekran po wyjściu, ale przy użyciu niektórych narzędzi do zdalnego dostępu tak się nie stało, więc po prostu działał jako kot z podświetleniem składni.

Czy to możliwe?

EDYTOWAĆ

Myśląc o tym więcej, myślę, że to świetna rzecz. Oprócz podświetlania składni można używać innych funkcji vima podczas wyświetlania zawartości pliku, takich jak numery wierszy, białe znaki, zawijanie itp., Szczególnie w skrypcie i ponieważ vim jest wszechobecny.

majkinetor
źródło
2
użyj ekranu GNU.
jordanm,
1
nie jest dokładnie taki sam, nie można go używać w skrypcie, poza tym czasami nie można wybrać.
majkinetor
1
Możliwy duplikat: stackoverflow.com/questions/13408134/…
echristopherson

Odpowiedzi:

9

Możesz wyłączyć alternatywny ekran, informując, że kodem umożliwiającym włączenie go dla tego terminala jest pusty ciąg znaków:

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

Ale przekonasz się, że potrzebujesz więcej. Próbować:

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

na początek.

Stéphane Chazelas
źródło
Warto wyjaśnić, jak utworzyć alias dla ostatecznego polecenia.
cjh
@cjh: zależy to od powłoki użytkownika.
Bananguin 22.12.12
1
alias catx='vim --cmd "set t_ti= t_te=" +redraw +q'następnie po prostu biegnijcatx infile
Rahul Patil
możesz także dodać +"colo colorscheme"przed +redraw.
peterph
2
Niedobrze. Wyświetli pierwszą stronę i zakończy działanie. Potrzebuję tego, aby pokazać wszystkie linie. Dodanie + $ przed przerysowaniem pokazuje tylko pierwszą i ostatnią stronę.
majkinetor
2

Możesz rzucić okiem enscript- ma style podświetlania składni dla kilku języków i jest przeznaczony do użycia jako filtr, a dane wyjściowe nie są ograniczone tylko do sekwencji formatujących ANSI - może również generować PostScript, HTML lub RTF.

Peter
źródło
1
Mam konfigurację vima tak, jak chcę - kolory, języki itp. ... niektóre funkcje sh dla rzadkich języków są niestandardowe - Csound, AutoHotKey itp. ... Nie chcę ponownie pisać plików konfiguracyjnych dla innego narzędzia.
majkinetor
@majkinetor na pewno wszystko zależy od tego, do czego dokładnie chcesz go używać.
peterph
2

Znalazłem dokładnie to, czego potrzebowałem w pakiecie o nazwie vimpager .

Jest dostarczany z narzędziem vimcat.

majkinetor
źródło