mniej podświetlania poleceń i składni

44

Muszę używać less commandz podświetlanie składni polecenia dla vim python, C, bashi innych językach.

Jak zastosować podświetlanie składni kolorów według vimkolorów dla less command?

Zatoka Perska
źródło

Odpowiedzi:

36

Podświetlanie składni lessdziała dobrze na większości systemów * nix.

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

W przypadku dystrybucji opartych na Fedorze / RedHat użyj /usr/bin/src-hilite-lesspipe.shzamiast tego.

Nawet w Cygwin możesz to zrobić z niewielkim dostosowaniem ścieżki skryptu powłoki i instalacją apt-cygzamiast apt.

Jednak użycie tego drastycznie spowalnia przeglądanie dużych plików. Proponuję użyć aliasw taki sposób, aby zaimplementować LESSOPENpowyższy eksport tylko wtedy, gdy jest to potrzebne, w następujący sposób:

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

gdzie -Mflaga jest wygodna, aby wyświetlić także nazwę pliku i numer linii.

Pamiętaj również, aby skopiować skrypt do ścieżki bin:

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

AKTUALIZACJA: 2019-07-24

Najwyraźniej w nowszych instalacjach Cygwin masz na swojej drodze następujące pliki:

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

Więc teraz trzeba także wykonanie europejskiego source-highlight-settings.exeże doda plik konfiguracyjny:
$HOME/.source-highlight/source-highlight.conf.

not2qubit
źródło
Alias ​​„lessh” nie działa dla mnie. Uruchamianie basha na OSX. Westchnienie.
Scott Biggs
Jest to zupełnie inna kwestia, najprawdopodobniej z powodu używania przez OSX różnych opcji powłoki i środowiska, które mogą mieć różny wpływ na interpretację pojedynczych i podwójnych cudzysłowów. Możesz to sprawdzić i ustawić za pomocą shopt -pi set.
not2qubit
1
brew install source-highlightalias lessh='LESSOPEN="| src-hilite-lesspipe.sh %s" less -R '
Działa
40

less nie obsługuje podświetlania składni.

vim, podobnie jak wszystkie viklony, ma tryb tylko do odczytu, viewktórego można użyć do przeglądania plików. obsługuje wszystkie funkcje vima, w tym podświetlanie składni.

na przykład

view filename.py

główna różnica między viewi vipolega na tym, że widok nie „blokuje” oglądanego pliku, tworząc plik .swp.

cas
źródło
jeśli view commandśrodki z radare package, to nie jest tylko do odczytu
Zatoka Perska
4
Hmm, moje viewpolecenie wydaje się nie obsługiwać podświetlania składni. Próbowałem :syntax enablei :syntax on, ale zawsze rozumiem syntax: Not an editor command. vimPodkreślam jednak moje poparcie.
Felix
@ felix - czy masz inny vipodobny nvilub elviszainstalowany? sprawdź swój /usr/bin/view- w moim systemie debian jest to dowiązanie symboliczne, do /etc/alternatives/viewktórego z kolei jest dowiązanie symboliczne /usr/bin/vim.basic.
cas
1
Hmm, w moim przypadku jest to dowiązanie symboliczne /usr/bin/ex, które, co ciekawe, jest własnością vipakietu.
Felix
2
Mogę potwierdzić to, co mówi @Felix na arch linux viewto dowiązanie do /usr/bin/exz core/viopakowania.
x-yuri
13

lessnie można nauczyć się wyróżniać elementów składniowych, ale Vim może być używany jako pager, czyli zamiennik less. Istnieją bardziej zaawansowane wtyczki, ale podstawowy skrypt faktycznie jest dostarczany z Vim ( $VIMRUNTIME/macros/less.sh). Aby uzyskać pełne informacje, zobacz Korzystanie z vima jako pagera wyróżniającego składnię na Wiki Vim Tips.

Ingo Karkat
źródło
2
Dziwi mnie, że ludzie nawet nie zawracają sobie głowy Google przed opublikowaniem złych odpowiedzi ...
not2qubit
1
@ user1147688: Jeśli dokładnie przeczytasz odpowiedź Felixa, GNU source-highlight jest programem zewnętrznym, a integracja z less jest bardzo luźna. Podkreślenie to nie lessto; ale Vim rzeczywiście ma tę funkcję wbudowaną.
Ingo Karkat
Na pytanie „Jak zastosować podświetlanie składni kolorów według kolorów vima dla mniejszej liczby poleceń?”, Odpowiedź „Używając podświetlenia źródła” wydaje się bardziej poprawną odpowiedzią niż „Używanie vima”.
Zano,
1
+1, ale jestem pewien, co te komentarze próbują powiedzieć - nie mogę powiedzieć, czy są nawet pozytywne czy negatywne („... google przed wysłaniem złych odpowiedzi”? ”,„ Instalacja Xyz jest bardziej poprawna niż zwykłe użycie wigor"?). Ta odpowiedź jest zdecydowanie „najbardziej poprawną odpowiedzią”. Zasadniczo OP nie wiedział, że ta funkcja vima istnieje, a ta odpowiedź informuje PO, że istnieje. Brzytwa Ockhama ftw. Odpowiedź można poprawić tylko poprzez pokazanie przykładu, np.$ diff file1.c file2.c | /usr/share/vim/vim74/macros/less.sh
Michael
12

Nie zgadzam się z Ingo, less można nauczyć się wyróżniać składnię. Sprawdź tę odpowiedź na SuperUser. Zasadniczo musisz zainstalować wyróżnienie źródła GNU (dostępne we wszystkich głównych repozytoriach pakietów dystrybucyjnych), a następnie dodać następujące elementy do swojego .bashrc( .bash_profilelub tego, co masz):

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

Zauważ jednak, że source-highlightnie jest tak potężny jak vimzakreślacz. Używaj tego, co najbardziej ci odpowiada.

Felix
źródło