LESSQLMCAP_ * ভেরিয়েবলের নথি?


38

এই ভেরিয়েবলগুলির একটি গুচ্ছ সেট করার সময় আমি ম্যানপেজে এই সুন্দর রঙগুলি কম দেখি । তাদের অর্থ কী, ডকুমেন্টেশন কোথায়? এটি কম বা টার্মক্যাপ দ্বারা ব্যাখ্যা করা হয়?

স্ক্রিনশট

ম্যান পেজ এর এসএস

উত্তর:


45

Termcap একটি লাইব্রেরি যা টার্মিনাল অ্যাক্সেস করতে কম ব্যবহার করে। টার্মিন্যাপ মূলত অপ্রচলিত, টার্মিনফো দ্বারা প্রতিস্থাপন করা হয়েছে , তবে টার্মিনফো অ্যাপ্লিকেশনগুলিতে টার্মক্যাপের সামঞ্জস্যতা ইন্টারফেস সরবরাহ করে। টার্মক্যাপ ইন্টারফেসে কম বিষয়বস্তু এবং এটি ব্যবহার করে।

টার্মক্যাপ লাইব্রেরি টার্মিনালের সুবিধাগুলির বিবরণ। প্রতিটি সুবিধা একটি দ্বি-বর্ণ (বা আরও সাধারণভাবে দুটি-অক্ষর) কোড দ্বারা চিহ্নিত করা হয়। উদাহরণস্বরূপ, hcহার্ডকপি টার্মিনাল সনাক্ত করে (অর্থাত্ মুদ্রকগুলি, পর্দা নয়); coকলামের সংখ্যা; mdগা bold় পাঠ্য প্রদর্শন করা শুরু করে। প্রতিটি সক্ষমতার একটি মান থাকে যা একটি বুলিয়ান (যেমন হিসাবে hc), একটি পূর্ণসংখ্যা (যেমন হিসাবে co) বা স্ট্রিং (যেমন হিসাবে md) হতে পারে। স্ট্রিংগুলির মধ্যে অনেকগুলি এস্কেপ সিকোয়েন্স হয় যা নির্দিষ্ট প্রভাব অর্জনের জন্য অ্যাপ্লিকেশনগুলি টার্মিনালে প্রেরণ করতে পারে।

সিকোয়েন্স ক্রম কেন? কারণ টার্মিনাল এবং অ্যাপ্লিকেশনগুলির মধ্যে ইন্টারফেসটি একটি অক্ষর প্রবাহ (আরও স্পষ্টভাবে, প্রতিটি দিকের একটি অক্ষর প্রবাহ: ব্যবহারকারী ইনপুট জন্য একটি, আউটপুট প্রদর্শন করার জন্য একটি)। যখন কোনও অ্যাপ্লিকেশন টার্মিনালে একটি অক্ষর লিখবে, এটি সাধারণত প্রদর্শিত হয়। কয়েকটি চরিত্রের একটি আলাদা আচরণ রয়েছে: এগুলি হ'ল কন্ট্রোল ক্যারেক্টার, যা কার্সারকে চারদিকে ঘুরিয়ে দেওয়া, প্রদর্শন বৈশিষ্ট্যগুলি স্যুইচ করা ইত্যাদির মতো করে control একটি বিশেষ চরিত্র (প্রায়শই পালানোর চরিত্র, তাই নাম)

উদাহরণস্বরূপ, কম যখন কিছু গা bold় পাঠ্য প্রদর্শন করতে চায়, তখন এটি mdসক্ষমতার মানটি দেখায় । এটি একটি স্ট্রিং, যা কম টার্মিনালে লিখেছে। টার্মিনালটি এই স্ট্রিংটিকে একটি পালানোর ক্রম হিসাবে স্বীকৃতি দেয় এবং এর অভ্যন্তরীণ অবস্থাটি সামঞ্জস্য করে যাতে পরবর্তী অক্ষরগুলি সাহসের সাথে প্রদর্শিত হবে।

হার্ডওয়্যার টার্মিনালের প্রথম দিনগুলিতে, বিভিন্ন ব্র্যান্ডের বিভিন্ন পালানোর ক্রম এবং ক্ষমতা ছিল; টার্মক্যাপ ডাটাবেস এবং ইন্টারফেস উদ্ভাবিত হয়েছিল যাতে অ্যাপ্লিকেশনগুলিকে প্রতিটি টার্মিনাল মডেল সম্পর্কে জানতে না হয়। আজকাল বেশিরভাগ টার্মিনাল এমুলেটরগুলির খুব একই রকমের ক্ষমতা রয়েছে তবে টার্মক্যাপ বা টার্মিনফো ডাটাবেসটি এখনও সামান্য পার্থক্য মোকাবেলায় দরকারী।

LESS_TERMCAP_*ভেরিয়েবল পরিবেশে বা নির্ধারণ করা যাবে .lesskeyফাইল । এটি টার্মিনাল সক্ষমতার জন্য বিকল্প মানের সাথে কম সরবরাহ করে। কম যখন একটি টার্মিনাল ক্ষমতা ব্যবহার করতে চায়, সাহসী হয়ে বলুন, কোনও LESS_TERMCAP_mdভেরিয়েবল আছে কিনা তা এটি প্রথমে পরীক্ষা করে । যদি এই ভেরিয়েবলটি বিদ্যমান থাকে তবে কম তার ভ্যালুতে স্যুইচ করতে পালাবার ক্রম হিসাবে এর মানটি ব্যবহার করে। যদি তা না হয় তবে এটি Termcap ডাটাবেস থেকে মানটি ব্যবহার করে। এই প্রক্রিয়াটি ব্যবহারকারীকে কমের জন্য Termcap ডাটাবেস সেটিংস ওভাররাইড করতে দেয়।

