উত্তর:
একটি লাল প্রম্পট কীভাবে সেট করবেন তার একটি উদাহরণ এখানে:
PS1=$'\e[0;31m$ \e[0m'
যাদুটি হ'ল \e[0;31m
(লাল অগ্রভাগ চালু করুন) এবং \e[0m
(চরিত্রের বৈশিষ্ট্যগুলি বন্ধ করুন)। এগুলিকে এস্কেপ সিকোয়েন্স বলা হয়। বিভিন্ন অব্যাহতি ক্রমগুলি আপনাকে আপনার উইন্ডোটির শিরোনাম বারটি পরিবর্তন করতে সক্ষম হতে নিখুঁত কার্সার অবস্থান থেকে শুরু করে রঙ পর্যন্ত বিভিন্ন ফলাফল দেয়।
এস্কেপ সিকোয়েন্সের আরও তথ্যের জন্য, এএনএসআই এস্কেপ কোডগুলিতে উইকিপিডিয়া এন্ট্রি দেখুন
এটি রাখুন ~/.zshrc
:
autoload -U colors && colors
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "
সমর্থিত রং:
red
, blue
, green
, cyan
, yellow
, magenta
, black
, & white
(থেকে এই উত্তর ) বিভিন্ন কম্পিউটারের বিভিন্ন বৈধ অপশন আছে পারে, যদিও।
চারপাশের রঙিন কোডগুলি (এবং অন্য কোনও মুদ্রণযোগ্য অক্ষর) সহ %{....%}
। এটি সঠিকভাবে কাজ করার জন্য পাঠ্য মোড়কের জন্য।
অতিরিক্তভাবে, আপনি এখানে থেকে ডিরেক্টরি-ট্রিমিংয়ের সাথে এটি কীভাবে কাজ করতে পারেন তা এখানে ।
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%(5~|%-1~/.../%3~|%4~) %{$reset_color%}%% "
zsh: colors: function definition file not found
%{...%}
অর্থ হল যে বিষয়বস্তুটিকে আক্ষরিক অব্যাহতি ক্রম হিসাবে ব্যাখ্যা করা হবে, সুতরাং ক্রমটি মুদ্রণের সময় চলবে না। আপনি যদি এটি ব্যবহার না করেন তবে রঙের কোডগুলি প্রকৃতপক্ষে কার্সারটি সরিয়ে নিয়ে যায় এবং অনাকাঙ্ক্ষিত প্রভাব তৈরি করতে পারে। এটি zshmisc ম্যান পৃষ্ঠাতেVisual Effects
বিভাগে নথিভুক্ত করা হয়েছে
Zsh রঙিন প্রম্পট অন্তর্নির্মিত সাথে আসে। চেষ্টা
autoload -U promptinit && promptinit
এবং তারপরে prompt -l
উপলভ্য প্রম্পটগুলি তালিকাভুক্ত -p fire
করে, "ফায়ার" প্রম্পটের পূর্বরূপ দেয়, -s fire
সেট করে।
আপনি যখন কোনও প্রম্পট যুক্ত করতে প্রস্তুত হন উপরের অটোলোড লাইনের নীচে এর মতো কিছু যুক্ত করুন:
prompt fade red
আমি মনে করি না যে এটি autoload -U colors && colors
আর প্রয়োজন হয় এবং একটি সহজভাবে এটি করতে পারে:
PS1="%{%F{red}%}%n%{%f%}@%{%F{blue}%}%m %{%F{yellow}%}%~ %{$%f%}%% "
ফায়ারডুডের উত্তর হিসাবে একই ফলাফল অর্জন করতে । দেখুন ZSH ডকুমেন্টেশন আরও তথ্যের জন্য।
autoload -U colors && colors
autoload
।
autoload on
?
autoload -U colors
অর্থ হ'ল আপনার ডিস্ট্রোতে ইতিমধ্যে এটি অন্য কোনও zsh ইনিশিয়ালাইজেশন ফাইলে রয়েছে। অন্যদের সাথে ভাগ করে নেওয়ার আপনার ইচ্ছা থাকা স্ক্রিপ্টগুলিতে আপনাকে এখনও এটি অন্তর্ভুক্ত করা উচিত।
for i in {1..256}; do print -P "%F{$i}Color : $i"; done;
%F{118}
(1 থেকে 256)$FG[018]
(1 থেকে 256)$fg[magenta]
(ম্যাজেন্টা, লাল, সাদা, হলুদ, কালো, নীল, সায়ান, সবুজ)PS1='%(?.%F{green}.%F{green})%n@%m:%~%# %f'
PS1='%{$fg[gray]%}[%T][%n@%m%{$reset_color%}:%c%{$reset_color%}%{$fg[gray]%}$(git_prompt_info)]$(prompt_char)%{$reset_color%} '
ভেরিয়েবল সংজ্ঞা (PS1 / PROMPT) যুক্ত করা প্রয়োজন ~/.zshrc
আমরা এখনই এটির পরীক্ষা করার জন্য বর্তমান প্রম্পটে PS1 ভেরিয়েবলটিকে নতুনভাবে সংজ্ঞায়িত করতে পারি (পরিবর্তনগুলি সংরক্ষণ করা হয় না)।
উপরের ব্রায়ান ওকলির উত্তরটিতে একটি ত্রুটি রয়েছে কারণ এটি ইতিমধ্যে ইঙ্গিত করা হয়েছে এবং অ্যান্ড্রু মার্শাল দ্বারা প্রদত্ত সমাধানটি যদিও এই ত্রুটি বহন করে না, তবুও এটি ব্যবহৃত রঙগুলিতে খুব বেশি কাস্টমাইজেশনের জন্য এটি সুস্পষ্ট করে না।
যেহেতু ম্যাকোস ক্যাটালিনা zsh কে এখন থেকে ডিফল্ট শেল হতে বলেছে, আমি মনে করি আরও বেশ কয়েকজন লোক তাদের প্রম্পটটি কাস্টমাইজ করতে চাইতে পারে এবং উত্তর পেতে এখানে আসতে পারে। সুতরাং, আমি ভেবেছিলাম আমি আরও বিস্তৃত সংক্ষিপ্তসার দেওয়ার চেষ্টা করব এবং অন্যান্য খুব ঘনিষ্ঠ-সম্পর্কিত ধারণাগুলি স্পর্শ করব যা আরও কাস্টমাইজেশনের অনুমতি দেয়।
বিভিন্ন রঙের জন্য 3-ডিজিট কোড। প্রথমত, এখানে আমরা বিভিন্ন রঙের জন্য 3-ডিজিটের কোডগুলি খুঁজে পেতে পারি: https://unix.stackexchange.com/a/124409/194343 । উদাহরণস্বরূপ, 214 কিছু ধরণের কমলা রঙ।
অগ্রভূমি এবং পটভূমি। অন্যান্য মূল তথ্য হ'ল এফ ওরিগ্রাউন্ড এবং ব্যাক কে গ্রাউন্ড কালারের জন্য তারা যথাক্রমে এফ এবং কে দিয়ে কী চান তা নির্ধারণ করতে পারে । উত্সটি ভিজ্যুয়াল এফেক্টগুলির জন্য zsh ম্যানুয়াল: http://zsh.sourceforge.net/Doc/Re कृपया / Prompt-Expansion.html# ভিজ্যুয়াল-এফেক্টস
সুতরাং, উদাহরণস্বরূপ, নিম্নলিখিত দুটি কমান্ড
autoload -U colors && colors
export PS1="%F{214}%K{000}%m%F{015}%K{000}:%F{039}%K{000}%~%F{015}%K{000}\$ "
কালো ব্যাকগ্রাউন্ডের সাথে কমলাতে হোস্টনাম উপস্থাপন করুন, তার পরে কালো পটভূমির সাথে সাদা একটি কোলন এবং তারপরে কালো পটভূমির সাথে উজ্জ্বল নীল রঙের বর্তমান কার্যকরী ডিরেক্টরি এবং তারপরে কালো পটভূমিতে সাদা ডলার সাইন ইন করুন।
আরও সম্পর্কিত তথ্য নীচে পাওয়া যায়।
ডানদিকে প্রম্পট তথ্য। উদাহরণস্বরূপ, একটি টাইমস্ট্যাম্প যুক্ত করা। Https://superuser.com/a/1251045/290299 দেখুন । অবশ্যই এটি রঙিন কোডেড হতে পারে, উদাহরণস্বরূপ কিছু হালকা নীল / বেগুনি-ইশ রঙ সহ:
RPROMPT="%F{111}%K{000}[%D{%f/%m/%y}|%@]"
জন্য রঙ ls
। Ls এর জন্য ম্যানুয়ালটি পড়ার পরে উদাহরণস্বরূপ ls
, নিম্নলিখিত দুটি কমান্ড ব্যবহারের জন্য রঙগুলি সক্রিয় করতে পারে :
export CLICOLOR=1
export LSCOLORS=gafacadabaegedabagacad
শেষ অবধি, আমি আমার কনফিগারেশনে খুশি হওয়ায় আমি পরীক্ষিত হয়নি এমন সর্বশেষ মন্তব্য হিসাবে, অন্য একটি অ্যাভিনিউ ম্যাকপোর্টসcoreutils
থেকে পোর্টটি ইনস্টল করার জন্য এবং তার পরে ব্যবহার করতে পারে (উত্স: https://unix.stackexchange.com/a/174596 / 194343 )। (আমি ভবিষ্যতে এই শেষ অংশটি সম্পাদনা করতে পারি কারণ উপরের সমস্তগুলি সম্পর্কিত টুকরো যা প্রতিদিনের জীবনকে আরও মজাদার এবং সহজেই মোকাবেলা করতে সহজ করে তোলে))gdircolors
আমি খুঁজে পেয়েছি যে, zsh5 (ডেবিয়ান জেসির উপর ডিফল্ট এক) সহ, এই সমস্ত সমাধান কাজ করে:
$'\e[00m
$fg[white]
$fg{white}
এখন, তাদের একটি সমস্যা রয়েছে: তারা কার্সারটি সরিয়ে ফেলবে, ফলস্বরূপ ট্যাবিংয়ের সময় কুরুচিপূর্ণ ডেসাল (অটো-সমাপ্তির জন্য)। সমাধানটি কেবল এর সাথে পালানোর ক্রমগুলি ঘিরে %{FOOBAR%}
। এটি অনুধাবন করতে আমাকে কিছুক্ষণ সময় নিল দ্বিতীয় এবং তৃতীয় সমাধানের জন্য লোডিং colors
মডিউল বাধ্যতামূলক। 1 ম সমাধানটি পঠনযোগ্য রাখার জন্য, আপনার ব্যবহৃত রঙগুলির জন্য কেবল ভেরিয়েবলগুলি সংজ্ঞায়িত করুন।
শেষ কমান্ডের প্রস্থান স্থিতির উপর নির্ভর করে রঙের সাথে একটি প্রম্পট পেতে, আপনি এটি ব্যবহার করতে পারেন:
PS1='%(?.%F{green}.%F{red})%n@%m:%~%# %f'
শুধু আপনার এই লাইন যুক্ত করুন ~/.zshrc
।
ডকুমেন্টেশন সম্ভব প্লেসহোল্ডার তালিকাবদ্ধ করে।
আমার প্রিয় চেষ্টা করুন: রাখুন
~/.zshrc
এই লাইন:
PROMPT='%F{240}%n%F{red}@%F{green}%m:%F{141}%d$ %F{reset}'
ভুলে যাবেন না
source ~/.zshrc
পরিবর্তন পরীক্ষা করতে
আপনি অবশ্যই রঙ / রঙের কোডগুলি পরিবর্তন করতে পারেন :-)
ম্যান জ্যাশাল এবং প্রম্পট এক্সপেনশনের জন্য অনুসন্ধান করুন
এখানে বিদ্যমান উত্তরগুলি পড়ার পরে, তাদের মধ্যে বেশ কয়েকটি বিরোধমূলক। আমি zsh 4.2 এবং 5+ চলমান সিস্টেমে বিভিন্ন পদ্ধতির চেষ্টা করেছি এবং খুঁজে পেয়েছি যে এই উত্তরগুলি পরস্পরবিরোধী হওয়ার কারণ তারা ZSH এর কোন সংস্করণে লক্ষ্যবস্তু হয়েছে তা তারা বলে না। বিভিন্ন সংস্করণ এর জন্য আলাদা সিনট্যাক্স ব্যবহার করে এবং তাদের কিছুটির জন্য বিভিন্ন অটোলোডের প্রয়োজন।
সুতরাং, সর্বোত্তম বেটটি সম্ভবত জেড শ্যাশল এবং আপনার বিশেষ zsh এর ইনস্টলেশন সম্পর্কিত সমস্ত বিধি জানতে প্রম্পট এক্সপেনশনের সন্ধান করুন। মন্তব্যে নোট করুন, "আমি উবুন্টু ১১.০৪ বা ১০.৪ বা ওএসএক্স ব্যবহার করি" এর মতো বিষয়গুলি খুব সার্থক নয় কারণ আপনি জেডএসএইচের কোন সংস্করণ ব্যবহার করছেন তা পরিষ্কার নয়। উবুন্টু 11.04 উবুন্টু 10.04 এর চেয়ে ZSH এর নতুন সংস্করণ বোঝায় না। পুরানো সংস্করণটি ইনস্টল হওয়ার কারণে অনেকগুলি কারণ থাকতে পারে। সে ক্ষেত্রে জেডএসএইচের একটি নতুন সংস্করণ জেডএসএইচের কোন সংস্করণ তা না জেনে কোন সিনট্যাক্সটি ব্যবহার করবেন তা বোঝায় না।
উপরের সমস্ত উত্তরগুলির পরিপূরক করার জন্য আরেকটি সুবিধাজনক কৌশলটি হ'ল রঙিন প্রম্পট সেটিংসকে একটি zsh ফাংশনে স্থাপন করা। সেখানে আপনি স্থানীয় ভেরিয়েবলগুলি আরেফ লম্বা কমান্ডগুলিতে সংজ্ঞায়িত করতে পারেন, উদাহরণস্বরূপ rc=$reset_color
বা আপনার নিজস্ব রঙের ভেরিয়েবলগুলি সংজ্ঞায়িত করতে পারেন। এটিকে আপনার .zshrc
ফাইলে স্থাপন করতে এবং আপনার সংজ্ঞায়িত ফাংশনটিতে কল করতে ভুলবেন না :
# Coloured prompt
autoload -U colors && colors
function myprompt {
local rc=$reset_color
export PS1="%F{cyan}%n%{$rc%}@%F{green}%m%{$rc%}:%F{magenta}%~%{$rc%}%# "
}
myprompt