রঙিন আউটপুট কম রাখতে পারি?


310

আমি এর আউটপুট একরঙা না কম পেতে পারি?

উদাহরণস্বরূপ, থেকে আউটপুট git diffরঙিন হয়, কিন্তু git diff | lessহয় না।


সম্ভবত সুপার-ইউজার একই: superuser.com/questions/117841/...
সিরো Santilli新疆改造中心法轮功六四事件

1
সম্পর্কিত তবে অভিন্ন নয়। লিঙ্কটি lessকেবলমাত্র।
আবেল চেয়াং

উত্তর:


359

ব্যবহার করুন:

git diff --color=always | less -r

--color=alwaysgitআউটপুটটি পাইপ (টিটিটি নয়) এমনকি আউটপুট রঙের কোডগুলি বলার আছে । এবং সেই বর্ণ কোডগুলি এবং অন্যান্য অব্যাহত ক্রমের ব্যাখ্যা -rকরতে বলার lessআছে। -Rশুধুমাত্র এএনএসআই রঙের কোডগুলির জন্য ব্যবহার করুন ।


3
@ ripper234। সাম্প্রতিক Gits সঙ্গে, git config color.ui trueরঙ্গিন আউটপুট প্রাপ্ত করার জন্য যথেষ্ট হওয়া উচিত, এবং স্বয়ংক্রিয়ভাবে দীর্ঘ আউটপুট একটি পেজার চালানোর জন্য।
স্টাফেন গিমেনেজ

4
এই প্রশ্নোত্তর সমান্তরালভাবে watch --color 'git diff --cached --color=always'এবং এর বন্ধুরা আপনাকে কিছু অতিরিক্ত চমকপ্রদ আনতে পারে।
আলাইস মাহডাল

27
less -Rভাল ব্যবহার করা হয় না (বা export LESS=Rমধ্যে /etc/profile)? আপনি কেন এএনএসআই "রঙ" পালানোর ক্রমগুলি ছাড়া অন্য কিছু প্রদর্শন করার অনুমতি দিবেন? এছাড়াও, ম্যান পেজটি বলেছে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.
এক্স-ইউরি

5
এবং যদি আপনি -rবিকল্পটি নির্দিষ্ট করতে ভুলে যান তবে আপনি lessপ্রম্পটে কেবল "-r" টাইপ করতে পারেন । এটি অবশ্যই বেশিরভাগ বা সমস্ত কম বিকল্পের সাথে কাজ করে (যেমন, -iউপেক্ষা চালু করতে)।
হরিদসভ

3
grep --color=alwaysএকইভাবে কাজ করে। এটি এই প্রশ্ন বা উত্তরের অংশ নয়, তবে আমি এখানে এই প্রশ্নটি সম্পর্কে গুগল করেছিলাম it
ফ্রাঙ্ক ব্রাইস

57

অন্য বিকল্পটি হবে রঙগুলি সক্ষম করা এবং আপনার পেজার হিসাবে 'কম-আর' ব্যবহার করা।

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

এর ফলে

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

আপনার ~ / .gitconfig এ

আরও তথ্যের জন্য প্রো গিট বইটি দেখুন


7
গিট 2.11 ব্যবহার করে, আমি খুঁজে পেয়েছি যে color.ui trueপেজারের সাথে কাজ করে না, তবে হয়েছে color.ui alwaysdid উত্তর পোস্ট হওয়ার পরে এটি সম্ভবত পরিবর্তিত হতে পারে।
টম জাইচ

1
এই বিকল্পটি (রং সক্ষম এবং ডিফল্টরূপে আপনার পেজার হিসাবে 'কম -r' ব্যবহার করতে) সঙ্গে color.ui trueমত comands জন্য কাজ কর git -p diffএবং git -p status(যেখানে -pপাইপ $ পেজার সব আউটপুট মানে, ডিফল্ট এটা দ্বারা less(উদাহরণস্বরূপ) এমনকি Git এর বরং পুরানো সংস্করণের জন্য , গিট 1.7.1)। তবে আপনার এখনও color.ui always(যা আউটপুটটি পাইপ (টিটি নয়) "আউটপুট কালার কোডগুলিতে গিটকে বলে) আপনি সরাসরি নির্দিষ্ট করতে git status | less -rবা যখন বর্ণিত আউটপুট পেতে পারেন git diff | less -r। আপনি যখন আউটপুট পুনর্নির্দেশ স্পষ্টভাবে নির্দিষ্ট করেন, আপনি পেজার থেকে প্রস্থান করার পরে আউটপুটটি দেখতে পাবেন না।
কেনিচি

29

ব্যবহার করুন -r( --raw-control-charsকরা) বিকল্প কম, অথবা এছাড়াও -R(শুধুমাত্র ANSI সিকোয়েন্স অব্যাহতি)।

আমি এই জন্য একটি উপনাম আছে ~/.bashrc

alias rless='less -r'

7
আসলে আমি শুধু করেছি alias less='less -r'। কোন কারণ না?
রিপার 234

3
@ রিপার 234: আমি অস্পষ্টভাবে মনে করি -rযখন প্রয়োজন হয় না তখন ব্যবহারের ফলে ভিজ্যুয়ালাইজেশন সমস্যা হতে পারে to
enzotib

1
উদাহরণস্বরূপ, আপনি যখন পাইপটি ackসহ যখন আপনার less -rগাড়ীর রিটার্ন হারাবেন
নিউ আলেকজান্দ্রিয়া

6
\lessভিজ্যুয়ালাইজেশন মিস হয়ে গেলে আপনি কেবল ব্যবহার করতে পারেন।
ব্রায়ান পিটারসন

4
ওহ, আপনাকে lessকোনও কিছুরই $LESSlessexport LESS='-MRq -z-2 -j2’
উর্ফ


10

"" কম-আর ব্যবহার করুন "তে অন্য একটি সংস্করণ যুক্ত করতে:

মান ভেরু দিয়ে পরিবেশ পরিবর্তনশীল কম ব্যবহার করুন (বা এটি ইতিমধ্যে যা কিছু রয়েছে তার সাথে যুক্ত করুন)

উদাহরণস্বরূপ, আমি এটি আমার .Bashrc ব্যবহার করি

  export LESS=-Xr

(এক্স বাইরে বেরোনোর ​​সময় স্ক্রিনটি ক্লিয়ারিং থেকে থামিয়ে দেয়)


1
দুর্ভাগ্যক্রমে
এক্স


3

আমি জানি এটি পুরানো এবং অনেকে ইতিমধ্যে সঠিক উত্তর সরবরাহ করেছেন তবে আমি যুক্ত করতে চাই যে ব্যবহারগুলি করা সবসময় ভাল less -Rএবং less -rআপনার যদি কেবল এএনএসআই রঙের প্রয়োজন হয় -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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.