Jawaban:
Paket GNU, sumber-highlight , tampaknya melakukan trik (meskipun tidak menggunakan cat - seperti yang ditunjukkan oleh John T, ini tidak mungkin dengan cat secara khusus). Ini tersedia melalui apt-get di Ubuntu, dan membutuhkan pustaka Boost regex. Periksa pengelola paket Anda untuk melihat apakah keduanya tersedia, jika tidak Anda dapat mengambilnya dari web. Halaman GNU yang ditautkan sebelumnya memiliki tautan ke Boost, saya pikir.
Setelah instalasi, saya membuat skrip baru di jalur saya yang disebut ccat . Scriptnya terlihat seperti:
#!/bin/bash
src-hilite-lesspipe.sh $1
Tidak ada yang mewah, hanya menyederhanakan skrip yang kurang mereka sertakan dengan sumber-sorot. Kerjanya seperti kucing ketika dipanggil dengan cara ini.
Namun skrip yang kurang disertakan juga merupakan skrip yang bagus untuk digunakan. Saya baru saja menambahkan yang berikut ini ke .bashrc :
export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '
Script itu termasuk dalam manual online untuk sumber-highlight, juga.
Saya kira Anda bisa alias kucing untuk memanggil src-hilite-lesspipe.sh $ 1 jika Anda merasa ingin mengabaikan kucing sama sekali, tetapi itu mungkin tidak diinginkan.
$1
:).
brew install source-highlight
. Tidak dapat mewarnai yaml :(
Untuk menghasilkan kode yang disorot dengan sintaks dengan sesuatu seperti cat
, saya membuat ccat
perintah dengan mengikuti petunjuk di http://scott.sherrillmix.com/blog/programmer/syntax-highlighting-in-terminal/ .
#!/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
Untuk menghasilkan sintaks yang disorot kode dengan sesuatu seperti less
, saya menggunakan vim sebagai pengganti yang kurang.
alias less='/usr/share/vim/vim72/macros/less.sh'
.functions
sebagaicolorize(){...}
Untuk mengatasi ini, saya menggunakan highlight . Saya membuat fungsi yang mencoba untuk mencetak file dengan penyorotan sintaks, dan jika gagal kembali ke hanya menggunakan cat untuk mencetak file. Anda dapat mengubah tema penyorotan sintaksis menjadi apa pun yang Anda inginkan.
function hl { # Overrides the cat command to use syntax highlighting
# Highlight with 'moria' theme to terminal, and suppress errors
highlight $1 -s moria -O xterm256 2> /dev/null
if (($? != 0)); then # If the command had errors
cat $1 # Just cat the file out instead
fi
}
Jika Anda menggunakan Mac dan menggunakan Homebrew (sangat disarankan!), Anda dapat menginstal highlight dengan menjalankan brew install highlight
. Jika tidak, ini harus tersedia pada sebagian besar manajer paket lain dan dapat diunduh di sini .
Saya juga membuat fungsi untuk mencetak file dengan penyorotan sintaks sebagai html dan membukanya di browser untuk mencetak (bergantung pada open
perintah pada OS X):
function hlprint {
# Print with line numbers and 'moria' theme
highlight $1 -l -o print.html -s moria
open print.html # Open in browser
sleep 5 # Give the browser time to open
rm print.html highlight.css # Remove output files
}
Nikmati!
Tidak, kucing tidak memiliki kemampuan penyorotan sintaksis. Jika Anda ingin melihat kode sumber dengan penyorotan sintaksis, masukkan ke vim atau editor pilihan Anda (yang memiliki penyorotan sintaksis). Dengan cara ini, Anda bahkan dapat halaman melalui output jika file panjang menggunakan Ctrl+ F(maju) dan Ctrl+ B(mundur).
bat
ostechnix.com/…