අඩු වර්ණ ප්‍රතිදානයක් රඳවා ගත හැකිද?


372

එහි ප්‍රතිදානය ඒකවර්ණ නොකිරීමට මට අඩුවෙන් ලබා ගත හැකිද?

උදා: සිට git diffලැබෙන ප්‍රතිදානය වර්ණවත් නමුත් git diff | lessඑසේ නොවේ.


superuser හි සමහර විට සමාන විය හැකිය: superuser.com/questions/117841/…
Ciro Santilli 冠状 病毒 审查 六四 法轮功 法轮功

1
අදාළ නමුත් සමාන නොවේ. සබැඳිය lessපමණයි.
අබෙල් චියුන්

Answers:


441

භාවිත:

git diff --color=always | less -r

--color=alwaysgitප්‍රතිදානය පයිප්පයක් වුවද (ටීටී එකක් නොවේ) වර්ණ කේත ප්‍රතිදානය කිරීමට පැවසිය යුතුය. හා -rකියන්න තියෙනවා lessඑම වර්ණ කේත සහ අනෙකුත් පලා අනුක්රමය අර්ථ නිරූපණය කිරීමට. -RANSI වර්ණ කේත සඳහා පමණක් භාවිතා කරන්න .


3
@ ripper234. මෑත කාලීන උපකරණ සමඟ, git config color.ui trueවර්ණ ප්‍රතිදානය ලබා ගැනීමට සහ දිගු ප්‍රතිදානයන් සඳහා පේජරයක් ස්වයංක්‍රීයව ධාවනය කිරීමට ප්‍රමාණවත් විය යුතුය .
ස්ටෙෆාන් ගිමිනෙස්

5
මෙම Q / A ට සමාන්තරව, watch --color 'git diff --cached --color=always'සහ එහි මිතුරන්ට ඔබට තවත් පුදුමාකාර බවක් ගෙන එනු ඇත.
ඇලෝයිස් මහඩාල්

35
භාවිතා කිරීම less -Rවඩා හොඳ (හෝ export LESS=Rඇතුළත /etc/profile) නොවේද? ANSI "වර්ණ" ගැලවීමේ අනුපිළිවෙල හැර වෙනත් කිසිවක් ප්‍රදර්ශනය කිරීමට ඔබ එයට ඉඩ දෙන්නේ ඇයි? එසේම, man පිටුව පවසන්නේ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.
x-yuri

8
ඔබට -rවිකල්පය සඳහන් කිරීමට අමතක වූවා නම් , ඔබට lessවිමසුමේදී "-r" ටයිප් කළ හැකිය . මෙය ඇත්ත වශයෙන්ම බොහෝ හෝ අඩු විකල්ප සමඟ ක්‍රියා කරයි (එනම්, -iනොසලකා හැරීම සක්‍රිය කිරීමට).
haridsv

5
grep --color=alwaysඑකම ආකාරයකින් ක්‍රියා කරයි. මෙය මෙම ප්‍රශ්නයේ හෝ පිළිතුරේ කොටසක් නොවේ, නමුත් මම මෙහි පැමිණියේ එම ප්‍රශ්නය ගැන ගොග්ලිං කිරීමෙනි.
ෆ්‍රෑන්ක් බ්‍රයිස්

63

තවත් විකල්පයක් වනුයේ වර්ණ සක්‍රීය කිරීම සහ ඔබේ පේජරය ලෙස 'අඩු -r' භාවිතා කිරීමයි.

git config --global color.ui true
git config --global core.pager 'less -r'

මෙහි ප්‍රති results ලය

[color]
    ui = true
[core]
    pager = less -r

ඔබගේ ~ / .gitconfig හි

වැඩි විස්තර සඳහා Pro Git පොත බලන්න .

සඳහා විය හැකි අගයන් color.uigit-config හි man පිටුවෙන් සොයාගත හැකිය. ප්‍රතිදානය man git-config | grep "color.ui$" -A8වේ

color.ui
    This variable determines the default value for variables such as color.diff and
    color.grep that control the use of color per command family. Its scope will expand as
    more commands learn configuration to set a default for the --color option. Set it to
    false or never if you prefer Git commands not to use color unless enabled explicitly
    with some other configuration or the --color option. Set it to always if you want all
    output not intended for machine consumption to use color, to true or auto (this is the
    default since Git 1.8.4) if you want such output to use color when written to the
    terminal.

11
Git 2.11 භාවිතා කරමින්, color.ui trueඑය පේජරයක් සමඟ ක්‍රියා නොකරන බව මට පෙනී color.ui alwaysගියේය. පිළිතුර පළ කිරීමෙන් පසු මෙය වෙනස් වන්නට ඇත.
ටොම් සයික්

