Чи можу я отримати менше, щоб не монохромно виходити?
Наприклад, вихідний сигнал git diffкольоровий, але git diff | lessце не так.
lessлише про .
Чи можу я отримати менше, щоб не монохромно виходити?
Наприклад, вихідний сигнал git diffкольоровий, але git diff | lessце не так.
lessлише про .
Відповіді:
Використання:
git diff --color=always | less -r
--color=alwaysє, щоб сказати, gitщоб вивести кольорові коди, навіть якщо на виході є труба (не tty). І -rчи варто сказати, lessщоб інтерпретувати ці кольорові коди та інші послідовності втечі. Використовуйте лише -Rдля ANSI кольорових кодів.
git config color.ui trueповинно бути достатньо для отримання кольорового виводу та для автоматичного запуску пейджера для довгих виходів.
watch --color 'git diff --cached --color=always'і його друзі можуть принести вам додаткову дивовижність.
less -Rкращі (чи export LESS=Rв /etc/profile)? Чому б ви дозволили йому відображати що-небудь, крім ANSI "кольорових" послідовностей втечі? Також на сторінці чоловіка написаноWarning: 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варіант, ви можете просто ввести "-r" у відповідь less. Це, звичайно, працює з більшістю або меншими можливостями (наприклад, -iувімкнути ігнор).
grep --color=alwaysпрацює так само. Це не є частиною цього питання чи відповіді, але я потрапив сюди з гуглити з цього питання, так що воно є.
Іншим варіантом буде включення кольорів та використання "менше -r" в якості пейджера.
git config --global color.ui true
git config --global core.pager 'less -r'
Це призводить до
[color]
ui = true
[core]
pager = less -r
у вашому ~ / .gitconfig
Для отримання додаткової інформації дивіться книгу Pro Git .
color.ui trueне працює з пейджером, але так color.ui alwaysі є. Це може змінитися з моменту опублікування відповіді.
color.ui trueвиконайте роботу для команд типу ( git -p diffі, git -p statusде -pозначає, що весь вихід у $ PAGER, за замовчуванням це less) навіть для досить старих версій git (наприклад, , Git 1.7.1). Але вам все одно потрібно color.ui always(що вказує git виводити кольорові коди "навіть якщо виведенням є труба (не tty)"), щоб отримати кольоровий вихід, коли ви безпосередньо вказуєте git status | less -rабо git diff | less -r. Якщо ви чітко вказали переадресацію виводу, ви не побачите вихід після виходу з пейджера.
Використовуйте -r( --raw-control-chars) варіант для меншої або також -R(лише послідовності втечі ANSI).
У мене є псевдонім для цього в ~/.bashrc
alias rless='less -r'
alias less='less -r'. Будь-яка причина не робити?
-rколи не потрібно, може призвести до проблеми візуалізації.
ackз less -rвами, ви втрачаєте повернення вагона
\lessякщо візуалізація зіпсується.
lessні до чого, просто встановіть $LESSзмінну оточення на набір прапорів, які ви завжди хочете надати less, наприкладexport LESS='-MRq -z-2 -j2’
Також treeє можливість застосувати кольори на:
tree -C | less -r
І так далі ls:
ls -lR --color | less -r
Просто для додання іншої версії на "використання менше -r":
використовувати змінну середовища LESS зі значенням r (або додати r до того, що вже є)
наприклад, як я використовую його у своєму .bashrc
export LESS=-Xr
(X зупиняє очищення екрана при меншому виході)
Якщо хтось зацікавлений у тому, щоб перейти на сторінку json, jqі lessце можна досягти, використовуючи:
jq -C <jq args> file.json | less -R
напр
jq -C . file.json | less -R
Джерело: https://github.com/stedolan/jq/isissue/764#issuecomment-95355331
Я знаю, що це старе, і багато хто вже дав правильну відповідь, але я хотів би додати, що це завжди краще використовувати, less -Rа не, less -rякщо вам потрібні лише кольори ANSI, оскільки це -rможе виникнути проблеми з відображенням символів.
З посібника:
-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