Çıktısını tek renkli yapmamak için daha az alabilir miyim?
Örneğin, çıktı git diff
renkli, ancak git diff | less
değil.
less
.
Çıktısını tek renkli yapmamak için daha az alabilir miyim?
Örneğin, çıktı git diff
renkli, ancak git diff | less
değil.
less
.
Yanıtlar:
kullanın:
git diff --color=always | less -r
--color=always
git
çıktı bir boru olsa bile (renk tty) çıktı renk kodlarını söylemek için orada . Ve bu renk kodlarını ve diğer kaçış dizilerini yorumlamayı -r
söylemek var less
. -R
Yalnızca ANSI renk kodları için kullanın .
git config color.ui true
renkli çıktı elde etmek ve uzun çıktılar için otomatik olarak çağrı cihazı çalıştırmak için yeterli olmalıdır .
watch --color 'git diff --cached --color=always'
ve arkadaşları da size bazı ek takılmalar getirebilir.
less -R
Daha iyi (veya export LESS=R
içeride /etc/profile
) kullanmıyor mu? ANSI "renkli" kaçış dizileri dışında neden bir şey göstermesine izin veriyorsun? Ayrıca, man sayfasındaki diyor kiWarning: when the -r option is used, less cannot keep track of the actual appearance of the screen (since this depends on how the screen responds to each type of control character). Thus, various display problems may result, such as long lines being split in the wrong place.
-r
seçeneği belirtmeyi unuttuysanız , sadece less
istemde "-r" yazabilirsiniz . Bu elbette daha az seçenekle veya daha az seçenekle çalışır (yani, -i
görmezden gelinmeyi açmak için).
grep --color=always
aynı şekilde çalışır. Bu, bu sorunun ya da cevabın bir parçası değil, ama o soru hakkında Google'dan geldim.
Başka bir seçenek de renkleri etkinleştirmek ve çağrı cihazınız olarak 'less -r' kullanmaktır.
git config --global color.ui true
git config --global core.pager 'less -r'
Bu sonuçlanır
[color]
ui = true
[core]
pager = less -r
~ / .gitconfig'inizde
Daha fazla bilgi için Pro Git kitabına bakın .
color.ui true
bir çağrı cihazıyla çalışmadığını, ancak çalıştığını tespit ettim color.ui always
. Cevap gönderildiğinden bu durum değişmiş olabilir.
color.ui true
örneğin , varsayılan olarak bu ) , Git 1.7.1). Ancak , doğrudan ya da belirlediğinizde renkli çıktı alabilmek için (çıktıya renk çıkışı "çıktısını" çıktı bir boru olsa bile (bir tty değil) ")) gerekir . Çıktı yönlendirmesini açık bir şekilde belirttiğinizde, çağrı cihazından çıktıktan sonra çıktıyı göremezsiniz. git -p diff
git -p status
-p
less
color.ui always
git status | less -r
git diff | less -r
Daha azına veya) -r
( --raw-control-chars
) seçeneğini kullanın ( -R
yalnızca ANSI kaçış dizileri).
Bunun için bir takma ad var ~/.bashrc
alias rless='less -r'
alias less='less -r'
. Yapmamak için bir sebep var mı?
-r
gerekmediğinde kullanıldığında görselleştirme sorununa yol açabileceği durumlar olabileceğini açıkça hatırlıyorum .
ack
ile less -r
size bir satır başı kaybetmek
\less
Görselleştirme karışırsa kullanabilirsiniz .
less
, sadece ayarlayın şey $LESS
her zaman için sağlamak istediğiniz bayrakların setine ortam değişkeni less
, örneğinexport LESS='-MRq -z-2 -j2’
Ayrıca tree
renkleri zorlamak için bir seçenek vardır:
tree -C | less -r
Ve bunun için ls
:
ls -lR --color | less -r
Sadece "use less -r" ye başka bir sürüm eklemek için:
LESS çevre değişkenini r değeriyle kullanın (veya ne olursa olsun r ekleyin)
örneğin, .bashrc dosyamda kullandığım gibi
export LESS=-Xr
(X, daha az çıkarken ekranın temizlenmesini durdurur)
Durumda herkes bir json sayfalama ilgilenen jq
ve less
onu kullanarak elde edilebilir:
jq -C <jq args> file.json | less -R
Örneğin
jq -C . file.json | less -R
Kaynak: https://github.com/stedolan/jq/issues/764#issuecomment-95355331
Bu eski olduğunu biliyorum ve pek zaten doğru cevabı vermiş ama her zaman kullanmak iyi olduğunu eklemek istiyorum less -R
değil less -r
gibi sadece ANSI renkleri gerekirse -r
karakterleri görüntüleme konusunda sorunlar harf olabilir.
Kılavuzdan:
-r or --raw-control-chars
Causes "raw" control characters to be displayed. The default
is to display control characters using the caret notation; for
example, a control-A (octal 001) is displayed as "^A". Warn‐
ing: when the -r option is used, less cannot keep track of the
actual appearance of the screen (since this depends on how the
screen responds to each type of control character). Thus, var‐
ious display problems may result, such as long lines being
split in the wrong place.
-R or --RAW-CONTROL-CHARS
Like -r, but only ANSI "color" escape sequences are output in
"raw" form. Unlike -r, the screen appearance is maintained
correctly in most cases. ANSI "color" escape sequences are
sequences of the form:
ESC [ ... m