2
මෙම විකල්පය (වර්ණ සක්‍රීය කිරීමට සහ පෙරනිමියෙන් ඔබේ පේජරය ලෙස 'අඩු -r' භාවිතා කිරීමට) color.ui trueවැනි විධාන සඳහා වැඩ කරන git -p diffඅතර git -p status(මෙහි -pඅර්ථය වන්නේ සියලු ප්‍රතිදානයන් $ PAGER වෙතට නල කිරීමයි, පෙරනිමියෙන් එය less) තරමක් පැරණි git අනුවාද සඳහා පවා (උදාහරණයක් ලෙස) , Git 1.7.1). නමුත් ඔබ color.ui alwaysකෙලින්ම නියම කරන විට git status | less -rහෝ වර්ණ ප්‍රතිදානය ලබා ගැනීම සඳහා ඔබට තවමත් අවශ්‍ය වේ (එමඟින් ප්‍රතිදානය පයිප්පයක් වුවද (නිමැවුම පයිප්පයක් නොවුවද) git diff | less -r. ඔබ ප්‍රතිදාන යළි හරවා යැවීම පැහැදිලිව සඳහන් කළ විට, පේජරයෙන් ඉවත් වූ පසු ප්‍රතිදානය ඔබට නොපෙනේ.
kenichi

git status | lessහා git -p statusවූ විට, මා වෙනුවෙන් හරියටම එම හැසිරෙන බව පෙනේ color.ui alwaysනමුත් හිටපු දෙකම අධෛර්යයට පත් වින්යාස විකල්පය අවශ්ය සහ දිගු වන බැවින්, මම අග ^^ සමග හුදෙක් යන්නම් - සකසා
Xerus

29

-r( --raw-control-chars) විකල්පය අඩු කිරීමට හෝ -R(ANSI ගැලවීමේ අනුපිළිවෙල පමණක් ) භාවිතා කරන්න .

මේ සඳහා මට අන්වර්ථයක් ඇත ~/.bashrc

alias rless='less -r'

7
ඇත්තටම මම කළා alias less='less -r'. එසේ නොකිරීමට කිසියම් හේතුවක් තිබේද?
ripper234

3
pp ripper234: -rඅවශ්‍ය නොවන විට භාවිතා කිරීම දෘශ්‍යකරණ ගැටලුවට හේතු විය හැකි අවස්ථා ඇති බව මට නොපැහැදිලි මතකයි .
enzotib

1
නිදසුනක් වශයෙන්, ඔබ ackසමඟ නල less -rමාර්ගයේ ගමන් කරත්තයක් ආපසු යන විට
නිව් ඇලෙක්සැන්ඩ්‍රියා

6
\lessදෘශ්‍යකරණය අවුල් වුවහොත් ඔබට භාවිතා කළ හැකිය .
බ්‍රයන් පීටර්සන්

5
අහ්, ඔබට lessකිසිම දෙයකට අන්වර්ථයක් අවශ්‍ය නැත, $LESSඔබ සැමවිටම සැපයීමට අවශ්‍ය ධජ lessexport LESS='-MRq -z-2 -j2’
සමූහයට


11

"භාවිතය less -r" මත තවත් අනුවාදයක් එක් කිරීමට :

LESSR අගය සමඟ පරිසර විචල්‍යය භාවිතා කරන්න (නැතහොත් එය දැනටමත් ඇති ඕනෑම දෙයකට r එකතු කරන්න)

උදා: මම එය මගේ භාවිතා කරන පරිදි .bashrc:

export LESS=-Xr

අඩුවෙන් පිටවන විට X තිරය ​​පිරිසිදු කිරීමෙන් වළක්වයි .


1
අවාසනාවකට -X මා වෙනුවෙන් මූසික අනුචලනය ද බිඳ දමයි: c
Xerus

10

යමෙකු json සමඟ පේජ් කිරීමට උනන්දුවක් දක්වන්නේ නම් jqසහ lessඑය භාවිතයෙන් එය සාක්ෂාත් කරගත හැකිය:

jq -C <jq args> file.json | less -R

උදා

jq -C . file.json | less -R

මුලාශ්‍රය: https://github.com/stedolan/jq/issues/764#issuecomment-95355331


7

මෙය පැරණි බවත් බොහෝ දෙනෙක් දැනටමත් නිවැරදි පිළිතුර ලබා දී ඇති බවත් මම දනිමි, නමුත් එය සැමවිටම භාවිතා කිරීම වඩා හොඳ less -Rබවත් less -r, ඔබට -rඅක්ෂර ප්‍රදර්ශනය කිරීමේදී ගැටළු ඇතිවිය හැකි ANSI වර්ණ පමණක් අවශ්‍ය නම් නොවේ .

අත්පොතෙන්:

   -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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.