GNU/Linux >> Belajar Linux >  >> Linux

Apakah ada opsi untuk membiarkan keluaran kucing dengan warna?

Paket GNU, source-highlight, tampaknya melakukan trik (walaupun tidak menggunakan cat -- seperti yang ditunjukkan John T, ini tidak mungkin dengan cat secara khusus). Ini tersedia melalui apt-get di Ubuntu, dan membutuhkan pustaka regex Boost. 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, menurut saya.

Setelah penginstalan, saya membuat skrip baru di jalur saya bernama ccat . Skripnya terlihat seperti:

#!/bin/bash
src-hilite-lesspipe.sh $1

Tidak ada yang mewah, hanya menyederhanakan yang kurang skrip yang mereka sertakan dengan sorotan sumber. Ia bertindak seperti kucing saat dipanggil dengan cara ini.

Skrip yang disertakan lebih sedikit adalah skrip yang bagus untuk digunakan juga. Saya baru saja menambahkan yang berikut ke .bashrc :

export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '

Skrip tersebut juga disertakan dalam manual online untuk sorotan sumber.

Saya kira Anda bisa menggunakan alias cat untuk memanggil src-hilite-lesspipe.sh $1 jika Anda merasa ingin mengabaikan cat sama sekali, tetapi itu mungkin tidak diinginkan.


Untuk menampilkan kode yang disorot 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 menampilkan kode yang disorot sintaks dengan sesuatu seperti less , saya menggunakan vim sebagai pengganti yang lebih sedikit.

alias less='/usr/share/vim/vim72/macros/less.sh'

Untuk mengatasi ini, saya menggunakan sorotan. 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 sintaks 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, itu harus tersedia di sebagian besar pengelola 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
}

Selamat menikmati!


Linux
  1. Apakah Ada Efek Samping Ketika Dua Distro Berbagi Partisi Swap?

  2. Bagaimana Cara Menggunakan Pengalihan Output Dalam Kombinasi Dengan Dokumen Di Sini Dan Cat?

  3. Bagaimana Membuat Program Apa Pun Bekerja Dengan Perintah Tee?

  1. Apakah ada kode status keluar standar di Linux?

  2. Apakah ada cara agar teks diteruskan ke kepala, ekor, lebih sedikit, dll. untuk diwarnai?

  3. Apakah ada cara untuk memeriksa baud rate mana yang didukung pada perangkat serial?

  1. File Cat Dengan Direktori?

  2. Linux – Apakah Ada Gui Untuk Linux yang Tidak Menggunakan X11?

  3. Apakah Ada Alat Kli Untuk Menggambar Grafik Di Layar Selama Sesi X?