ít tô sáng lệnh và cú pháp


44

Tôi cần phải sử dụng less commandvới cú pháp nổi bật của lệnh vim cho python, C, bashvà ngôn ngữ khác.

Làm cách nào để áp dụng cú pháp tô sáng màu theo vimmàu cho less command?

Câu trả lời:


36

Cú pháp tô sáng less, hoạt động tốt trên hầu hết các hệ thống * nix.

apt install source-highlight
export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
export LESS=' -R '

/usr/bin/src-hilite-lesspipe.shThay vào đó, sử dụng các bản phân phối dựa trên Fedora / RedHat .

Ngay cả trên Cygwin, bạn có thể làm điều đó với sự điều chỉnh nhỏ của đường dẫn shell shell và cài đặt apt-cygthay vì apt.

Tuy nhiên, việc sử dụng này làm chậm quá trình duyệt các tệp lớn. Tôi đề nghị sử dụng aliastheo cách như vậy để chỉ thực hiện LESSOPENxuất khẩu ở trên khi cần, như thế này:

alias lessh='LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" less -M '

nơi -Mcờ là thuận tiện để cũng hiển thị tên tập tin và số dòng.

Cũng nhớ sao chép tập lệnh vào đường dẫn bin của bạn:

cp /usr/share/source-highlight/src-hilite-lesspipe.sh /usr/bin/src-hilite-lesspipe.sh

CẬP NHẬT: 2019-07-24

Rõ ràng, trên các bản cài đặt Cygwin gần đây hơn, bạn có các tệp sau trong đường dẫn của mình:

source-highlight.exe
source-highlight-esc.sh
source-highlight-settings.exe

Vì vậy, bây giờ bạn cũng cần phải thực thi source-highlight-settings.exesẽ thêm tệp cấu hình :
$HOME/.source-highlight/source-highlight.conf.


Bí danh 'lessh' không hoạt động với tôi. Chạy bash trên osx. Thở dài.
Scott Biggie

Đó là một vấn đề hoàn toàn khác, rất có thể là do OSX sử dụng các tùy chọn vỏ và môi trường khác nhau, điều này có thể ảnh hưởng đến việc giải thích các trích dẫn đơn và kép, khác nhau. Bạn có thể kiểm tra và thiết lập chúng với shopt -pset.
not2qubit

1
Điều này làm việc cho tôi trên OSX: đầu tiên tôi cài đặt với brew install source-highlightalias lessh='LESSOPEN="| src-hilite-lesspipe.sh %s" less -R '
:,

39

less không hỗ trợ tô sáng cú pháp.

vim, giống như tất cả các vibản sao có chế độ chỉ đọc viewmà bạn có thể sử dụng để chỉ xem các tệp. nó hỗ trợ tất cả các tính năng của vim bao gồm đánh dấu cú pháp.

ví dụ

view filename.py

sự khác biệt chính giữa viewvilà chế độ xem đó không "khóa" tệp bạn đang xem bằng cách tạo tệp .swp.


nếu view commandphương tiện của bạn từ radare package, nó không chỉ đọc
tiếng Ba Tư

4
Hmm, viewlệnh của tôi dường như không hỗ trợ đánh dấu cú pháp. Tôi đã thử :syntax enable:syntax on, nhưng tôi luôn luôn nhận được syntax: Not an editor command. vimHỗ trợ của tôi nổi bật, mặc dù.
Felix

@felix - bạn có vithích nvihay elviscài đặt khác không? hãy kiểm tra /usr/bin/view- trên hệ thống debian của tôi, đó là một liên kết tượng trưng đến /etc/alternatives/viewlượt nó là một liên kết tượng trưng /usr/bin/vim.basic.
cas

1
Hmm, trong trường hợp của tôi, đó là một liên kết tượng trưng /usr/bin/ex, mà, tò mò, được sở hữu bởi vigói.
Felix

2
Tôi có thể khẳng định những gì @Felix nói trên arch linux viewlà một liên kết tượng trưng đến /usr/bin/excủa core/vigói.
x-yuri

12

lesskhông thể được dạy để làm nổi bật các yếu tố cú pháp, nhưng Vim có thể được sử dụng như một máy nhắn tin, tức là thay thế cho less. Có các plugin nâng cao hơn, nhưng tập lệnh cơ bản thực sự đi kèm với Vim ( $VIMRUNTIME/macros/less.sh). Để biết thông tin đầy đủ, hãy xem Sử dụng vim làm máy nhắn tin tô sáng cú pháp trên Wiki Vim Tips.


2
Tôi ngạc nhiên khi mọi người thậm chí không bận tâm đến Google trước khi đăng câu trả lời sai ...
not2qubit

1
@ user1147688: Nếu bạn đọc kỹ câu trả lời của Felix, phần tô sáng nguồn GNU là một chương trình bên ngoài và việc tích hợp với ít hơn rất lỏng lẻo. Nó không phải lesslà làm nổi bật; nhưng Vim thực sự có khả năng này tích hợp sẵn.
Ingo Karkat

Đối với câu hỏi "Làm cách nào để tôi áp dụng tô sáng cú pháp theo màu vim cho lệnh ít hơn?", Câu trả lời "Bằng cách sử dụng tô sáng nguồn" có vẻ như là một câu trả lời đúng hơn rằng "Bằng cách sử dụng vim".
Zano 10/03/2015

1
+1 nhưng tôi chắc chắn những gì các bình luận này đang cố gắng nói - không thể biết chúng thậm chí là tích cực hay tiêu cực ("... google trước khi đăng câu trả lời sai"?, "Cài đặt xyz là chính xác hơn là chỉ sử dụng vim "?). Câu trả lời này rõ ràng là "câu trả lời đúng nhất". Về cơ bản, OP không biết tính năng này của vim tồn tại và câu trả lời này cho OP biết rằng nó tồn tại. Dao cạo của Occam ftw. Câu trả lời chỉ có thể được cải thiện bằng cách hiển thị một ví dụ, ví dụ:$ diff file1.c file2.c | /usr/share/vim/vim74/macros/less.sh
michael

12

Tôi có xu hướng không đồng ý với Ingo, less có thể được dạy để làm nổi bật cú pháp. Kiểm tra câu trả lời này trên SuperUser. Về cơ bản, bạn phải cài đặt phần tô sáng nguồn của GNU (có sẵn trong tất cả các repos gói distro chính), sau đó thêm phần sau vào .bashrc( .bash_profilehoặc những gì có bạn):

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

Tuy nhiên, lưu ý rằng source-highlightnó không mạnh bằng vimhighllight. Sử dụng bất cứ điều gì phù hợp với bạn nhất.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.