Câu trả lời:
Một gói GNU, làm nổi bật nguồn , dường như thực hiện mánh khóe (mặc dù không sử dụng mèo - như John T chỉ ra, điều này không thể thực hiện được với mèo). Nó có sẵn thông qua apt-get trên Ubuntu và yêu cầu thư viện regex Boost. Kiểm tra trình quản lý gói của bạn để xem cả hai có sẵn không, nếu không bạn có thể lấy chúng từ web. Trang GNU được liên kết trước đó có một liên kết đến Boost, tôi nghĩ vậy.
Sau khi cài đặt, tôi đã tạo một tập lệnh mới trong đường dẫn của mình được gọi là ccat . Kịch bản trông giống như:
#!/bin/bash
src-hilite-lesspipe.sh $1
Không có gì lạ mắt, chỉ đơn giản hóa tập lệnh ít hơn mà chúng bao gồm với nguồn sáng. Nó hoạt động giống như con mèo khi được gọi theo kiểu này.
Kịch bản ít hơn bao gồm là một kịch bản tốt để sử dụng, mặc dù. Tôi vừa thêm đoạn sau vào .bashrc :
export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '
Kịch bản đó cũng được bao gồm trong hướng dẫn trực tuyến để làm nổi bật nguồn.
Tôi đoán bạn có thể bí danh mèo gọi src-hilite-lesspipe.sh $ 1 nếu bạn cảm thấy muốn bỏ qua con mèo hoàn toàn, nhưng điều đó có thể không được mong muốn.
$1
:).
brew install source-highlight
. Không thể tô màu yaml :(
Để xuất cú pháp mã được tô sáng bằng một cái gì đó giống như cat
, tôi đã tạo một ccat
lệnh bằng cách làm theo các hướng dẫn tại 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
Để xuất cú pháp mã được tô sáng bằng một cái gì đó như less
, tôi sử dụng vim như một sự thay thế ít hơn.
alias less='/usr/share/vim/vim72/macros/less.sh'
.functions
nhưcolorize(){...}
Để giải quyết điều này, tôi đã sử dụng làm nổi bật . Tôi đã thực hiện một chức năng cố gắng in tệp bằng cách tô sáng cú pháp và nếu thất bại, nó sẽ quay trở lại chỉ đơn giản là sử dụng con mèo để in tệp. Bạn có thể thay đổi chủ đề tô sáng cú pháp thành bất cứ điều gì bạn muốn.
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
}
Nếu bạn đang sử dụng máy Mac và bạn sử dụng Homebrew (rất khuyến khích!), Bạn có thể cài đặt tô sáng bằng cách chạy brew install highlight
. Mặt khác, nó nên có sẵn trên hầu hết các trình quản lý gói khác và có thể được tải xuống ở đây .
Tôi cũng đã thực hiện một chức năng để in ra một tệp có cú pháp tô sáng dưới dạng html và mở nó trong trình duyệt để in (dựa vào open
lệnh trên 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
}
Thưởng thức!
Không, mèo không có khả năng làm nổi bật cú pháp. Nếu bạn muốn xem mã nguồn bằng cách tô sáng cú pháp, hãy đưa mã đó vào vim hoặc trình soạn thảo bạn chọn (có tô sáng cú pháp). Bằng cách này, bạn thậm chí có thể trang qua đầu ra nếu đó là một tệp dài sử dụng Ctrl+ F(chuyển tiếp) và Ctrl+ B(ngược).
bat
Ostechnix.com/ từ