সর্বাধিক দরকারী LESS_TERMCAP_*সেটিংস হ'ল এস্কেপ সিকোয়েন্স। আপনি বিভিন্ন বৈশিষ্ট্যের বৈশিষ্ট্যগুলি মানচিত্র করতে পারেন। আপনি tputসিস্টেমের টার্মক্যাপ বা টার্মিনফো ডাটাবেসে বর্তমান টার্মিনালের জন্য সক্ষমতাটির মান অনুসন্ধান করতে কমান্ডটি ব্যবহার করতে পারেন । আপনি যদি টার্মিনাল নির্ভর নির্ভর না করে তবে আপনি সরাসরি পালানোর সিকোয়েন্স ব্যবহার করতে পারেন। উদাহরণস্বরূপ, এই সেটিংটি গা bold়ভাবে প্রদর্শন করার নির্দেশ দেওয়া হলে গা bold় লালতে কম দেখাতে বলে:

LESS_TERMCAP_md=$(tput md; tput AF 1)

অথবা যদি আপনার tputআদেশটি Termcap নামগুলি সমর্থন করে না:

LESS_TERMCAP_md=$(tput bold; tput setaf 1)

ম্যান কিছু খুব সাধারণ বিন্যাস সহ কম পাঠ্য পাঠায় যা কেবল সাহসী এবং তির্যক প্রকাশ করতে পারে। এছাড়াও, কম তার অভ্যন্তরীণ ব্যবহারের জন্য বিভিন্ন ফর্ম্যাটিং ক্ষমতা ব্যবহার করে যেমন অনুসন্ধানের ফলাফলগুলি হাইলাইট করতে এবং নীচে মোড লাইনটি প্রদর্শন করতে। এখানে কয়েকটি অব্যাহতি ক্রম রয়েছে যা কম ব্যবহার করে (আমি কেবল এমন ক্ষমতাগুলি তালিকাবদ্ধ করি যা এটি পুনর্নির্মাণের জন্য যুক্তিসঙ্গতভাবে কার্যকর):

termcap terminfo  
ks      smkx      make the keypad send commands
ke      rmkx      make the keypad send digits
vb      flash     emit visual bell
mb      blink     start blink
md      bold      start bold
me      sgr0      turn off bold, blink and underline
so      smso      start standout (reverse video)
se      rmso      stop standout
us      smul      start underline
ue      rmul      stop underline

রঙে আউটপুট দেখানোর জন্য, setafক্ষমতা (বা AFটার্মক্যাপ সহ) ব্যবহার করুন।

LESS_TERMCAP_*সেটিংস উল্লেখ করা হয় নি LESSডকুমেন্টেশন। আমি দিতে পারেন সেরা রেফারেন্স আমার উত্তর এখানে


8
ধন্যবাদ। আমি কম উত্সের কোডটিও সংক্ষেপে দেখেছি এবং দেখতে পেলাম যে আপনি যখন LESSQLMCAP_DEBUG কে কোনও কিছুতে সেট করেন এবং তারপরে ম্যান খুলুন আপনি ম্যান পৃষ্ঠাগুলির উত্সের মতো কিছু দেখতে পাবেন এবং এতে সমস্ত সক্ষমতার ট্যাগ ব্যবহার করা হবে। আপনি কী সেগুলিতে সেট করতে চান তা সিদ্ধান্ত নেওয়া আরও সহজ করে তোলে।
anselm

1
কীভাবে পালানোর অক্ষরের পরিবর্তে সমস্ত এনভির ভারসেট সেট করা যায় সে সম্পর্কে এই উত্তরটি দেখুন । LESS_TERMCAP_*tput
দক্ষ মোদী 14 ই

3

গিলসের উত্তরটি দুর্দান্ত, তবে এটি আমাকে কৌতূহলযুক্ত করেছিল:

টার্মিন্যাপ মূলত অপ্রচলিত, টার্মিনফো দ্বারা প্রতিস্থাপিত হয়েছে

  1. যদি টার্মক্যাপ অপ্রচলিত হয় তবে আমি টার্মিনফোতে স্যুইচ করতে চাই

  2. আমি Termcap থেকে সরে যেতে চাই কারণ আমি একটি বাগ পেয়েছি। বলুন আপনি নিজের ~/.profileবা অনুরূপ একটি টার্মক্যাপ ভেরিয়েবল রেখেছেন :

    export LESS_TERMCAP_so=$(printf '\33[5;30;43m')
    export LESS_TERMCAP_se=$(printf '\33[m')
    

    এর পরে যদি আপনি প্রবেশ করেন setতবে Termcap ভেরিয়েবলগুলি আপনার রঙের আউটপুটকে বিশৃঙ্খলা করে।

টার্মিনফোতে পরিবর্তন করতে, আপনি একটি ফাইল তৈরি করতে পারেন xterm-pretty.ti:

xterm-pretty|xterm with pretty colors,
# exit standout mode
  rmso=\e[m,
# begin standout mode
  smso=\e[5;30;43m,
# similar terminal
  use=xterm,

ফাইলটি সংকলন এবং ইনস্টল করুন:

tic xterm-pretty.ti

এর সাথে লাইন যুক্ত করুন ~/.profileবা অনুরূপ:

TERM=xterm-pretty
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.