Может ли `cat` показывать файлы, используя разметку кода в цветах?

Иногда я хочу быстро просмотреть содержимое файла из командной строки. Для этого я, конечно, использую cat , но это часто исходные файлы в Python , Java или простом HTML . Для этих файлов было бы удобно, если бы cat мог придать файлам некоторую цветовую разметку, чтобы было легче читать.

Может ли cat сделать такую ​​вещь?

45
задан 16 January 2014 в 00:51

9 ответов

cat не может сделать это. Тем не менее, может быть, фрагменты могут помочь вам там. Это скрипт на python, который можно установить через apt-get

sudo apt-get install python-pygments

или легко загрузить и установить с помощью easy_install.

Он поддерживает множество языков исходного кода , а также языков разметки

Он используется в

pygmentize -g <filename>
0
ответ дан 16 January 2014 в 00:51

Не от cat самостоятельно, но можно использовать что-то как исходное выделение или суперкошка или выделение

Исходное выделение

Эта программа, учитывая исходный файл, представляет документ с подсветкой синтаксиса. Это также обеспечивает (новую) библиотеку выделения C++ (начиная с версии 3.0).

Исходное выделение читает спецификации исходного языка динамично, таким образом оно может быть легко расширено (не перекомпилировав источники) для обработки новых языков. Это также читает спецификации выходного формата динамично, и таким образом это может быть легко расширено (не перекомпилировав источники) для обработки новых выходных форматов. Синтаксис для этих спецификаций довольно легок (смотрите на руководство).

Руководство об установке:

Посмотрите УСТАНОВКУ файла для подробного здания и инструкций по установке; так или иначе, если Вы привыкли компилировать программное обеспечение Linux, которое идет с источниками, можно просто выполнить обычную процедуру, т.е. untar файл, который Вы загрузили в каталоге и затем:

 cd <source code main directory>
 ./configure
 make
 make install

Суперкошка

Это - домашняя страница Суперкошки. Суперкошка является программой что colorizes текст на основе соответствия регулярным выражениям/строкам/символам. Суперкошка поддерживает вывод HTML, а также стандартный текст ASCII. В отличие от некоторых программ текстовой колоризации, которые существуют, Суперкошка не требует, чтобы необходимо было быть программистом для создания правил колоризации.

Если Вы записали файл конфигурации суперкошки для стандартного типа файла, свяжитесь со мной в "SPC ошибки (в) nosredna (точечная) сеть" для возможного включения в распределение суперкошки.

Или с функцией (источник):

#!/bin/bash#!/bin/bash
if [ ! -t 0 ];then
        file=/dev/stdin
elif [ -f $1 ];then
        file=$1
else
        echo "Usage: $0 code.c"
        echo "or e.g. head code.c|$0"
        exit 1
fi
pygmentize -f terminal -g $file

Требует: Pygments (sudo apt-get install python-pygments python3-pygments) Добавьте его как функцию, чтобы колотить .functions и дать ему имя как цвет ()

19
ответ дан 16 January 2014 в 00:51

Начиная с этого ответа здесь , вы можете использовать пакеты python-pygments для выделения материала. Сначала выполните:

sudo apt-get install python-pygments python3-pygments

, затем:

pygmentize -g FILENAME

, затем сделайте:

enter image description here

Вы также можете установить это как псевдоним, как в ответе, который я связал - в основном, запустите это:

echo "alias catc='pygmentize -g'" >> ~/.bash_aliases 
chmod +x ~/.bash_aliases

Закройте терминал, откройте его снова, и теперь команда catc должна работать - если это не так, сделайте уверен, что эти строки находятся в файле .bashrc и не закомментированы:

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

Другое дело будет просто использовать nano:

nano testfile

enter image description here

0
ответ дан 16 January 2014 в 00:51

man view или man vim

Основное использование: view <filename>

Выход: :q<Return> (сначала добавьте <Esc>, если используете vim), или ZZ (верхний регистр z дважды).

Текстовый редактор программиста vim уже имеет все, что вам нужно, и, вероятно, уже является частью вашей системы.

vim имеет режим только для чтения, активированный с помощью view или vim -R. Если все, что вы хотите сделать, это просмотреть размеченный файл, этого должно быть достаточно.

Простой в использовании, навигационный, доступен везде. Нет необходимости возиться с установкой нового программного обеспечения или написанием сценариев bash.

0
ответ дан 16 January 2014 в 00:51

Можно проверить ccat .

Добавляет подсветку синтаксиса к выходным файлам.

0
ответ дан 16 January 2014 в 00:51

cat не может производить подсветку синтаксиса исключительно. Тем не менее, вы можете сделать это следующим образом, используя python-pygments. Сначала установите его из терминала как,

sudo apt-get install python-pygments

Теперь скопируйте функцию ниже ~/.bashrc. Это даст вам то, что вы хотите , более того, оно сохранит свойства cat , иначе нет смысла использовать cat

catc(){
    cat "$@" > /tmp/.tmp
    pygmentize -g /tmp/.tmp
    rm /tmp/.tmp
}

Source ~/.bashrc as,

]
. ~/.bashrc

Это даст колоризованный результат,

catc <filename>

Это также будет объединено с цветом,

catc <file1> <file2> ... <filen>
0
ответ дан 16 January 2014 в 00:51

Другие ответы охватывают, почему cat не в состоянии это сделать. Хотя вы можете сделать это с меньшими затратами, используя lesspipe.sh .

0
ответ дан 16 January 2014 в 00:51

Летучая мышь - клон кошки с крыльями

Вы также можете проверить bat , который имеет следующие особенности:

  • Подсветка синтаксиса
  • Интеграция с Git
  • Опционально показаны непечатаемые символы
  • Автоматическое разбиение по страницам с помощью less
  • Конкатенация файлов в качестве замены вместо cat перенаправил

Предварительный просмотр

Screenshot of bat showing a colored file

Фото взято с официального GitHub

Установка

Вы можете получить последний пакет Debian здесь и установить его с помощью:

sudo dpkg -i bat_0.10.0_amd64.deb

Адаптация номера версии и архитектуры . [+1122]

0
ответ дан 16 January 2014 в 00:51

Вместо того, чтобы устанавливать сторонний пакет, можно просто использовать gedit для быстрого просмотра файла с подсветкой синтаксиса. Например, скопируйте строку поиска выше и вставку в Ваш терминал:

gedit https://askubuntu.com/questions/405960/can-cat-show-files-using-code-markup-in-colors

Вы будете видеть этот вопрос в HTML с отформатированными цветами:

gedit https.png

  • можно использовать знакомый gedit клавиши навигации
  • , можно повернуться, строка переносятся вкл\выкл
  • , можно использовать плагины как, я установил для 80 символьных полей и обзора документа (крайнего правого) с ползунком миниатюры
  • , единственный протест - Вы, должен помнить Высокий звук + F4 для быстрого закрытия окна для моделирования cat, который не требует, чтобы нажатия клавиш закрылись.
0
ответ дан 8 October 2019 в 17:41

Другие вопросы по тегам:

Похожие вопросы: