Czasami chcę szybko wyświetlić zawartość pliku z wiersza polecenia. Do tego oczywiście używam cat
, ale często są to pliki źródłowe w Pythonie , Javie lub prostym HTML . W przypadku tych plików przydałoby się cat
nadać plikom znaczniki kolorów, aby były łatwiejsze do odczytania.
Czy można cat
coś takiego zrobić?
cat -v
uważane za szkodliwe .Odpowiedzi:
cat
nie jest w stanie tego zrobić. Jednak być może pigwy mogą ci w tym pomóc. Jest to skrypt Pythona i można go zainstalować za pomocą apt-getlub łatwo pobrać i zainstalować za pomocą easy_install.
Obsługuje wiele języków kodu źródłowego , a także języki znaczników
Jest używany przez
źródło
pygmentize -g <filename>
,-g
przełącznik jest ważny do obsługi plików bez leksyk. na przykład, jeśli spróbujesz/etc/fstab
otworzyć bez-g
niego, to się nie powiedzie.pygmentize --help
Jeśli-g
zostanie przekazany, spróbuj zgadnąć leksykon z treści pliku lub prześlij go jako zwykły tekst, jeśli to się nie powiedzie (może to działać dla standardowego wejścia).funced cat... type pygmentize -g $argv... save..funcsave cat
.bashrc
dodałem:command -v pygmentize >/dev/null 2>&1 && alias cat='pygmentize -g'
Nie od
cat
siebie, ale możesz użyć czegoś takiego jak źródło highlite lub supercat lub wyróżnienieLub z funkcją ( źródło ):
Wymaga: Pygments (
sudo apt-get install python-pygments python3-pygments
) Dodaj go jako funkcję do bash .functions i nadaj mu nazwę jak color ()źródło
Począwszy od tej odpowiedzi tutaj , możesz użyć
python-pygments
pakietów do wyróżnienia rzeczy. Najpierw wykonaj:następnie:
to spróbuj:
Możesz także ustawić go jako alias, jak w odpowiedzi, którą podałem - w zasadzie uruchom to:
Zamknij terminal, otwórz go ponownie, a
catc
polecenie powinno teraz działać - jeśli nie, upewnij się, że te wiersze znajdują się w.bashrc
pliku i nie są komentowane:Inną rzeczą byłoby po prostu użyć
nano
:źródło
man view
lubman vim
Podstawowe użycie:
view <filename>
Wyjdź:
:q<Return>
(dodaj<Esc>
pierwszy, jeśli używaszvim
) lubZZ
(wielkie litery z dwa razy).Edytor tekstowy programisty
vim
ma już wszystko, czego potrzebujesz i prawdopodobnie jest już częścią twojego systemu.vim
ma tryb tylko do odczytu aktywowany za pomocąview
lubvim -R
. Jeśli wszystko, co chcesz zrobić, to wyświetlić zaznaczony plik, powinno wystarczyć.Prosty w obsłudze, nawigowalny, dostępny wszędzie. Nie musisz się martwić instalowaniem nowego oprogramowania lub pisaniem skryptów bash.
źródło
vim
lubview
po prostu dostarczasz mu plik:view file.py
więc nie ma różnicycat
. Pewnie, że musisz go zamknąć, ale naprawdę:q<Return>
lubZZ
nie są to trudne zadania.Można sprawdzić kota .
Dodaje podświetlanie składni do plików wyjściowych.
źródło
cat
nie może produkować wyłącznie podświetlania składni. Nadal możesz to zrobić za pomocąpython-pygments
. Najpierw zainstaluj go z terminala, ponieważTeraz skopiuj funkcję poniżej
~/.bashrc
. Daje ci to, czego chcesz, a ponadto zachowuje właściwości, wcat
przeciwnym razie nie ma sensu używaćcat
Źródło
~/.bashrc
jakoDaje kolorowy efekt,
To także połączy się z kolorem,
źródło
pygmentize?
Otwieram go za pomocą polecenia formularzaxterm -e "pygmentize -g <filename>"
i stwierdzam, że jedynym sposobem przewijania jest użycie paska przewijania. Próbowałem przesłać dane wyjściowe do,less
ale to spowodowało wyrzucenie śmieci.pygmentize
mniej. Utwórz funkcję bashlessc
w następujący sposób:lessc () { pygmentize -gf terminal "$1" | less -R }
Bat - klon kota ze skrzydłami
Możesz także sprawdzić,
bat
który ma następujące funkcje:less
cat
po przekierowaniuZapowiedź
Zdjęcie pochodzi z oficjalnego serwisu GitHub
Instalacja
Możesz pobrać najnowszy pakiet Debiana tutaj i zainstalować go z:
Dostosowanie numeru wersji i architektury.
źródło
Inne odpowiedzi dotyczą tego, dlaczego
cat
nie jest w stanie tego zrobić. Chociaż możesz to zrobić mniej, używając lesspipe.sh .źródło
Zamiast instalować pakiet innej firmy, możesz po prostu użyć
gedit
do szybkiego przeglądania pliku z podświetlaniem składni. Na przykład skopiuj powyższy pasek adresu i wklej do terminala:Zobaczysz to pytanie w formacie HTML ze sformatowanymi kolorami:
gedit
klawiszy nawigacyjnychcat
która nie wymaga zamknięcia klawiszy.źródło