Podświetlanie kolorów składni Vima zniknęło z wiersza poleceń

3

Gdybym wykonać następujące polecenia od wewnątrz na vimsesji, która odwiedza plik kodu, powstały hardcopy składnia jest podświetlony w kolorze :

:syntax on
:hardcopy >/path/to/hardcopy.ps

Ale jeśli wypróbuję tę samą sekwencję poleceń z wiersza poleceń (powłoka uniksowa), wynikowa kopia nie będzie wyróżniona kolorem (otrzymuję tylko czarny tekst, czasem pogrubiony lub podkreślony itp. Na białym tle):

% vim -c ':syntax on' -c ':hardcopy >/path/to/hardcopy.ps' -c quit /path/to/original

Wszelkie pomysły, jak rozwiązać ten problem?

kjo
źródło

Odpowiedzi:

1

Podejrzewam, że może tu chodzić o koloryzację Vima, która jest rodzajem włamania zintegrowanego z kodem wyświetlacza. Zauważ, że na przykład, kiedy przeskakujesz w dużym pliku, czasami kolorystyka będzie błędna, ponieważ Vim stara się nie przetwarzać całego pliku, stosując swoje hierarchiczne dopasowania wzorca „regionu”. Ponadto, jeśli twój terminal nie obsługuje kolorów, to Vim nie wydrukuje kolorów ani nie wygeneruje pokolorowanego HTML, nawet jeśli te miejsca docelowe nie mają nic wspólnego z terminalem.

Kiedyś próbowałem przekształcić Vima w zaplecze do wykonywania podświetlania składni w locie w CGIT, do przeglądania plików w repozytorium GIT. Próbowałem wielu hacków, aby przekonać Vima do produkcji danych wyjściowych w trybie wsadowym, ale w końcu się poddałem.

Ale przestałem próbować użyć takiego narzędzia expect. Skryptowanie Vima za pomocą expectczegoś może zadziałać, pod warunkiem, że również go okłamiesz i powiesz, że rozmawia z kolorowym Xtermem.

Kaz
źródło
0

Dowiedziałem się, że zmienna środowiskowa TERMma wpływ na użyte kolory wyjściowe PS.

Możesz spróbować tego:

TERM=xterm-256color vim '+hardcopy >out.ps' +q src_file
Lucas Cimon
źródło