Powerlevel10k هو موضوع لـ Zsh. إنه يؤكد على السرعة والمرونة والخبرة المبتكرة.
exec zsh
.p10k configure
إذا لم يبدأ معالج التكوين تلقائيًا. اكتب p10k configure
للوصول إلى معالج التكوين المدمج مباشرة من جهازك الطرفي.
جميع الأنماط باستثناء Pure متكافئة وظيفيًا. أنها تعرض نفس المعلومات وتختلف فقط في العرض.
يقوم معالج التكوين بإنشاء ~/.p10k.zsh
بناءً على تفضيلاتك. يمكن إجراء التخصيص الفوري الإضافي عن طريق تحرير هذا الملف. يحتوي على الكثير من التعليقات لمساعدتك على التنقل عبر خيارات التكوين.
نصيحة : قم بتثبيت الخط الموصى به قبل تشغيل p10k configure
لفتح جميع أنماط المطالبة.
التعليمات:
استكشاف الأخطاء وإصلاحها :
عندما تضغط على ENTER ، تظهر المطالبة التالية على الفور. مع Powerlevel10k لا يوجد أي تأخير سريع. إذا قمت بتثبيت Cygwin على Raspberry Pi، cd
في مستودع Linux Git وقمت بتنشيط ما يكفي من المقاطع السريعة لملء أربعة أسطر مطالبة على جانبي الشاشة... انتظر، هذا مجرد جنون ولا أحد يفعل ذلك على الإطلاق. وربما مستحيل أيضاً. النقطة المهمة هي أن مطالبة Powerlevel10k تكون سريعة دائمًا، بغض النظر عما تفعله!
لاحظ كيف ينعكس تأثير كل أمر على الفور من خلال المطالبة التالية.
يأمر | مؤشر سريع | معنى |
---|---|---|
timew start hack linux | ⌚ hack linux | تم تمكين تتبع الوقت في timewarrior |
touch xy | ?2 | ملفان لم يتم تعقبهما في Git repo |
rm COPYING | !1 | 1 تغيير غير مرحلي في Git repo |
echo 3.7.3 >.python-version | ? 3.7.3 | إصدار بايثون الحالي في pyenv |
سمات Zsh الأخرى القادرة على عرض نفس المعلومات إما تنتج تأخرًا سريعًا أو مطالبة طباعة لا تعكس الحالة الحالية للنظام ثم تقوم بتحديثها لاحقًا. مع Powerlevel10k، يمكنك الحصول على معلومات سريعة وحديثة .
الأسئلة الشائعة : هل هو سريع حقًا؟
يتفهم Powerlevel10k جميع معلمات تكوين Powerlevel9k.
يعد الترحيل من Powerlevel9k إلى Powerlevel10k عملية مباشرة. ستظل جميع معلمات تكوين POWERLEVEL9K
تعمل. سيبدو الموجه كما كان من قبل (تقريبًا) ولكنه سيكون أسرع بكثير (بالتأكيد).
التعليمات :
يمكن أن ينتج Powerlevel10k نفس المطالبة مثل Pure. اكتب p10k configure
وحدد النمط النقي .
لا يزال بإمكانك استخدام ميزات Powerlevel10k مثل المطالبة العابرة أو المطالبة الفورية عند ممارسة أسلوب Pure الرياضي.
لتخصيص المطالبة، قم بتحرير ~/.p10k.zsh
. لا يتعرف Powerlevel10k على معلمات التكوين النقي، لذا ستحتاج إلى استخدام POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3
بدلاً من PURE_CMD_MAX_EXEC_TIME=3
وما إلى ذلك. جميع المعلمات ذات الصلة موجودة في ~/.p10k.zsh
. يحتوي هذا الملف على الكثير من التعليقات لمساعدتك على التنقل خلاله.
الأسئلة المتداولة: ما هو أفضل نمط مطالبة في معالج التكوين؟
إذا كان ~/.zshrc
الخاص بك يقوم بتحميل العديد من المكونات الإضافية، أو ربما عدد قليل من المكونات الإضافية البطيئة (على سبيل المثال، pyenv أو nvm)، فربما لاحظت أن الأمر يستغرق بعض الوقت حتى يبدأ Zsh.
يمكن لـ Powerlevel10k إزالة تأخر بدء تشغيل Zsh حتى لو لم يكن ذلك بسبب أحد السمات .
تسمى هذه الميزة "الموجه الفوري" . تحتاج إلى تمكينه بشكل صريح من خلال p10k configure
أو يدويًا. إنه يفعل ما هو مذكور على العلبة - تتم طباعة المطالبة فورًا عند بدء تشغيل Zsh مما يسمح لك ببدء الكتابة بينما لا تزال المكونات الإضافية قيد التحميل.
تعمل المواضيع الأخرى على زيادة تأخر بدء تشغيل Zsh - بعضها كثيرًا والبعض الآخر قليلاً. يقوم Powerlevel10k بإزالته تمامًا.
إذا كنت مهتمًا بكيفية عمل المطالبة الفورية ، فراجع هذا القسم في zsh-bench.
الأسئلة المتداولة: كيف أقوم بتكوين المطالبة الفورية؟
يعتمد سلوك بعض الأوامر على البيئة العالمية. على سبيل المثال، يقوم kubectl run ...
بتشغيل صورة على المجموعة المحددة بواسطة سياق kubernetes الحالي. إذا كنت تقوم بتغيير السياق بشكل متكرر بين "prod" و"testing"، فقد ترغب في عرض السياق الحالي في موجه Zsh. إذا فعلت الشيء نفسه بالنسبة لبيانات اعتماد AWS وAzure وGoogle Cloud، فستصبح المطالبة مزدحمة جدًا.
أدخل "إظهار عند القيادة" . تعمل هذه الميزة على جعل المقاطع السريعة تظهر فقط عندما تكون ذات صلة بالأمر الذي تكتبه حاليًا.
تعمل التكوينات التي تم إنشاؤها بواسطة p10k configure
على تمكين العرض في الأمر لعدة قطاعات موجهة بشكل افتراضي. إليك المعلمة ذات الصلة بسياق kubernetes:
# Show prompt segment "kubecontext" only when the command you are typing invokes one of these tools.
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND= ' kubectl|helm|kubens '
لتخصيص وقت عرض شرائح المطالبة المختلفة، افتح ~/.p10k.zsh
، وابحث عن SHOW_ON_COMMAND
وقم بإزالة هذه المعلمات لعرض الأجزاء المتأثرة دون قيد أو شرط، أو قم بتغيير قيمها.
عند تمكين Transient Prompt من خلال p10k configure
، سيقوم Powerlevel10k بتقليص كل مطالبة عند قبول سطر الأوامر.
تسهل المطالبة العابرة عملية نسخ ولصق سلسلة من الأوامر من شريط التمرير الخلفي للمحطة الطرفية.
نصيحة : إذا قمت بتمكين المطالبة العابرة، فاستفد من المطالبة المكونة من سطرين. ستستفيد من المساحة الإضافية لكتابة الأوامر دون العيب المعتاد المتمثل في انخفاض كثافة التمرير للخلف. تعمل المطالبة المتفرقة (مع سطر فارغ قبل المطالبة) أيضًا بشكل رائع مع المطالبة العابرة.
ربما يكون دليل العمل الحالي هو الجزء الأكثر أهمية في المطالبة. يبذل Powerlevel10k جهدًا كبيرًا لتسليط الضوء على أجزائه المهمة واقتطاعها بأقل قدر من فقدان المعلومات عندما تصبح المساحة الأفقية نادرة.
عندما لا يكون الدليل الكامل مناسبًا، يتم اقتطاع الجزء الموجود في أقصى اليسار إلى أقصر بادئة فريدة له. في تسجيل الشاشة، يصبح ~/work
~/wo
. لا يمكن اقتطاعه إلى ~/w
لأنه سيكون غامضًا (كان هناك ~/wireguard
عندما تم تسجيل الجلسة). الجزء التالي - projects
- يتحول إلى p
لأنه لم يكن هناك شيء آخر يبدأ بـ p
في ~/work/
.
يتم عرض مقاطع الدليل بأحد الألوان الثلاثة:
نصيحة : إذا قمت بنسخ ولصق دليل مقطوع والضغط على TAB ، فسوف يكتمل إلى الأصل.
استكشاف الأخطاء وإصلاحها : من الصعب رؤية الدليل بشكل فوري عند استخدام نمط قوس قزح.
يمكن تكوين Powerlevel10k ليبدو مثل أي سمة Zsh أخرى موجودة.
تم تضمين محاكاة Pure وPowerlevel9k وrobbyrussell. لمحاكاة مظهر السمات الأخرى، ستحتاج إلى كتابة ملف تكوين مناسب. أفضل طريقة للقيام بذلك هي تشغيل p10k configure
، وتحديد النمط الأقرب إلى هدفك، ثم تحرير ~/.p10k.zsh
.
يمتد النطاق الكامل لمظهر Powerlevel10k من المتقشف:
ل سخيف باهظة:
يأتي Powerlevel10k مزودًا بالعشرات من مقاطع المطالبة المضمنة عالية الجودة التي يمكنها عرض المعلومات من مجموعة متنوعة من المصادر. عند تشغيل p10k configure
واختيار أي نمط باستثناء Pure، يتم تمكين العديد من هذه المقاطع افتراضيًا بينما يمكن تمكين البعض الآخر يدويًا عن طريق فتح ~/.p10k.zsh
وإلغاء التعليق عليها. يمكنك تمكين أي عدد تريده من القطاعات. لن يؤدي ذلك إلى إبطاء المطالبة أو بدء تشغيل Zsh.
شريحة | معنى |
---|---|
anaconda | البيئة الافتراضية من كوندا |
asdf | إصدارات الأداة من قوات الدفاع الذاتى |
aws | الملف الشخصي لـ aws |
aws_eb_env | بيئة شجرة الفاصولياء المرنة |
azure | اسم الحساب اللازوردي |
background_jobs | وجود وظائف الخلفية |
battery | حالة البطارية الداخلية ومستوى الشحن (نعم، البطاريات متضمنة حرفيًا ) |
command_execution_time | المدة (وقت الحائط) للأمر الأخير |
context | اسم المستخدم@المضيف |
cpu_arch | بنية وحدة المعالجة المركزية |
dir | دليل العمل الحالي |
direnv | حالة ديرينف |
disk_usage | استخدام القرص |
dotnet_version | نسخة الدوت نت |
fvm | بيئة الرفرفة من fvm |
gcloud | حساب ومشروع Google Cloud CLI |
goenv | اذهب للبيئة من goenv |
google_app_cred | بيانات اعتماد تطبيق جوجل |
go_version | الذهاب الإصدار |
haskell_stack | نسخة هاسكل من المكدس |
ip | عنوان IP واستخدام النطاق الترددي لواجهة شبكة محددة |
java_version | نسخة جافا |
jenv | بيئة جافا من jenv |
kubecontext | سياق kubernetes الحالي |
laravel_version | نسخة إطار عمل Laravel PHP |
load | تحميل وحدة المعالجة المركزية |
luaenv | بيئة لوا من luaenv |
midnight_commander | قذيفة قائد منتصف الليل |
nix_shell | لا مؤشر قذيفة |
nnn | قذيفة نن |
lf | قذيفة LF |
chezmoi_shell | قذيفة شيزموي |
nodeenv | بيئة Node.js من Nodeenv |
nodenv | بيئة Node.js من Nodenv |
node_version | نسخة Node.js |
nordvpn | حالة اتصال nordvpn |
nvm | بيئة Node.js من nvm |
os_icon | شعار نظام التشغيل الخاص بك (apple لنظام التشغيل macOS، وswirl لنظام التشغيل debian، وما إلى ذلك) |
package | name@version من package.json |
per_directory_history | يا بلدي Zsh لكل مؤشر التاريخ المحلي / العالمي |
perlbrew | نسخة بيرل من بيرلبريو |
phpenv | بيئة php من phpenv |
php_version | نسخة PHP |
plenv | بيئة بيرل من plenv |
prompt_char | رمز موجه متعدد الوظائف؛ التغييرات اعتمادًا على الوضع vi: ❯ , ❮ , V , ▶ لوضع الإدراج والأوامر والمرئية والاستبدال على التوالي؛ يتحول إلى اللون الأحمر عند الخطأ |
proxy | وكيل http/https/ftp على مستوى النظام |
public_ip | عنوان IP العام |
pyenv | بيئة بايثون من pyenv |
ram | ذاكرة الوصول العشوائي المجانية |
ranger | قذيفة الحارس |
yazi | قذيفة يازي |
rbenv | بيئة روبي من rbenv |
rust_version | نسخة روستك |
rvm | بيئة روبي من rvm |
scalaenv | نسخة سكالا من scalaenv |
status | رمز الخروج من الأمر الأخير |
swap | مقايضة مستعملة |
taskwarrior | عدد المهام Taskwarrior |
terraform | مساحة عمل Terraform |
terraform_version | نسخة التضاريس |
time | الوقت الحالي |
timewarrior | حالة تتبع محارب الزمن |
todo | عناصر المهام |
toolbox | اسم صندوق الأدوات |
vcs | حالة مستودع Git |
vim_shell | قذيفة فيم ( :sh ) |
virtualenv | بيئة بايثون من venv |
vi_mode | الوضع السادس (لن تحتاج إلى هذا إذا قمت بتمكين Prompt_char) |
vpn_ip | مؤشر الشبكة الخاصة الافتراضية |
wifi | سرعة الواي فاي |
xplr | قذيفة xplr |
إذا لم يكن هناك مقطع موجه يفعل ما تحتاجه، فقم بتنفيذ الجزء الخاص بك. يوفر Powerlevel10k واجهة برمجة تطبيقات عامة لتحديد الشرائح التي تتسم بالسرعة والمرونة مثل الشرائح المضمنة.
على Linux، يمكنك جلب درجة حرارة وحدة المعالجة المركزية الحالية عن طريق قراءة /sys/class/thermal/thermal_zone0/temp
. يُظهر تسجيل الشاشة كيفية تحديد مقطع مطالبة لعرض هذه القيمة. بمجرد تحديد الشريحة، يمكنك استخدامها كأي شريحة أخرى. ستعمل جميع معلمات التخصيص القياسية على ذلك خارج الصندوق.
اكتب p10k help segment
كمرجع.
ملاحظة : إذا قمت بتعديل معلمات POWERLEVEL9K_*
في غلاف تفاعلي تمت تهيئته بالفعل (بدلاً من تحرير ~/.p10k.zsh
)، فقد لا تكون التغييرات فعالة على الفور. لتطبيق التعديلات، قم باستدعاء p10k reload
. الإعداد POWERLEVEL9K_DISABLE_HOT_RELOAD=false
يلغي ضرورة p10k reload
ولكنه يؤدي إلى مطالبة أبطأ قليلاً.
نصيحة : ابدأ أسماء المقاطع الخاصة بك بـ my_
لتجنب التعارض مع الإصدارات المستقبلية من Powerlevel10k.
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~ /powerlevel10k
echo ' source ~/powerlevel10k/powerlevel10k.zsh-theme ' >> ~/.zshrc
يمكن للمستخدمين في الصين استخدام النسخة الرسمية على gitee.com للتنزيل بشكل أسرع.
تم إنشاء موقع gitee.com من خلال موقع الويب الخاص بنا.
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ~ /powerlevel10k
echo ' source ~/powerlevel10k/powerlevel10k.zsh-theme ' >> ~/.zshrc
هذا هو أبسط أنواع التثبيت ويعمل حتى إذا كنت تستخدم مدير المكونات الإضافية. فقط تأكد من تعطيل السمة الحالية في مدير المكونات الإضافية الخاص بك. راجع استكشاف الأخطاء وإصلاحها للحصول على المساعدة.
استنساخ المستودع:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM :- $HOME / .oh-my-zsh / custom} /themes/powerlevel10k
يمكن للمستخدمين في الصين استخدام النسخة الرسمية على gitee.com للتنزيل بشكل أسرع.
تم إنشاء موقع gitee.com من خلال موقع الويب الخاص بنا.
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM :- $HOME / .oh-my-zsh / custom} /themes/powerlevel10k
افتح ~/.zshrc
، وابحث عن السطر الذي يحدد ZSH_THEME
، وقم بتغيير قيمته إلى "powerlevel10k/powerlevel10k"
.
أضف zstyle :prezto:module:prompt theme powerlevel10k
إلى ~/.zpreztorc
.
أضف zmodule romkatv/powerlevel10k --use degit
إلى ~/.zimrc
وقم بتشغيل zimfw install
.
قم بإضافة antibody bundle romkatv/powerlevel10k
إلى ~/.zshrc
.
أضف romkatv/powerlevel10k
إلى ~/.zsh_plugins.txt
.
قم بإضافة antigen theme romkatv/powerlevel10k
إلى ~/.zshrc
. تأكد من antigen apply
في مكان ما بعده.
قم بإضافة zplug romkatv/powerlevel10k, as:theme, depth:1
إلى ~/.zshrc
.
أضف zgen load romkatv/powerlevel10k powerlevel10k
إلى ~/.zshrc
.
أضف zplugin ice depth=1; zplugin light romkatv/powerlevel10k
إلى ~/.zshrc
.
استخدام depth=1
الجليد اختياري. لا ينصح Powerlevel10k بأنواع أخرى من الثلج ولا يدعمها رسميًا.
إضافة zinit ice depth=1; zinit light romkatv/powerlevel10k
إلى ~/.zshrc
.
استخدام depth=1
الجليد اختياري. لا ينصح Powerlevel10k بأنواع أخرى من الثلج ولا يدعمها رسميًا.
أضف zi ice depth=1; zi light romkatv/powerlevel10k
إلى ~/.zshrc
.
استخدام depth=1
الجليد اختياري. لا ينصح Powerlevel10k بأنواع أخرى من الثلج ولا يدعمها رسميًا.
أضف plug "romkatv/powerlevel10k"
إلى ~/.zshrc
.
brew install powerlevel10k
echo " source $( brew --prefix ) /share/powerlevel10k/powerlevel10k.zsh-theme " >> ~/.zshrc
yay -S --noconfirm zsh-theme-powerlevel10k-git
echo ' source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme ' >> ~/.zshrc
zsh-theme-powerlevel10k-git المشار إليها أعلاه هي حزمة Powerlevel10k الرسمية.
apk add zsh zsh-theme-powerlevel10k
mkdir -p ~ /.local/share/zsh/plugins
ln -s /usr/share/zsh/plugins/powerlevel10k ~ /.local/share/zsh/plugins/
اتبع التعليمات الموجودة على هذه الصفحة.
في أول تشغيل، سيطرح عليك معالج تكوين Powerlevel10k بعض الأسئلة ويقوم بتكوين المطالبة. إذا لم يتم تشغيله تلقائيًا، فاكتب p10k configure
. يقوم معالج التكوين بإنشاء ~/.p10k.zsh
بناءً على تفضيلاتك. يمكن إجراء التخصيص الفوري الإضافي عن طريق تحرير هذا الملف. يحتوي على الكثير من التعليقات لمساعدتك على التنقل عبر خيارات التكوين.
التعليمات :
استكشاف الأخطاء وإصلاحها :
إذا كنت تستخدم Powerlevel9k من قبل، فلا تقم بإزالة خيارات التكوين . سوف يلتقطها Powerlevel10k ويزودك بنفس واجهة المستخدم السريعة التي اعتدت عليها. راجع توافق Powerlevel9k.
التعليمات :
استكشاف الأخطاء وإصلاحها : المسافات الإضافية أو المفقودة في المطالبة مقارنة بـ Powerlevel9k.
لا يتطلب Powerlevel10k خطوطًا مخصصة ولكن يمكنه الاستفادة منها إذا كانت متوفرة. إنه يعمل بشكل جيد مع Nerd Fonts وSource Code Pro وFont Awesome وPowerline وحتى خطوط النظام الافتراضية. يتوفر الاختيار الكامل لخيارات النمط فقط عند استخدام Nerd Fonts.
؟ الخط الموصى به : Meslo Nerd Font مصحح لـ Powerlevel10k. ؟
خط رائع أحادي المسافة صممه Jim Lyles لـ Bitstream، وتم تخصيصه بنفس الطريقة لـ Apple، وتم تخصيصه بشكل أكبر بواسطة André Berg، وأخيرًا تم تصحيحه بواسطتك حقًا باستخدام نصوص برمجية مخصصة تم تطويرها في الأصل بواسطة Ryan L McIntyre من Nerd Fonts. يحتوي على جميع الحروف الرسومية والرموز التي قد يحتاجها Powerlevel10k. تم اختباره في عشرات المحطات الطرفية المختلفة على جميع أنظمة التشغيل الرئيسية.
الأسئلة المتداولة : كيف تم إنشاء الخط الموصى به؟
إذا كنت تستخدم iTerm2 أو Termux، فيمكن p10k configure
تثبيت الخط الموصى به لك. ما عليك سوى الإجابة Yes
عند سؤالك عما إذا كنت تريد تثبيت Meslo Nerd Font أم لا.
إذا كنت تستخدم محطة طرفية مختلفة، فتابع عملية التثبيت اليدوي للخط. ؟
MesloLGS NF
متاحًا لجميع التطبيقات على نظامك.p10k configure
وأجب Yes
عند سؤالك عما إذا كنت تريد تثبيت Meslo Nerd Font أم لا. وبدلاً من ذلك، افتح iTerm2 → التفضيلات → الملفات الشخصية → النص وقم بتعيين الخط على MesloLGS NF
.MesloLGS NF
.fontFamily
ضمن module.exports.config
إلى MesloLGS NF
.terminal.integrated.fontFamily
في مربع البحث أعلى علامة تبويب الإعدادات وقم بتعيين القيمة أدناه على MesloLGS NF
. راجع لقطة الشاشة هذه لترى كيف يجب أن تبدو أو راجع هذه المشكلة للحصول على معلومات إضافية.MesloLGS NF Regular
.MesloLGS NF Regular
.MesloLGS NF Regular
.MesloLGS NF
.MesloLGS NF
.MesloLGS NF
.MesloLGS NF
.p10k configure
وأجب Yes
عند سؤالك عما إذا كنت تريد تثبيت Meslo Nerd Font أم لا.config
، وانتقل إلى المظهر ، ثم انقر فوق إضافة خط جديد ، ثم انقر فوق فتح المعرض ، وحدد MesloLGS NF.css ، ثم انقر فوق استيراد واكتب exit
في العرض الرئيسي لإعادة تحميل الخط.MesloLGS NF
.MesloLGS NF Regular
. قم بالخروج من مربع الحوار "التفضيلات" بالنقر فوق "إغلاق" .MesloLGS NF Regular
. قم بالخروج من مربع الحوار "التفضيلات" بالنقر فوق "إغلاق" .MesloLGS NF
. إذا كانت لديك جلسات ، فستحتاج إلى تغيير الخط في كل منها من خلال الإعدادات ← انقر بزر الماوس الأيمن على جلسة فردية ← تحرير الجلسة ← إعدادات المحطة الطرفية ← إعدادات الخط .MesloLGS NF Regular
. لتغيير الخط لاتصالات المضيف البعيد، انتقل إلى التفضيلات → خيارات المحطة الطرفية → الشكل والمظهر وقم بتغيير الخط: ضمن واجهة المستخدم الطرفية إلى MesloLGS NF Regular
.MesloLGS NF
.MesloLGS NF Regular
.MesloLGS NF
وانقر فوق "موافق" . انقر فوق "موافق" لحفظ ملف التعريف. حدد ملف التعريف الجديد وانقر فوق "تعيين كافتراضي" .~/.config/alacritty/alacritty.toml
وأضف القسم التالي إليه: [ font . normal ]
family = " MesloLGS NF "
~/.config/foot/foot.ini
وأضف القسم التالي إليه: font =MesloLGS NF: size =12
~/.config/kitty/kitty.conf
وأضف السطر التالي إليه: font_family MesloLGS NF
MesloLGS NF
. يتطلب إصدار المعجون >= 0.75.$HOME/.config/wezterm/wezterm.lua
وأضف ما يلي: local wezterm = require ' wezterm ' ;
return {
font = wezterm . font ( " MesloLGS NF " ),
}
~/.Xresources
وأضف السطر التالي إليه: URxvt.font: xft:MesloLGS NF:size=11
xrdb ~/.Xresources
لإعادة تحميله. يتم تطبيق التكوين الجديد على كافة المحطات الجديدة.~/.Xresources
وأضف السطر التالي إليه: xterm*faceName: MesloLGS NF
xrdb ~/.Xresources
لإعادة تحميله. يتم تطبيق التكوين الجديد على كافة المحطات الجديدة.~/.config/zed/settings.json
وقم بتعيين terminal.font_family
على "MesloLGS NF"
. {
"terminal" : {
"font_family" : "MesloLGS NF"
} ,
// Other settings.
}
'MesloLGS NF'
(بما في ذلك علامات الاقتباس) و CSS المخصص (النص المضمن) على ما يلي: @font-face {
font-family : "MesloLGS NF" ;
src : url ( "https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/MesloLGS%20NF%20Regular.ttf" );
font-weight : normal;
font-style : normal;
}
@font-face {
font-family : "MesloLGS NF" ;
src : url ( "https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/MesloLGS%20NF%20Bold.ttf" );
font-weight : bold;
font-style : normal;
}
@font-face {
font-family : "MesloLGS NF" ;
src : url ( "https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/MesloLGS%20NF%20Italic.ttf" );
font-weight : normal;
font-style : italic;
}
@font-face {
font-family : "MesloLGS NF" ;
src : url ( "https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/MesloLGS%20NF%20Bold%20Italic.ttf" );
font-weight : bold;
font-style : italic;
}
~/.config/deepin/deepin-terminal/config.conf
وأضف القسم التالي إليه: [basic.interface.font]
value = " MesloLGS NF "
p10k configure
لإنشاء ملف ~/.p10k.zsh
جديد. قد يعمل التكوين القديم بشكل غير صحيح مع الخط الجديد.هل تستخدم محطة مختلفة وتعرف كيفية ضبط الخط لها؟ شارك معلوماتك عن طريق إرسال العلاقات العامة لتوسيع القائمة!
جرب Powerlevel10k في Docker. يمكنك إجراء أي تغييرات على نظام الملفات بأمان أثناء تجربة السمة. بمجرد الخروج من Zsh، يتم حذف الحاوية.
docker run -e TERM -e COLORTERM -e LC_ALL=C.UTF-8 -it --rm alpine sh -uec '
apk add git zsh nano vim
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo "source ~/powerlevel10k/powerlevel10k.zsh-theme" >>~/.zshrc
cd ~/powerlevel10k
exec zsh '
نصيحة : قم بتثبيت الخط الموصى به قبل تشغيل أمر Docker للوصول إلى جميع أنماط المطالبة.
نصيحة : قم بتشغيل p10k configure
أثناء وجودك في Docker لتجربة نمط مطالبة مختلف.
تم إصدار Powerlevel10k بموجب ترخيص MIT.
$HOME/.git
في المطالبة؟يعتمد أمر تحديث Powerlevel10k على كيفية تثبيته.
تثبيت | أمر التحديث |
---|---|
يدوي | git -C ~/powerlevel10k pull |
يا بلدي زش | git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k pull |
بريتو | zprezto-update |
زيم | zimfw update |
مستضد | antigen update |
ترياق | antidote update |
Zplug | zplug update |
زجين | zgen update |
Zplugin | zplugin update |
زينيت | zinit update |
زي | zi update |
انطلق | zap update |
البيرة المنزلية | brew update && brew upgrade |
آرتش لينكس | yay -S --noconfirm zsh-theme-powerlevel10k-git |
جبال الألب لينكس | apk update && apk upgrade |
هام : أعد تشغيل Zsh بعد تحديث Powerlevel10k. لا تستخدم source ~/.zshrc
.
قم بإزالة كافة المراجع إلى "p10k" من ~/.zshrc
. قد يكون لديك هذا المقتطف في الأعلى:
if [[ -r " ${XDG_CACHE_HOME :- $HOME / .cache} /p10k-instant-prompt- ${( % ) :-% n} .zsh " ]] ; then
source " ${XDG_CACHE_HOME :- $HOME / .cache} /p10k-instant-prompt- ${( % ) :-% n} .zsh "
fi
وهذا في الأسفل:
[[ ! -f ~ /.p10k.zsh ]] || source ~ /.p10k.zsh
تتم إضافتها بواسطة معالج التكوين. قم بإزالتها.
قم بإزالة كافة المراجع إلى "powerlevel10k" من ~/.zshrc
و ~/.zpreztorc
و ~/.zimrc
(قد تكون بعض هذه الملفات مفقودة - وهذا أمر طبيعي). تمت إضافة هذه المراجع يدويًا بنفسك عند تثبيت Powerlevel10k. راجع تعليمات التثبيت إذا كنت بحاجة إلى تذكير.
تأكد من أن جميع الإشارات إلى "p10k" و"powerlevel10k" قد اختفت من ~/.zshrc
و ~/.zpreztorc
و ~/.zimrc
.
grep -E ' p10k|powerlevel10k ' ~ /.zshrc ~ /.zpreztorc ~ /.zimrc 2> /dev/null
إذا كان هذا الأمر ينتج مخرجات، فلا تزال هناك إشارات إلى "p10k" أو "powerlevel10k". تحتاج إلى إزالتها.
احذف ملف التكوين Powerlevel10k. يتم إنشاء هذا الملف بواسطة معالج التكوين وقد يحتوي على تعديلات يدوية بنفسك.
rm -f ~ /.p10k.zsh
حذف ملفات مصدر Powerlevel10k. تم تنزيل هذه الملفات عند تثبيت Powerlevel10k. يعتمد أمر حذفها على طريقة التثبيت التي اخترتها. راجع تعليمات التثبيت إذا كنت بحاجة إلى تذكير.
تثبيت | أمر إلغاء التثبيت |
---|---|
يدوي | rm -rf ~/powerlevel10k |
يا بلدي زش | rm -rf -- ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k |
بريتو | غير متوفر |
زيم | zimfw uninstall |
مستضد | antigen purge romkatv/powerlevel10k |
ترياق | antidote purge romkatv/powerlevel10k |
Zplug | zplug clean |
زجين | zgen reset |
Zplugin | zplugin delete romkatv/powerlevel10k |
زينيت | zinit delete romkatv/powerlevel10k |
زي | zi delete romkatv/powerlevel10k |
انطلق | zsh -ic 'zap clean' |
البيرة المنزلية | brew uninstall powerlevel10k |
آرتش لينكس | yay -R --noconfirm zsh-theme-powerlevel10k-git |
جبال الألب لينكس | apk del zsh-theme-powerlevel10k |
أعد تشغيل Zsh. لا تستخدم source ~/.zshrc
.
حذف ملفات ذاكرة التخزين المؤقت Powerlevel10k.
rm -rf -- " ${XDG_CACHE_HOME :- $HOME / .cache} " /p10k- * (N) " ${XDG_CACHE_HOME :- $HOME / .cache} " /gitstatus
uname -sm | tr ' [A-Z] ' ' [a-z] '
target_uname
بمخرجات الأمر السابق: target_uname= " replace this with the output of the previous command "
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~ /powerlevel10k
GITSTATUS_CACHE_DIR= " $HOME " /powerlevel10k/gitstatus/usrbin ~ /powerlevel10k/gitstatus/install -f -s " ${target_uname % * } " -m " ${target_uname #* } "
~/powerlevel10k
من الجهاز المتصل بالإنترنت إلى الجهاز الذي لا يستطيع الوصول إلى الإنترنت.source ~/powerlevel10k/powerlevel10k.zsh-theme
إلى ~/.zshrc
على الجهاز دون الوصول إلى الإنترنت: echo ' source ~/powerlevel10k/powerlevel10k.zsh-theme ' >> ~/.zshrc
~/.zshrc
الموجود على الجهاز دون الوصول إلى الإنترنت بتعيين ZSH_THEME
، فقم بإزالة هذا السطر. sed -i.bak ' /^ZSH_THEME=/d ' ~ /.zshrc
للتحديث، قم بإزالة ~/powerlevel10k
على كلا الجهازين وكرر الخطوات من 1 إلى 3.
أفضل طريقة لطلب المساعدة والإبلاغ عن الأخطاء هي فتح مشكلة.
جيتر هو خيار آخر.
إذا فشل كل شيء آخر، أرسل بريدًا إلكترونيًا إلى [email protected].
إذا لزم الأمر، قم بتشفير اتصالاتك باستخدام مفتاح PGP هذا.
يحدد Powerlevel10k السرعة ولا شيء غير ذلك. يقوم بتعيين الخيارات ذات الصلة بالموجه والمعلمات PS1
و RPS1
.
يتم إنتاج كل شيء داخل المناطق المميزة في لقطة الشاشة بواسطة Powerlevel10k. لا يتحكم Powerlevel10k في محتوى الجهاز الطرفي أو الألوان خارج هذه المناطق.
Powerlevel10k لا يؤثر على:
ls
.git
PS1
و RPS1
.p10k
الوحيد. # Add powerlevel10k to the list of Oh My Zsh themes.
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM /themes/powerlevel10k
# Replace ZSH_THEME="powerlevel9k/powerlevel9k" with ZSH_THEME="powerlevel10k/powerlevel10k".
sed -i.bak ' s/powerlevel9k/powerlevel10k/g ' ~ /.zshrc
# Restart Zsh.
exec zsh
p10k configure
واختر نمط المطالبة المفضل لديك.متعلق ب:
نعم. راجع zsh-bench أو مقارنة مباشرة مع Powerlevel9k وSpaceship.
راجع المطالبة الفورية للتعرف على معلومات حول المطالبة الفورية. يشرح هذا القسم كيفية تمكينه وتكوينه ويسرد التحذيرات التي يجب أن تكون على دراية بها.
يمكن تمكين المطالبة الفورية إما من خلال p10k configure
أو عن طريق إضافة مقتطف التعليمات البرمجية التالي يدويًا أعلى ~/.zshrc
:
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r " ${XDG_CACHE_HOME :- $HOME / .cache} /p10k-instant-prompt- ${( % ) :-% n} .zsh " ]] ; then
source " ${XDG_CACHE_HOME :- $HOME / .cache} /p10k-instant-prompt- ${( % ) :-% n} .zsh "
fi
ومن المهم أن تقوم بنسخ السطور حرفيا. لا تستبدل source
بشيء آخر، ولا تتصل بـ zcompile
، ولا تعيد توجيه الإخراج، وما إلى ذلك.
عند تمكين المطالبة الفورية، طوال مدة تهيئة Zsh، تتم إعادة توجيه الإدخال القياسي إلى /dev/null
ويتم إعادة توجيه الإخراج القياسي الذي به خطأ قياسي إلى ملف مؤقت. بمجرد تهيئة Zsh بالكامل، تتم استعادة واصفات الملف القياسية ويتم طباعة محتوى الملف المؤقت.
عند استخدام الموجه الفوري، يجب عليك التحقق بعناية من أي إخراج يظهر عند بدء تشغيل Zsh لأنه قد يشير إلى أن التهيئة قد تم تغييرها، أو ربما حتى معطلة، بواسطة الموجه الفوري. يجب نقل رمز التهيئة الذي قد يتطلب إدخال وحدة التحكم، مثل طلب كلمة مرور حلقة المفاتيح أو تأكيد [y/n] ، فوق مقدمة الموجه الفوري في ~/.zshrc
. رمز التهيئة الذي يطبع فقط على وحدة التحكم ولكن لا تتم قراءته مطلقًا سيعمل بشكل صحيح مع المطالبة الفورية، على الرغم من أن المخرجات التي تحتوي عادةً على ألوان قد تظهر بدون لون. يمكنك إما تركه كما هو، أو إيقاف الإخراج، أو نقله فوق ديباجة المطالبة الفورية.
فيما يلي مثال على ~/.zshrc
الذي ينقطع عند تمكين المطالبة الفورية:
if [[ -r " ${XDG_CACHE_HOME :- $HOME / .cache} /p10k-instant-prompt- ${( % ) :-% n} .zsh " ]] ; then
source " ${XDG_CACHE_HOME :- $HOME / .cache} /p10k-instant-prompt- ${( % ) :-% n} .zsh "
fi
keychain id_rsa --agents ssh # asks for password
chatty-script # spams to stdout even when everything is fine
# ...
النسخة الثابتة:
keychain id_rsa --agents ssh # moved before instant prompt
# OK to perform console I/O before this point.
if [[ -r " ${XDG_CACHE_HOME :- $HOME / .cache} /p10k-instant-prompt- ${( % ) :-% n} .zsh " ]] ; then
source " ${XDG_CACHE_HOME :- $HOME / .cache} /p10k-instant-prompt- ${( % ) :-% n} .zsh "
fi
# From this point on, until zsh is fully initialized, console input won't work and
# console output may appear uncolored.
chatty-script > /dev/null # spam output suppressed
# ...
إذا لم يتم تعيين POWERLEVEL9K_INSTANT_PROMPT
أو تم تعيينه على verbose
، فسيقوم Powerlevel10k بطباعة تحذير عندما يكتشف إخراج وحدة التحكم أثناء التهيئة لجذب الانتباه إلى المشكلات المحتملة. يمكنك إسكات هذا التحذير (دون إيقاف إخراج وحدة التحكم) باستخدام POWERLEVEL9K_INSTANT_PROMPT=quiet
. يوصى بهذا إذا تمت طباعة بعض تعليمات برمجية التهيئة في ~/.zshrc
على وحدة التحكم وكان من غير الممكن نقلها فوق مقدمة الموجه الفوري أو منع إخراجها. يمكنك تعطيل المطالبة الفورية تمامًا باستخدام POWERLEVEL9K_INSTANT_PROMPT=off
. افعل ذلك إذا أدت المطالبة الفورية إلى تعطيل تهيئة Zsh ولا تعرف كيفية إصلاحها.
يمكن تغيير قيمة POWERLEVEL9K_INSTANT_PROMPT
عن طريق تشغيل p10k configure
وتحديد الخيار المناسب على شاشة المطالبة الفورية . وبدلاً من ذلك، يمكنك البحث عن POWERLEVEL9K_INSTANT_PROMPT
في ~/.p10k.zsh
الموجود وتغيير قيمته هناك.
ملاحظة : المطالبة الفورية تتطلب Zsh >= 5.4. لا بأس بتمكينه حتى عند استخدام إصدار أقدم من Zsh ولكنه لن يفعل أي شيء.
التعليمات :
إذا قمت بتمكين المطالبة الفورية، فيجب أن يكون لديك هذه السطور في الجزء العلوي من ~/.zshrc
:
if [[ -r " ${XDG_CACHE_HOME :- $HOME / .cache} /p10k-instant-prompt- ${( % ) :-% n} .zsh " ]] ; then
source " ${XDG_CACHE_HOME :- $HOME / .cache} /p10k-instant-prompt- ${( % ) :-% n} .zsh "
fi
لتهيئة direnv تحتاج إلى إضافة سطر واحد فوق تلك الكتلة وسطر واحد أسفلها.
(( ${+commands[direnv]} )) && emulate zsh -c " $( direnv export zsh ) "
if [[ -r " ${XDG_CACHE_HOME :- $HOME / .cache} /p10k-instant-prompt- ${( % ) :-% n} .zsh " ]] ; then
source " ${XDG_CACHE_HOME :- $HOME / .cache} /p10k-instant-prompt- ${( % ) :-% n} .zsh "
fi
(( ${+commands[direnv]} )) && emulate zsh -c " $( direnv hook zsh ) "
ذات صلة : كيف يمكنني تصدير GPG_TTY عند استخدام المطالبة الفورية؟
يمكنك تصدير GPG_TTY
مثل هذا في أي مكان في ~/.zshrc
:
export GPG_TTY= $TTY
يعمل هذا سواء كنت تستخدم المطالبة الفورية أم لا. إنه يعمل حتى إذا كنت لا تستخدم powerlevel10k. كمكافأة إضافية، فهو أسرع بكثير من export GPG_TTY=$(tty)
.
ذات صلة : كيف يمكنني تهيئة direnv عند استخدام المطالبة الفورية؟
عند استخدام النمط Lean أو Classic أو Rainbow، قد تبدو حالة Git كما يلي:
feature:master wip ⇣42⇡42 ⇠42⇢42 *42 merge ~42 +42 !42 ?42
رمز | معنى | مصدر |
---|---|---|
feature | الفرع الحالي تم استبداله بـ #tag أو @commit إذا لم يكن على فرع | git status --ignore-submodules=dirty |
master | فرع التتبع عن بعد؛ تظهر فقط إذا كانت مختلفة عن الفرع المحلي | git rev-parse --abbrev-ref --symbolic-full-name @{upstream} |
wip | يحتوي ملخص الالتزام الأخير على "wip" أو "WIP" | git show --pretty=%s --no-patch HEAD |
= | محدثًا مع جهاز التحكم عن بعد (لا للأمام ولا للخلف) | git rev-list --count HEAD...@{upstream} |
⇣42 | هذا كثير يرتكب وراء جهاز التحكم عن بعد | git rev-list --right-only --count HEAD...@{upstream} |
⇡42 | يرتكب هذا الكثير قبل جهاز التحكم عن بعد | git rev-list --left-only --count HEAD...@{upstream} |
⇠42 | يرتكب هذا الكثير خلف جهاز التحكم عن بعد | git rev-list --right-only --count HEAD...@{push} |
⇢42 | يرتكب هذا العدد قبل جهاز التحكم عن بعد | git rev-list --left-only --count HEAD...@{push} |
*42 | هذا الكثير من المخابئ | git stash list |
merge | حالة المستودع | git status --ignore-submodules=dirty |
~42 | هذا العديد من صراعات الدمج | git status --ignore-submodules=dirty |
+42 | هذه التغييرات العديدة التي تم تنظيمها | git status --ignore-submodules=dirty |
!42 | هذا العديد من التغييرات غير المرحلية | git status --ignore-submodules=dirty |
?42 | هذا العديد من الملفات التي لم يتم تعقبها | git status --ignore-submodules=dirty |
─ | عدد الملفات المرحلية أو غير المرحلية أو التي لم يتم تعقبها غير معروف | echo $POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY أو git config --get bash.showDirtyState |
ذات صلة : كيف يمكنني تغيير تنسيق حالة Git؟
لتغيير تنسيق حالة Git، افتح ~/.p10k.zsh
، وابحث عن my_git_formatter
وقم بتحرير كود المصدر الخاص به.
ذات صلة : ماذا تعني الرموز المختلفة في حالة Git؟
$HOME/.git
في موجه؟ عند استخدام نمط Lean أو Classic أو Rainbow ، يحتوي ~/.p10k.zsh
على المعلمة التالية:
# Don't show Git status in prompt for repositories whose workdir matches this pattern.
# For example, if set to '~', the Git repository at $HOME/.git will be ignored.
# Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'.
typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN= ' ~ '
لرؤية حالة git لـ $HOME/.git
في مطالبة ، افتح ~/.p10k.zsh
وإزالة POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN
.
TL ؛ DR: عندما يتم وضع حالة GIT في المطالبة ، فهذا يعني أن PowerLevel10K تعمل حاليًا على حساب حالة GIT الحديثة في الخلفية. سيتم تحديث المطالبة تلقائيًا عند اكتمال هذا الحساب.
عندما يكون الدليل الحالي الخاص بك ضمن مستودع GIT ، يحسب PowerLevel10K حالة GIT محدثة بعد كل أمر. إذا كان المستودع كبيرًا ، أو كان الجهاز بطيئًا ، فقد يستغرق هذا الحساب الكثير من الوقت. إذا استغرق الأمر أطول من 10 مللي ثانية (قابلة للتكوين عبر POWERLEVEL9K_VCS_MAX_SYNC_LATENCY_SECONDS
) ، يعرض PowerLevel10k آخر حالة git المعروفة باللون الرمادي ويستمر في حساب حالة GIT الحديثة في الخلفية. عند اكتمال الحساب ، يقوم PowerLevel10k بتحديث موجه بمعلومات جديدة ، هذه المرة مع حالة GIT الملونة.
عند استخدام نمط قوس قزح ، يتم عرض حالة GIT كأسود على اللون الرمادي بينما لا يزال يتم حسابه. اعتمادًا على لوحة الألوان الطرفية ، قد يكون من الصعب قراءتها. في هذه الحالة ، قد ترغب في تغيير لون الخلفية إلى شيء أخف لمزيد من التباين. للقيام بذلك ، افتح ~/.p10k.zsh
، ابحث عن POWERLEVEL9K_VCS_LOADING_BACKGROUND
، وقم بإلغاء تحديده إذا تم التعليق عليه ، وقم بتغيير القيمة.
typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=244
اكتب source ~/.p10k.zsh
لتطبيق التغييرات على جلسة ZSH الحالية.
ذات الصلة : كيف يمكنني تغيير الألوان السريعة؟
عند استخدام نمط Lean أو Classic أو Rainbow ، يعرض المطالبة username@hostname
عند تسجيل الدخول كجذر أو عبر SSH. هناك قيمة ضئيلة في إظهار username
أو hostname
عندما يتم تسجيل الدخول إلى الجهاز المحلي كمستخدم عادي. لذا فإن عدم وجود username@hostname
في مطالبك هو مؤشر على أنك تعمل محليًا وأنك لست جذرًا. يمكنك تغييره ، ولكن.
افتح ~/.p10k.zsh
. بالقرب من الجزء العلوي ، يمكنك رؤية أهم المعلمات التي تحدد المقاطع المعروضة في موجه. يتم سرد جميع الأجزاء المفيدة المفيدة بشكل عام. تم تمكين بعضها ، والبعض الآخر يعلق. واحد منهم يثير اهتمامك.
typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
...
context # user@hostname
...
)
ابحث عن context
للعثور على القسم في التكوين الذي يسرد المعلمات الخاصة بالجزء المطالب. يجب أن ترى الأسطر التالية:
# Don't show context unless running with privileges or in SSH.
# Tip: Remove the next line to always show context.
typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION=
إذا اتبعت النصيحة وأزلت (أو تعليقها) السطر الأخير ، فسترى دائمًا username@hostname
في مطالبة. يمكنك تغيير التنسيق إلى username
فقط ، أو تغيير اللون ، عن طريق ضبط قيم المعلمات القريبة. هناك الكثير من التعليقات لمساعدتك في التنقل.
يمكنك أيضًا نقل context
إلى موضع مختلف في POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS
أو حتى إلى POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
.
لا يمكن تكوين مقاطع المطالبات ليتم عرضها إلا عندما يستدعي الأمر الحالي الذي تكتبه أداة ذات صلة.
# Show prompt segment "kubecontext" only when the command you are typing invokes
# invokes kubectl, helm, or kubens.
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND= ' kubectl|helm|kubens '
قد تحتوي التكوينات التي تم إنشاؤها بواسطة p10k configure
على معلمات من هذا النوع. للتخصيص عند عرض شرائح موجات مختلفة ، افتح ~/.p10k.zsh
، والبحث عن SHOW_ON_COMMAND
إما إزالة هذه المعلمات أو تغيير قيمها.
يمكنك أيضًا تحديد وظيفة في ~/.zshrc
لتبديل عرض مقطع موجه بين دائمًا وعلى الأمر . هذا يشبه kubeon
/ kubeoff
من Kube-PS1.
function kube-toggle() {
if (( ${+POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND} )) ; then
unset POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND
else
POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND= ' kubectl|helm|kubens '
fi
p10k reload
if zle ; then
zle push-input
zle accept-line
fi
}
استدعاء هذه الوظيفة عن طريق كتابة kube-toggle
. يمكنك أيضًا ربطه بمفتاح بإضافة سطرين آخرين إلى ~/.zshrc
:
zle -N kube-toggle
bindkey ' ^] ' kube-toggle # ctrl-] to toggle kubecontext in powerlevel10k prompt
يمكنك إما تغيير لوحة الألوان المستخدمة من قبل المحطة أو ضبط الألوان من خلال معلمات تكوين PowerLevel10K.
تعتمد كيف تقوم بالضبط بتغيير لوحة الألوان الطرفية (المعروف أيضًا باسم نظام الألوان ، أو السمة) على نوع المحطة التي تستخدمها. انظر حولك في إعدادات/تفضيلات Terminal أو استشر الوثائق.
عندما تقوم بتغيير لوحة الألوان الطرفية ، فإنها تؤثر عادةً على أول 16 ألوانًا أول ، مرقمة من 0 إلى 15. من أجل رؤية أي تأثير على مطالبة PowerLevel10K ، تحتاج إلى استخدام نمط موجه يستخدم هذه الألوان ذات الأرقام المنخفضة. اكتب p10k configure
وحدد قوس قزح ، Lean → 8 ألوان أو نقي → الأصل . تستخدم الأنماط الأخرى ألوانًا عالية الأرقام ، بحيث تبدو كما هي في أي لوحة ألوان طرفية.
افتح ~/.p10k.zsh
، ابحث عن "اللون" ، "المقدمة" و "الخلفية" وتغيير قيم المعلمات المناسبة. على سبيل المثال ، إليك كيف يمكنك تعيين الجزء المقدمة من time
إلى اللون الأحمر الساطع:
typeset -g POWERLEVEL9K_TIME_FOREGROUND=160
يتم تحديد الألوان باستخدام أرقام من 0 إلى 255. تبدو الألوان من 0 إلى 15 بشكل مختلف في المحطات المختلفة. تدعم العديد من المحطات أيضًا تخصيص هذه الألوان من خلال لوحات الألوان (المعروفة أيضًا باسم أنظمة الألوان ، أو السمات). الألوان من 16 إلى 255 تبدو دائما متشابهة.
اكتب source ~/.p10k.zsh
لتطبيق التغييرات على جلسة ZSH الحالية.
لمعرفة كيف تبدو الألوان المرقمة المختلفة في المحطة الخاصة بك ، قم بتشغيل الأمر التالي:
for i in {0..255} ; do print -Pn " %K{ $i } %k%F{ $i } ${(l : 3 :: 0 : )i} %f " ${ ${(M)$((i % 6)) :# 3} : + $' n ' } ; done
إذا كانت المحطة الخاصة بك تدعم truecolor ، فيمكنك استخدام ألوان 24 بت بتنسيق #RRGGBB
بالإضافة إلى الألوان المرقمة.
typeset -g POWERLEVEL9K_TIME_FOREGROUND= ' #FF0000 '
متعلق ب:
بشكل افتراضي ، قد تحل طرف VSCODE محل اللون الأمامي الذي تختاره بشكل تعسفي بلون مختلف. يمكن إيقاف تشغيل هذا السلوك في إعدادات VSCode.
يستخدم PowerLevel10k GitStatus كواجهة خلفية وراء موجه vcs
؛ Gitstatus يفرز gitstatusd
و zsh
. انظر Gitstatus للحصول على التفاصيل. قد تفرخ PowerLevel10k أيضًا zsh
لإجراء الحساب دون حظر موجه. لتجنب خطر الأمان ، لا يتم مشاركة عمليات الخلفية هذه بواسطة قذائف تفاعلية مختلفة. تنتهي تلقائيًا عندما تنتهي عملية zsh
الأصل أو تقوم بتشغيل exec(3)
.
لا ، PowerLevel10k سريع دائمًا ، مع أي تكوين ترميه. إذا كان لديك زمن انتقال موجه ملحوظ عند استخدام PowerLevel10k ، فيرجى فتح مشكلة.
نعم. انظر zsh-bench.
تم تشويه Powerlevel10k من Powerlevel9k في مارس 2019 بعد مناقشة استمرت أسبوعًا في Powerlevel9k#1170. كان PowerLevel9K مشروعًا ناضجًا بالفعل مع قاعدة مستخدم كبيرة ودورة إصدار تقاس في أشهر. تم نسخ PowerLevel10k للتكرار على تحسينات الأداء والميزات الجديدة بوتيرة أعلى بكثير.
Powerlevel9K و Powerlevel10k هي مشاريع مستقلة. عند استخدام واحدة ، يجب ألا تثبيت الآخر. يجب تقديم المشكلات ضد المشروع الذي تستخدمه بالفعل. لا يوجد أفراد لديهم حقوق الالتزام في كلا المستودعات. يتم نقل جميع إصلاحات الأخطاء والميزات الجديدة الملتزمة بمستودع PowerLevel9K إلى PowerLevel10k.
بمرور الوقت ، تمت إعادة كتابة جميع التعليمات البرمجية في PowerLevel10k تقريبًا. لا يوجد حاليًا أي تداخل ذي معنى بين تطبيقات PowerLevel9K و PowerLevel10k.
تلتزم PowerLevel10k بالحفاظ على التوافق المتخلف مع جميع التكوينات إلى أجل غير مسمى. يغطي هذا الالتزام جميع معلمات التكوين المعترف بها بواسطة PowerLevel9K (انظر توافق PowerLevel9K) والمعلمات الإضافية التي يفهمها فقط PowerLevel10k. تبدأ أسماء جميع المعلمات في PowerLevel10k مع POWERLEVEL9K_
للاتساق.
بالكاد. هناك بعض الاختلافات.
git
VCS فقط في PowerLevel10k. إذا كنت بحاجة إلى svn
و hg
، فأضفها إلى POWERLEVEL9K_VCS_BACKENDS
. لم يتم تحسين هذه الصياغة الخلفية بعد في PowerLevel10k ، لذلك فإن تمكينها سيجعل المطالبة بطيئة للغاية .POWERLEVEL9K_VCS_SHOW_SUBMODULE_DIRTY=true
.POWERLEVEL9K_MODE
قبل الحصول على السمة. يتم تجاهل هذه المعلمة بواسطة Powerlevel9K ولكن تم تكريمها بواسطة PowerLevel10k. إذا كنت تريد أن تبحث مطالبك في PowerLevel10k كما هو الحال في PowerLevel9K ، فقم بإزالة POWERLEVEL9K_MODE
.ZLE_RPROMPT_INDENT
. نتيجة لذلك ، يمكن أن يكون للمطالبة الصحيحة في PowerLevel10K مساحة إضافية في النهاية مقارنة بـ Powerlevel9K. قم بتعيين ZLE_RPROMPT_INDENT=0
إذا كنت لا تريد هذه المساحة. مزيد من التفاصيل في استكشاف الأخطاء وإصلاحها.POWERLEVEL9K_LEGACY_ICON_SPACING=true
للحصول على نفس التباعد كما هو الحال في PowerLevel9k. مزيد من التفاصيل في استكشاف الأخطاء وإصلاحها.إذا لاحظت أي تغييرات أخرى في المظهر السريع عند التبديل من PowerLevel9k إلى PowerLevel10k ، فيرجى فتح مشكلة.
هناك العديد من الآراء حول ما الذي يشكل أفضل مطالبة مثل وجود أشخاص. يأتي في الغالب إلى التفضيل الشخصي. ومع ذلك ، هناك بعض الآثار الخفية لخيارات مختلفة.
النمط النقي هو تكرار دقيق لموضوع ZSH النقي. إنه موجود لتخفيف الترحيل لمستخدمي هذا الموضوع. ما لم تكن أحدهم ، اختر النمط العجاف فوق النقي.
إذا كنت ترغب في حصر الألوان السريعة على لوحة الألوان الطرفية المحددة (على سبيل المثال ، Dark Solarized ) ، استخدم قوس قزح ، Lean → 8 ألوان أو نقي → الأصلي . تستخدم الأنماط الأخرى ألوانًا ثابتة وبالتالي تبدو متشابهة في أي لوحة ألوان طرفية.
جميع الأنماط باستثناء Pure لها خيار لاستخدام ASCII Charset. ستبدو المطالبة أقل جميلة ولكنها ستقدم بشكل صحيح مع جميع الخطوط وفي جميع الأماكن.
إذا قمت بتمكين موجه عابر ، فاستفد من موجه ثنائي الخط. ستحصل على الاستفادة من مساحة إضافية لكتابة الأوامر دون العيب المعتاد لكثافة التمرير المخفضة. من الجيد أيضًا وجود جميع الأوامر من نفس الإزاحة.
وبالمثل ، إذا قمت بتمكين موجه عابر ، فإن موجه متناثر (مع خط فارغ قبل موجه) هو اختيار رائع.
إذا كنت تستخدم VI keymap ، فاختر موجه مع prompt_char
فيه (يظهر كأخضر ❯
في المعالج). يتغير هذا الرمز اعتمادًا على وضع السادس: ❯
، ❮
، V
، ▶
لإدراج ، وضع ، مرئي واستبدال الوضع على التوالي. عندما يفشل الأمر ، يتحول الرمز إلى اللون الأحمر. النمط العجاف دائما لديه prompt_char
في ذلك. قوس قزح والأنماط الكلاسيكية لديها فقط في التكوين المكون من سطر دون إطار يسار.
إذا كنت تقدر مساحة أفقية أو تفضل جماليات الحد الأدنى:
ملاحظة : يمكنك تشغيل معالج التكوين عدة مرات كما تريد. اكتب p10k configure
لتجربة نمط موجه جديد.
استخدم هذا التكوين.
يمكنك إما تنزيله ، حفظ باسم ~/.p10k.zsh
و source ~/.p10k.zsh
من ~/.zshrc
، أو المصدر p10k-robbyrussell.zsh
مباشرة من مستودع powerlevel10k
المستنسخ.
لا. عند الضغط على Enter ويبدأ الأمر الذي كتبته في التشغيل ، فإن حالة الخطأ الخاصة بها غير معروفة بعد ، لذلك لا يمكن عرضها في موجه. عند اكتمال الأمر ، يتم معرفة حالة الخطأ ولكن لم يعد من الممكن تحديث موجه لهذا الأمر. هذا هو السبب في أن حالة الخطأ لكل أمر تنعكس في المطالبة التالية .
للحصول على التفاصيل ، راجع هذا المنشور على /r /zsh.
ZSH 5.3 أو الأحدث يجب أن تعمل. تتطلب بدء التشغيل السريع ZSH> = 5.4.
تم تسجيل جميع لقطات الشاشة والصور المتحركة في محطة جنوم مع الخط الموصى به ولوحة ألوان Dark Tango مع لون خلفية مخصصة ( #171A1B
بدلاً من #2E3436
- مرتين مثل الظلام).
تم تقديم تسليط الضوء على بناء الجملة ، حيث تم توفيره من قِبل Zsh-Syntax Highlighting.
الخط الموصى به هو نتاج العديد من الأفراد. أصله هو Bitstream Vera Sans Mono ، الذي أنجبت Menlo ، والتي بدورها قد ولدت Meslo . أخيرًا ، تمت إضافة رسومات إضافية إلى Meslo مع البرامج النصية المتشابكة من خطوط الطالب الذي يذاكر كثيرا. يتم إصدار الخط النهائي بموجب شروط ترخيص Apache.
يمكن إعادة إنشاء خط meslolgs nf باستخدام الأمر التالي (يتطلب git
و docker
):
git clone --depth=1 https://github.com/romkatv/nerd-fonts.git
cd nerd-fonts
./build ' Meslo/S/* '
إذا سارت الأمور على ما يرام ، ستظهر أربعة ملفات ttf
في ./out
.
ليس من السهل أو الموصى به حاليًا حزم وتوزيع PowerLevel10k. لا توجد إرشادات يمكنك متابعتها والتي تتيح لك تحديث الحزمة الخاصة بك بسهولة عند إصدار إصدارات جديدة من PowerLevel10k. قد يتغير هذا في المستقبل ولكن ليس قريبًا.
[oh-my-zsh] theme 'powerlevel10k/powerlevel10k' not found
source ~/.zshrc
[oh-my-zsh] theme 'powerlevel10k/powerlevel10k' not found
عند فتح محطة ، أو بدء ZSH يدويًا ، قد تواجه رسالة الخطأ هذه:
[oh-my-zsh] theme 'powerlevel10k/powerlevel10k' not found
typeset -p P9K_VERSION
للتحقق مما إذا كان قد تم تحميل PowerLevel10K.typeset -p P9K_VERSION
وطباعة شيء يشبه typeset P9K_VERSION=1.19.14
(يمكن أن يكون الإصدار مختلفًا) ، قم بإزالة السطر التالي من ~/.zshrc
: ZSH_THEME= " powerlevel10k/powerlevel10k "
typeset -p P9K_VERSION
مع typeset: no such variable: P9K_VERSION
، قم بتشغيل الأمر التالي: git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM :- $HOME / .oh-my-zsh / custom} /themes/powerlevel10k
exec zsh
. إذا كان الأمر يشبه العادية ?
، هذا طبيعي. وهذا يعني أن لديك ملفات غير مرغوب فيها في مستودع GIT الحالي. اكتب git status
لرؤية هذه الملفات. يمكنك تغيير هذا الرمز أو تعطيل عرض الملفات غير المقيدة تمامًا. ابحث عن untracked files
في ~/.p10k.zsh
.
الأسئلة الشائعة : ماذا تعني الرموز المختلفة في حالة git؟
يمكنك أيضًا الحصول على علامة استفهام غريبة في مطالبك إذا كان خط المحطة الخاصة بك يفتقد بعض الرسوم البخارية. انظر الرموز أو الحروف الرسومية أو رموز Powerline التي لا تقدمها.
أعد تشغيل المحطة الخاصة بك ، وتثبيت الخط الموصى به وقم بتشغيل p10k configure
.
هناك ثلاثة عيوب على لقطة الشاشة. من اليسار إلى اليمين:
لا تملك موضوعات ZSH التحكم في المحتوى الطرفي. كل ما تراه على الشاشة مصنوع من شخصيات Monospace. يتم تصنيع شريحة موجه Powerline White من النص على خلفية بيضاء متبوعة بـ U+E0B0 (مثلث الطبقة اليمنى).
إذا كانت موجه PowerLevel10k يحتوي على عيوب حول رموز Powerline ، فسترى تمامًا نفس العيوب مع جميع سمات Powerline (Agnoster ، Powerlevel9k ، Powerline ، إلخ)
هناك العديد من الأشياء التي يمكنك محاولة التعامل مع هذه العيوب:
الحل الأكثر راديكالية هو التبديل إلى النمط المطري دون خلفية. اكتب p10k configure
وحدد Lean . هذا النمط لديه نظرة خفيفة الوزن الحديثة. كمكافأة ، لا تعاني من تقديم عيوب تصيب مطالبة على غرار Powerline.
اكتب echo 'u276F'
. إذا حصلت على خطأ في قول "ZSH: حرف ليس في النطاق" ، فإن لغةك لا تدعم UTF-8. تحتاج إلى إصلاحه. إذا كنت تعمل على ZSH فوق SSH ، انظر هذا. إذا كنت تقوم بتشغيل ZSH محليًا ، فإن Google "حدد موقع UTF-8 في نظام التشغيل الخاص بك ".
اكتب echo 'u276F'
. إذا حصلت على خطأ في قول "ZSH: حرف ليس في النطاق" ، راجع القسم السابق.
إذا طبع الأمر echo
❯
ولكن لا يزال المؤشر في المكان الخطأ ، فقم بتثبيت الخط الموصى به وتشغيل p10k configure
.
إذا لم يساعد هذا ، فأضف unset ZLE_RPROMPT_INDENT
في الجزء السفلي من ~/.zshrc
.
ما زلت تواجه مشاكل؟ قم بتشغيل الأمر التالي لتشخيص المشكلة:
() {
emulate -L zsh
setopt err_return no_unset
local text
print -rl -- ' Select a part of your prompt from the terminal window and paste it below. ' ' '
read -r ' ?Prompt: ' text
local -i len= ${(m) # text}
local frame= " +- ${(pl. $len ..-.) :- } -+ "
print -lr -- $frame " | $text | " $frame
}
+------------------------------+
| romka@adam ✓ ~/powerlevel10k |
+------------------------------+
إذا تم محاذاة إخراج الأمر لكل جزء من المطالبة (اليسار واليمين) ، فهذا يشير إلى وجود خطأ في السمة أو التكوين الخاص بك. استخدم هذا الأمر لتشخيصه:
print -rl -- ${(eq+)PROMPT} ${(eq+)RPROMPT}
ابحث عن %{...%}
وتهرب Backslash في الإخراج. إذا كان هناك أي ، فهي الجناة المحتملون. افتح مشكلة إذا تعثرت.
+-----------------------------+
| romka@adam ✓ ~/powerlevel10k |
+-----------------------------+
عادة ما يحدث هذا بسبب وجود خطأ طرفي أو تكوين خاطئ يجعله طبعًا أحرف عرض غامضة على شكل عرض مزدوج بدلاً من عرض واحد. على سبيل المثال ، هذه القضية.
+------------------------------+
| romka@adam ✓~/powerlevel10k |
+------------------------------+
لاحظ أن هذه المطالبة تختلف عن الأصل لأنه يفتقد مساحة بعد علامة الاختيار.
هذا يمكن أن يكون ناتجا عن خطأ منخفض المستوى في ماكوس. انظر هذه القضية.
يمكن أن يحدث هذا أيضًا إذا كان المطالبة تحتوي على الرسوم الحرارية المعينة على أنها "واسعة" في معيار Unicode وتعرضها المحطة الخاصة بك بشكل غير صحيح على أنها غير واسعة. تشمل المحطات التي تعاني من هذا القيد konsole و hyper ومحطة VSCode المتكاملة. يتمثل الحل في استخدام محطة مختلفة أو إزالة جميع الحروف الرسومية العريضة من المطالبة.
+--------------------------------+
| romka@adam ✓ ~/powerlevel10k |
+--------------------------------+
هذا يمكن أن يكون ناتجا عن موقع خطاب خاطئ. انظر هذه القضية.
انظر المؤشر في المكان الخطأ.
انظر المؤشر في المكان الخطأ.
عند بدء تشغيل PowerLevel10K ، يقوم تلقائيًا بتشغيل p10k configure
إذا لم يتم تحديد معلمات POWERLEVEL9K_*
. استنادًا إلى اختيارات أسلوبك المطالبة ، يقوم معالج التكوين بإنشاء ~/.p10k.zsh
مع مجموعة من المعلمات POWERLEVEL9K_*
في ذلك ويضيف سطرًا إلى ~/.zshrc
لمصدر هذا الملف. في المرة التالية التي تبدأ فيها ZSH ، يجب ألا يعمل معالج التكوين تلقائيًا. إذا كان الأمر كذلك ، فهذا يعني أن تقييم ~/.zshrc
ينتهي قبل الأوان قبل أن يصل إلى الخط الذي يصدر مصادر ~/.p10k.zsh
. يحدث هذا في أغلب الأحيان بسبب أخطاء بناء الجملة في ~/.zshrc
. يتم إخفاء هذه الأخطاء بواسطة شاشة معالج التكوين ، لذلك لا تلاحظها. عند الخروج من معالج التكوين ، ابحث عن رسائل الخطأ. يمكنك أيضًا استخدام POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true zsh
لبدء ZSH دون تشغيل معالج التكوين تلقائيًا. بمجرد أن تتمكن من رؤية الأخطاء ، إصلاح ~/.zshrc
للتخلص منها.
إذا كان إصدار ZSH أقل من 5.7.1 أو متغير بيئة COLORTERM
لا يكون 24bit
أو truecolor
، فلن يوفر معالج التكوين نمطًا نقيًا مع نظام ألوان snazzy. إصلاح : تثبيت ZSH> = 5.7.1 واستخدم محطة مع دعم truecolor. تحقق من print -P '%F{#ff0000}red%f'
.
إذا تمكنت المحطة من عرض أقل من 256 لونًا ، فإن معالج التكوين يسبق نمطًا هزيلًا مع 8 ألوان. جميع الأنماط الأخرى تتطلب 256 لونًا على الأقل. إصلاح : استخدم محطة مع 256 دعم الألوان وتأكد من ضبط متغير البيئة TERM
بشكل صحيح. تحقق مع print $terminfo[colors]
.
إذا لم يكن هناك لغة UTF-8 على النظام ، فلن يوفر معالج التكوين أنماطًا موجهة تستخدم أحرف Unicode. إصلاح : تثبيت لغة UTF-8. تحقق مع locale -a
.
هناك حالة أخرى قد لا يقدم فيها معالج التكوين أنماط مطالبة Unicode هي عندما يتم تعطيل خيار قذيفة MULTIBYTE
. إصلاح : قم بتمكين خيار MULTIBYTE
، أو بالأحرى لا تقوم بتعطيله (يتم تمكين هذا الخيار في ZSH افتراضيًا). تحقق من print -r -- ${options[MULTIBYTE]}
.
عندما يتم تمكين MULTIBYTE
ويتوفر لغة UTF-8 ، فإن الأسئلة القليلة الأولى التي طرحها معالج التكوين معالج التقييم للخط الطرفي. إذا كانت إجاباتك تشير إلى أن بعض الرسوم الحربية لا تقدم بشكل صحيح ، فلن يوفر معالج التكوين أنماطًا موجبات تستخدمها. إصلاح : أعد تشغيل المحطة الخاصة بك وتثبيت الخط الموصى به. تحقق من خلال تشغيل p10k configure
والتحقق من أن جميع الحروف الرسومية تقدم بشكل صحيح.
بمجرد تنزيل الخط الموصى به ، يمكنك تثبيته تمامًا مثل أي خط آخر. Google "كيفية تثبيت الخطوط على نظام التشغيل الخاص بك ".
TL ؛ DR: إضافة ZLE_RPROMPT_INDENT=0
و POWERLEVEL9K_LEGACY_ICON_SPACING=true
إلى ~/.zshrc
للحصول على نفس التباعد المطري كما في powerlevel9k.
عند استخدام PowerLevel10K مع تكوين PowerLevel9K ، قد تحصل على مسافات إضافية في موجه هنا وهناك. هذه تأتي في نكهات.
tl ؛ Dr: إضافة ZLE_RPROMPT_INDENT=0
إلى ~/.zshrc
للتخلص من تلك المساحة.
من وثائق ZSH:
ZLE_RPROMPT_INDENT <S>
إذا تم تعيينها ، فاستخدم لإعطاء المسافة البادئة بين الجانب الأيمن من المطالبة اليمنى في محرر الخط كما هو موضح بواسطة
RPS1
أوRPROMPT
والجانب الأيمن من الشاشة. إذا لم يتم تعيينه ، يتم استخدام القيمة1
.عادةً ما يتم استخدام هذا لضبط القيمة على
0
بحيث تظهر المطالبة بالتدفق مع الجانب الأيمن من الشاشة.
PowerLevel10k يحترم هذه المعلمة. إذا قمت بتعيين ZLE_RPROMPT_INDENT=1
(أو اتركتها غير مستقرة ، وهو نفس الشيء مثل تعيينه على 1
) ، ستحصل على مساحة فارغة على يمين المطالبة اليمنى. إذا قمت بتعيين ZLE_RPROMPT_INDENT=0
، فسيذهب موجه إلى حافة المحطة. هذه هي الطريقة التي تعمل بها في كل موضوع باستثناء PowerLevel9K.
Powerlevel9k إصدار: Powerlevel9k#1292. تم إصلاحه في فرع تطوير Powerlevel9K ، لكن الإصلاح لم يصل إلى master
.
أضف ZLE_RPROMPT_INDENT=0
إلى ~/.zshrc
للحصول على نفس التباعد على الحافة اليمنى للمطالبة كما هو الحال في powerlevel9k.
ملاحظة: تحتوي عدة إصدارات من ZSH على الأخطاء التي يتم تشغيلها عند تعيين ZLE_RPROMPT_INDENT=0
. يمكن لـ PowerLevel10k العمل حول هذه الأخطاء عند استخدام نمط Powerline Protect. إذا لاحظت قطع أثرية مرئية في موضع المؤشر المطبخ ، أو الموقف الخاطئ ، فحاول إزالة ZLE_RPROMPT_INDENT
من ~/.zshrc
.
TL ؛ DR: إضافة POWERLEVEL9K_LEGACY_ICON_SPACING=true
إلى ~/.zshrc
للحصول على نفس التباعد حول الرموز كما في powerlevel9k.
التباعد حول الرموز في powerlevel9k غير متناسقة.
هذا التناقض هو مصدر مستمر للإزعاج ، لذلك تم إصلاحه في PowerLevel10k. يمكنك إضافة POWERLEVEL9K_LEGACY_ICON_SPACING=true
to ~/.zshrc
للحصول على نفس التباعد حول الرموز كما في powerlevel9k.
ملاحظة: ليس من الجيد تحديد POWERLEVEL9K_LEGACY_ICON_SPACING
عند استخدام p10k configure
.
source ~/.zshrc
من الجيد دائمًا تشغيل source ~/.zshrc
، سواء كنت تستخدم PowerLevel10K أم لا. قد ينتج عن هذا الأمر أخطاء عشوائية ، ورمز سوء التصرف والتباطؤ التدريجي لـ ZSH.
إذا قمت بإجراء تغييرات على ~/.zshrc
أو إلى الملفات التي يتم الحصول عليها من ذلك ، أعد تشغيل ZSH لتطبيقها. الطريقة الأكثر موثوقية للقيام بذلك هي كتابة exit
ثم بدء جلسة ZSH جديدة. يمكنك أيضًا استخدام exec zsh
. على الرغم من أنه ليس مكافئًا تمامًا لإكمال إعادة تشغيل ZSH ، إلا أن هذا الأمر أكثر موثوقية من source ~/.zshrc
.
انظر أشياء غريبة تحدث بعد كتابة source ~/.zshrc
.
إذا لم تنجح تعليمات التثبيت من أجلك ، فحاول تعطيل موضوعك الحالي (بحيث ينتهي بك الأمر بدون موضوع) ثم تثبيت PowerLevel10K يدويًا.
~/.zshrc
وأزل الخط الذي يحدد ZSH_THEME
. قد يبدو الأمر هكذا: ZSH_THEME="powerlevel9k/powerlevel9k"
.~/.zshrc
وإزالة أمر zplug
الذي يشير إلى موضوعك الحالي. على سبيل المثال ، إذا كنت تستخدم حاليًا PowerLevel9K ، فابحث عن zplug bhilburn/powerlevel9k, use:powerlevel9k.zsh-theme
.~/.zpreztorc
ووضع zstyle :prezto:module:prompt theme off
. قم بإزالة أي أمر آخر يعين theme
مثل zstyle :prezto:module:prompt theme powerlevel9k
.~/.zshrc
وأزل الخط الذي يضع antigen theme
. قد يبدو هذا: antigen theme powerlevel9k/powerlevel9k
.git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~ /powerlevel10k
echo ' source ~/powerlevel10k/powerlevel10k.zsh-theme ' >> ~/.zshrc
لن تجعل طريقة التثبيت هذه أي شيء أبطأ أو دون المستوى الفرعي.
في نمط قوس قزح ، يتم عرض دليل العمل الحالي بنص أبيض مشرق على الخلفية الزرقاء. يكون اللون الأبيض ثابتًا ويبدو دائمًا على حاله ، ولكن يتم تعريف ظهور "الأزرق" بواسطة لوحة الألوان الطرفية. إذا كان خفيفًا جدًا ، فقد يكون من الصعب رؤية نص أبيض عليه.
هناك عدة طرق لإصلاح هذا.
p10k configure
واختر نمط موجه أكثر قابلية للقراءة.POWERLEVEL9K_DIR_BACKGROUND
، POWERLEVEL9K_DIR_FOREGROUND
، POWERLEVEL9K_DIR_SHORTENED_FOREGROUND
، POWERLEVEL9K_DIR_ANCHOR_FOREGROUND
و POWERLEVEL9K_DIR_ANCHOR_BOLD
. يمكنك العثور عليها في ~/.p10k.zsh
.ذات الصلة : لون مقدمة غير صحيح في محطة VSCode.
بشكل افتراضي ، قد تحل طرف VSCODE محل اللون الأمامي الذي تختاره بشكل تعسفي بلون مختلف. يمكن إيقاف تشغيل هذا السلوك في إعدادات VSCode.
عندما تقوم بتغيير حجم نافذة طرفية ذهابًا وإيابًا ، فسترى هذه الصورة القبيحة.
TL ؛ DR: تنشأ هذه القضية عندما تنحني الطرف من مطالبة ZSH عند تغيير حجمها. إنه ليس خاصًا بـ PowerLevel10k. انظر التخفيف.
ملاحظة: كان هذا القسم يستخدم ليقول أن المشكلة ناتجة عن وجود خطأ في ZSH. على الرغم من أنه من الصحيح أنه من الممكن تجنب المشكلة في العديد من الظروف عن طريق تعديل ZSH ، إلا أنه لا يمكن حلها تمامًا بهذه الطريقة. وبالتالي ، من غير العدل أن نلقي اللوم على Zsh.
تتجلى المشكلة عندما تتغير المسافة الرأسية بين بداية المطالبة الحالية وتتغير المؤشر (من الآن VD
) عند تغيير حجم النافذة الطرفية.
عندما تتقلص نافذة طرفية أفقياً ، هناك طريقتان لصالح محطة للتعامل مع الخطوط الطويلة التي لم تعد مناسبة: تراجع أو اقتطاع .
المحتوى الطرفي قبل الانكماش:
نص إنعاش الطرف عند الانكماش:
تقطع المحطة النص عند تقلصها:
يمكن أن تؤدي استراتيجية الانتعاش إلى تغيير ارتفاع المحتوى الطرفي. إذا كان هذا المحتوى هو بين بداية المطالبة الحالية والمؤشر ، فسيقوم ZSH بطباعة موجه على الخط الخطأ. لا تغير استراتيجية الاقتطاع أبدًا ارتفاع المحتوى الطرفي ، لذلك لا تؤدي إلى هذه المشكلة.
دعونا نرى كيف تلعب المشكلة في حركة بطيئة. سنبدأ بإطلاق zsh -f
ولصق الرمز التالي:
function pause() { read -s }
functions -M pause 0
reset
print -l {1..3}
setopt prompt_subst
PROMPT= $' ${$((pause()))+}left>${(pl.$((COLUMNS-12))..-.)}<right n > '
عندما يتم توسيع PROMPT
، فإنه يدعو pause
للسماح لنا بمراقبة حالة المحطة. ها هي الحالة الأولية:
ZSH يتتبع موضع المؤشر بالنسبة لبداية المطالبة الحالية. في هذه الحالة ، يعرف أن المؤشر هو سطر واحد أدناه. عندما نقلص النافذة الطرفية ، يبدو أن هذا:
عند هذه النقطة ، ترسل المحطة SIGWINCH
إلى ZSH لإخطارها بالتغييرات في الأبعاد الطرفية. لاحظ أن هذه الإشارة يتم إرسالها بعد أن تم تنظيم محتوى المحطة.
عندما يتلقى ZSH SIGWINCH
، فإنه يحاول محو الموجه الحالي وطباعته من جديد. يذهب إلى الموضع الذي يعتقد أن المطالبة الحالية هي - سطر واحد فوق المؤشر (!) - يمحو جميع المحتوى الطرفي الذي يتبع ويطبع موجه موجه هناك. ومع ذلك ، بعد تغيير حجم المطالبة لم يعد سطر واحد فوق المؤشر. إنه سطرين أعلاه! ينتهي Zsh بطباعة سطر واحد جديد للغاية.
في هذه الحالة ، انتهى بنا المطاف بمحتوى غير مرغوب فيه لأن VD
قد زاد . عندما تجعل النافذة الطرفية أوسع ، يمكن أن تنخفض VD
أيضًا ، مما قد يؤدي إلى طباعة المطالبة الجديدة أعلى من المقصود ، وربما محو محتوى مفيد في هذه العملية.
فيما يلي بعض الأمثلة الإضافية حيث زادت النافذة الطرفية المتقلصة VD
.
prompt_subst
. لاحظ أن المؤشر أقل من خط المطالبة (اضغط على ESC-ENTER للوصول إليه).prompt_subst
، لا موجه الحق. هنا لا بد أن يزداد VD
عند تقلص الطرفية بسبب ربط سطر الأوامر. هذه التصحيح ZSH تعمل على إصلاح المشكلة على بعض المحطات. تتمثل الفكرة وراء التصحيح في استخدام القدرة الطرفية sc
(حفظ المؤشر) قبل طباعة مطالبة و rc
(استعادة المؤشر) لنقل المؤشر إلى الموضع الأصلي عندما يحتاج المطالبة إلى تحديث.
يعمل التصحيح فقط على المحطات التي يتم حفظ موضع المؤشر المحفوظ مع النص عند تغيير حجم النافذة الطرفية. لا يكون للتصحيح أي تأثير ملحوظ على المحطات التي لا تراجع النص على تغيير الحجم (كل من ZSH المصححة وغير المشوهة بشكل صحيح) وعلى المحطات التي تراجع النص ولكن ليس موضع المؤشر المحفوظ (كل من مطالبة ZSH المرقعة وغير المترقة في نفس الموضع غير الصحيحة ). وبعبارة أخرى ، فإن التصحيح يحدد القضية تغيير حجمها على بعض المحطات مع الحفاظ على السلوك دون تغيير على الآخرين.
هناك طريقتان بديلتان لتصحيح ZSH قد يبدو أنهما يعملان للوهلة الأولى ، لكن في الواقع لا: في الواقع:
sc
، استخدم القدرة الطرفية u7
للاستعلام عن موضع المؤشر الحالي ثم cup
للعودة إليه. هذا لا يعمل لأن الموضع المطلق لبداية المطالبة الحالية يتغير عندما يتم تنظيم النص.VD
بناءً على أبعاد طرفية جديدة قبل محاولة تحديث المطالبة. This doesn't work because Zsh doesn't know whether terminal reflows text or truncates it. If Zsh could somehow know that the terminal reflows text, this approach still wouldn't work on terminals that continuously reflow text and rapid-fire SIGWINCH
when the window is being resized. In such environment real terminal dimensions go out of sync with what Zsh thinks the dimensions are.There is no ETA for the patch making its way into upstream Zsh. See discussion.
There are a few mitigation options for this issue.
POWERLEVEL9K_TERM_SHELL_INTEGRATION=true
in ~/.p10k.zsh
.POWERLEVEL9K_SHOW_RULER=false
.POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' '
.POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX=''
, POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX=''
and POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX=''
.POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=()
. Right prompt on the last prompt line will cause resizing issues only when the cursor is below it. This isn't very common, so you might want to keep some elements in POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS
provided that none of them are succeeded by newline
.When using Konsole with a non-monospace font, icons may be cut off on the right side. Here "non-monospace" refers to any font with glyphs wider than a single column, or wider than two columns for glyphs designated as "wide" in the Unicode standard.
The last line on the screenshot shows a cut off Arch Linux logo.
There are several mitigation options for this issue.
os_icon
prompt segment gets cut off, open ~/.p10k.zsh
, search for POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION
and change it as follows: typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION= ' ${P9K_CONTENT} ' # extra space at the end
~/.p10k.zsh
: typeset -g POWERLEVEL9K_LINUX_ARCH_ICON= ' Arch ' # plain "Arch" in place of a logo
os_icon
prompt segment gets cut off, open ~/.p10k.zsh
and remove os_icon
from POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
and POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS
.Note : Non-monospace fonts are not officially supported by Konsole.
Some fonts have this incorrect dotted icon in bold typeface. There are two ways to fix this issue.
~/.p10k.zsh
, search for POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION
and remove %B
from its value. typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION= ' ${P9K_CONTENT} ' # not bold
Powerlevel10k uses gitstatusd to inspect the state of git repositories. The project relies on the libgit2 library, which has some gaps in its implementation. Under some conditions, this may result in discrepancies between the real state of a git repository (reflected by git status
) and what gets shown in the Powerlevel10k prompt.
Most notably, libgit2 does not support skipHash
. If you see incorrect git status in prompt, run git config -l
and check whether skipHash
is enabled. If it is, consider disabling it. Keep in mind that skipHash
may be implicitly enabled when activating certain git features, such as manyFiles
.