كيفية تعزير محطة Bash الخاصة بك - دليل خطوة بخطوة بالصور

في هذه المدونة ، سأنتقل إلى الخطوات لإضافة السمات ، و Powerline ، والخطوط ، و powerline-gitstatus لجعل Bash Terminal العادية تبدو جميلة ومفيدة كما هو موضح في الصورة أعلاه.

اتضح ، إذا كنت تستخدم Mac ، فستحتاج إلى القفز عبر الكثير من الأطواق للحصول على هذا العمل لأن العديد من الإرشادات خاصة بنظام Linux ، أو قديمة. لذلك اعتقدت أنني سوف أدون حول هذا الموضوع - آمل أن يساعدك ذلك.

ملاحظات:

1. اتبع الخطوات بعناية لأن أي خطأ سيسبب الكثير من الصداع.

2. هذا خاص بـ MacOS وللباش العادي في Terminal.app. أنا لا أستخدم ZSH أو Hyper في هذه المدونة - أخطط لكتابة مدونات مختلفة لهم.

3. إصدارات بلادي: Mac High Sierra؛ إصدار git 2.14.3 (Apple Git-98) ؛ بايثون 2.7.10

حسنًا ، افتراضيًا ، عندما يكون لديك جهاز Mac جديد ، سيبدو تطبيق Terminal.app الخاص بك كما هو موضح أدناه. دعنا نمضي قدمًا ونضيف السمات والخطوط وما إلى ذلك.

الخطوة 1 - إضافة سمة جديدة

الخطوة الأولى الواضحة هي تحسين السمة. لا يوفر Terminal جميع السمات الرائعة والرائعة التي تراها يستخدمها المطورون الآخرون. لنقم بتنزيل سمة وإضافتها إلى Terminal.

في هذه المدونة ، سأضيف سمة Solarized-Dark إلى المحطة الطرفية الخاصة بنا.

ملاحظة: يمكنك تنزيل العديد من السمات (ملفات نهائية) من مستودع git هذا. ما عليك سوى فتح *.terminalالملف لتثبيته ، أي right-click on the *.terminal file > “open with" > Terminal
  1. اذهب إلى //ethanschoonover.com/solarized
  2. مرر لأسفل وقم بتنزيل السمة (solarized.zip)
  3. استخراج ملف solarized.zip
  4. افتح المجلد osx-terminal.app-colours-solarized . يحتوي هذا المجلد على سمة للمحطة.
  5. انقر نقرًا مزدوجًا فوق ملف "Solarized Dark ansi.terminal" - هذا هو ملف السمة المحدد لـ Terminal.app. ملاحظة: إذا تلقيت تحذيرًا بأن هذا من مطور غير معروف ، فانقر بزر الماوس الأيمن على الملف وحدد "فتح باستخدام"> Terminal opti on.
  6. في هذه المرحلة ، يكون لديك السمة مثبتة في جهازك الطرفي. نحتاج فقط إلى جعله سمة افتراضية.
  7. افتح Terminal> Preferences> Text وحدد سمة "Solarized Dark…" وانقر على "افتراضي".

من الآن فصاعدًا ، يجب أن تكون المحطة الطرفية الخاصة بك كما هو موضح أدناه.

الخطوة 2 - تثبيت Powerline

Powerline هو تطبيق Python وهو مكون إضافي لخط الحالة لـ vim ، ويوفر خطوط الحالة والمطالبات للعديد من التطبيقات الأخرى ، بما في ذلك zsh و bash و tmux و IPython و Awesome و Qtile.

يجعل موجه Terminal يبدو كما يلي.

2.1 قم بتثبيت Python

نظرًا لأن Powerline هو تطبيق Python ، فنحن بحاجة إلى Python وهذا أيضًا إصدار مناسب من Python.

  • يأتي MacOS مثبتًا عليه Python بالفعل. تأكد من أن إصدار Python هو 2.7.x عن طريق الكتابةpython -V في Terminal.
  • إذا لم يكن الإصدار 2.7 ، فقم بتثبيت Homebrew الذي يسمح لنا بتثبيت برامج متنوعة من CLI ، عن طريق تشغيل:/usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"
  • قم بتشغيل brew install pythonلتثبيت أحدث إصدار من Python عبر Homebrew

2.2 تثبيت نقطة - مدير حزم لبيثون (على غرار npm)

قم بتثبيت النقطة عن طريق تشغيل الأمر التالي

$ sudo easy_install pip

2.3 قم بتثبيت أدوات XCode Developer CLI

يتم استخدام أدوات XCode Developer CLI بواسطة Powerline والتطبيقات الأخرى التي تتعامل مع ميزات OSX الأساسية. لذا تأكد من تثبيت أدوات XCode CLI عن طريق تشغيل الأمر التالي.

$ xcode-select —-install

ملاحظة: يفتح الأمر أعلاه أداة تثبيت Mac ويثبت أدوات XCode Developer CLI. إذا لم ينجح الأمر ، فحاول xcode-select -rإعادة التعيين.

2.4 تثبيت Powerline

أخيرًا ، قم بتثبيت Powerline (إصدار ثابت) عبر pip عن طريق تشغيل الأمر التالي.

$ pip install --user powerline-status

إذا كنت ترغب في تثبيت أحدث فرع تطوير ، فاستخدم:

$ pip install --user git+git://github.com/powerline/powerline //dev

2.5 إضافة برنامج Powerline الخفي إلى bash

نحتاج الآن إلى إضافة برنامج Powerline الخفي إلى bash حتى يتمكن من مراقبة موجه Terminal وإجراء التغييرات.

2.5.1 انسخ موقع تثبيت Powerline

يمكنك معرفة موقع Powerline عن طريق تشغيل ما يلي: pip show powerline-statusانسخ القيمة من Locationالحقل.

2.5.2 أضف البرنامج الخفي بالموقع المناسب إلى .bash_profile

  1. تأكد من وجود .bash_profileملف في الدليل الجذر الخاص بك. إذا لم تتبع ، قم بإنشاء واحد عن طريق القيام:cd ~ && touch ~/.bash_profile

2. افتح .bash_profileوأضف ما يلي:

export PATH=$PATH:$HOME/Library/Python/2.7/bin powerline-daemon -q POWERLINE_BASH_CONTINUATION=1 POWERLINE_BASH_SELECT=1 . /Users/rupa/Library/Python/2.7/lib/python/site-packages/powerline/bindings/bash/powerline.sh
ملاحظة: الموقع / المستخدمون/rupa/Library/Python/2.7/lib/python/site-packages/ من الخطوة السابقة (2.5.1). قم بتغييره لمطابقة موقع جهاز الكمبيوتر الخاص بك.

2.5.3. أعد تشغيل Terminal

قم بإنهاء Terminal تمامًا إذا كانت مفتوحة (Terminal> Quit Terminal). وافتحه مرة أخرى.

يجب أن تكون قادرًا على الاستخدام ببساطة $ source ~/.bash_profileلتحديث الإعدادات. لكن لدي بعض powerline-configالملفات الفردية مفقودة! عادةً ما تحصل على هذا الخطأ إذا لم يكن لديك $ HOME / Library / Python / 2.7 / bin في PATH.

2.5.4 المحطة الجديدة الخاصة بك

يجب أن تبدو المحطة الطرفية الجديدة كما يلي. يجب أن تستخدم سمة "Solarized Dark ansi" ويجب أن تظهر Powerline في موجه الأوامر. لكن لاحظ أيضًا أن هناك "؟" الشخصيات! هذا لأن Powerline يستخدم العديد من الرموز والخطوط غير المتوفرة افتراضيًا. لذلك نحن بحاجة إلى تثبيت الخطوط.

الخطوة 3 - تثبيت خطوط Powerline

لتثبيت خطوط Powerline ، ما عليك سوى الانتقال إلى //github.com/powerline/fonts. هناك سترى مجموعة كاملة من المجلدات. كل واحد هو خط ، ويعرف أيضًا باسم "خطوط مصححة".

يطلق عليه "خطوط مصححة" لأن الأشخاص قد أخذوا خطوطًا عادية وقاموا بإضافة / تصحيح رموز وخطوط إضافية محددة في Powerline إليها.

3.1 قم بتنزيل الريبو بالكامل وفك ضغطه

  • انقر فوق الزر "استنساخ أو تنزيل" وقم بتنزيل الريبو بالكامل حتى تتمكن من تجربة خطوط مختلفة.
  • قم بفك ضغط الخطوط Master.zip

3.2 تثبيت بعض الخطوط

Let’s open Meslo dotted fontsfolder. It will look like below. You’ll see a whole bunch of .ttf file. Each one of them is a font but some are “bold” version of the font, some are “regular” version and so on.

Simply double-click on the .ttf file and press “Install font” to install the font on your computer.

For our case, let’s install “Meslo LG L DZ Regular for Powerline.ttf” and “Meslo LG L DZ Italic for Powerline.ttf”. This will add a regular and an Italic version of the Meslo font.

3.3 Select the font in the Terminal’s Theme

Remember we added “Solarized Dark” theme in Step 1? That didn’t have any fonts in it and MacOS had some default font. All we need to do is to set our Meslo dotted font for this theme and we are done!

  1. Open Terminal > Preferences > Text
  2. Select Solarized Dark ansi Theme
  3. Click on the “Font” button — This opens up “Fonts” dialog
  4. In the “Fonts” dialog, select “Meslo LG L DZ for Powerline” in the Family and also select font size 14 (so it’s easier to read).

3.4 Restart Terminal

Completely quit the Terminal (Terminal > Quit Terminal) and then reopen it.

Step 4 — Adding Git information to the prompt

لعرض حالة Git المختلفة عند المطالبة ، نحتاج إلى تثبيت powerline-gitstatus. إنها إضافة بسيطة إلى Powerline وتضيف ألوانًا وسمات متعددة لعرض معلومات حالة git المختلفة.

4.1 تثبيت powerline-gitstatus

pip install --user powerline-gitstatus
ملاحظة: الأمر "- user" مطلوب لتثبيته في ملف تعريف المستخدم.

4.2 إضافة مخططات ألوان powerline-gitstatus إلى Powerline

4.2.1 افتح colorschemes/shell/default.jsonالمجلد التالي

${powerline-install-directory}/powerline/config_files/colorschemes/shell/default.json //For example: /Users/rupa/Library/Python/2.7/lib/python/site-packages/powerline/config_files/colorschemes/shell/default.json

4.2.2 إضافة الألوان التالية:

كما ذكر في الملف التمهيدي powerline-gitstatus. ملاحظة: ما عليك سوى نسخ الألوان داخل "المجموعات" ثم إلحاقها بـ default.json كما هو موضح أدناه.

إليك مخططات الألوان الخاصة بي default.json (يمكنك نسخ هذا ولصقه بدلاً من ذلك):

{ "name": "Default color scheme for shell prompts", "groups": { "hostname": { "fg": "brightyellow", "bg": "mediumorange", "attrs": [] }, "environment": { "fg": "white", "bg": "darkestgreen", "attrs": [] }, "mode": { "fg": "darkestgreen", "bg": "brightgreen", "attrs": ["bold"] }, "attached_clients": { "fg": "white", "bg": "darkestgreen", "attrs": [] }, "gitstatus": { "fg": "gray8", "bg": "gray2", "attrs": [] }, "gitstatus_branch": { "fg": "gray8", "bg": "gray2", "attrs": [] }, "gitstatus_branch_clean": { "fg": "green", "bg": "gray2", "attrs": [] }, "gitstatus_branch_dirty": { "fg": "gray8", "bg": "gray2", "attrs": [] }, "gitstatus_branch_detached": { "fg": "mediumpurple", "bg": "gray2", "attrs": [] }, "gitstatus_tag": { "fg": "darkcyan", "bg": "gray2", "attrs": [] }, "gitstatus_behind": { "fg": "gray10", "bg": "gray2", "attrs": [] }, "gitstatus_ahead": { "fg": "gray10", "bg": "gray2", "attrs": [] }, "gitstatus_staged": { "fg": "green", "bg": "gray2", "attrs": [] }, "gitstatus_unmerged": { "fg": "brightred", "bg": "gray2", "attrs": [] }, "gitstatus_changed": { "fg": "mediumorange", "bg": "gray2", "attrs": [] }, "gitstatus_untracked": { "fg": "brightestorange", "bg": "gray2", "attrs": [] }, "gitstatus_stashed": { "fg": "darkblue", "bg": "gray2", "attrs": [] }, "gitstatus:divider": { "fg": "gray8", "bg": "gray2", "attrs": [] } }, "mode_translations": { "vicmd": { "groups": { "mode": { "fg": "darkestcyan", "bg": "white", "attrs": ["bold"] } } } } }

4.3 تنشيط السمة

4.3.1 افتح ملف default.json الخاص بالسمة

${powerline-install-directory}/powerline/config_files/themes/shell/default.json //For example: /Users/rupa/Library/Python/2.7/lib/python/site-packages/powerline/config_files/themes/shell/default.json

4.3.2 أضف ما يلي إلى default.json

{ "function": "powerline_gitstatus.gitstatus", "priority": 40 }

يوجد أدناه سمة Default.json الخاصة بي في Powerline (يمكنك نسخها ولصقها بدلاً من ذلك):

ملاحظة: لقد أزلت كل شيء من القسم "الصحيح" وأزلت أيضًا "رقم الوظيفة" ("رقم العمل") للحفاظ على نظافة الأشياء. خلاف ذلك ، سترى قطعة أثرية صغيرة على حافة الجانب الأيمن للموجه.
{ "segments": { "left": [{ "function": "powerline.segments.shell.mode" }, { "function": "powerline.segments.common.net.hostname", "priority": 10 }, { "function": "powerline.segments.common.env.user", "priority": 30 }, { "function": "powerline.segments.shell.cwd", "priority": 10 }, { "function": "powerline_gitstatus.gitstatus", "priority": 40 } ], "right": [] } }

4.4 أعد تشغيل البرنامج الخفي

احفظ الملف وقم بتشغيل ما يلي: powerline-daemon —-replaceفي Terminal.

ملاحظة هامة: في كل مرة قمت بإجراء تغييرات على التكوين باورلاين، بالإضافة إلى إعادة تشغيل محطة، سوف تحتاج أيضا إلى إعادة تشغيل البرنامج الخفي لمشاهدة التغييرات تنعكس عن طريق تشغيل: powerline-daemon —-replace.

4.5 أعد تشغيل المحطة

قم بإنهاء Terminal (Terminal> Quit Terminal) وافتحها مرة أخرى.

في هذه المرحلة ، انتهينا جميعًا! يا للعجب! إذا فتحت Terminal ، وانتقلت إلى أي git repo ، ولعبت ، فيجب أن تبدو كما يلي.

إليك كيف تبدو في سمة ضوء شمسي:

Here is how it looks in Cobalt2 Theme:

?? Thank you!

If you have questions, please feel free to ask me on Twitter: //twitter.com/rajaraodv

If this was useful, please click the clap ? button down below a few times to show your support! ⬇⬇⬇ ??

My Other Posts

//medium.com/@rajaraodv/latest

ECMAScript 2015+

  1. Check out these useful ECMAScript 2015 (ES6) tips and tricks
  2. 5 JavaScript “Bad” Parts That Are Fixed In ES6
  3. Is “Class” In ES6 The New “Bad” Part?

Terminal Improvements

  1. How to Jazz Up Your Terminal — A Step By Step Guide With Pictures
  2. Jazz Up Your “ZSH” Terminal In Seven Steps — A Visual Guide

WWW

  1. A Fascinating And Messy History Of The Web And JavaScript

Virtual DOM

  1. Inner Workings Of The Virtual DOM

React Performance

  1. Two Quick Ways To Reduce React App’s Size In Production
  2. Using Preact Instead Of React

Functional Programming

  1. JavaScript Is Turing Complete — Explained
  2. Functional Programming In JS — With Practical Examples (Part 1)
  3. Functional Programming In JS — With Practical Examples (Part 2)
  4. Why Redux Need Reducers To Be “Pure Functions”

WebPack

  1. Webpack — The Confusing Parts
  2. Webpack & Hot Module Replacement [HMR] (under-the-hood)
  3. Webpack’s HMR And React-Hot-Loader — The Missing Manual

Draft.js

  1. Why Draft.js And Why You Should Contribute
  2. How Draft.js Represents Rich Text Data

React And Redux :

  1. Step by Step Guide To Building React Redux Apps
  2. A Guide For Building A React Redux CRUD App (3-page app)
  3. Using Middlewares In React Redux Apps
  4. Adding A Robust Form Validation To React Redux Apps
  5. Securing React Redux Apps With JWT Tokens
  6. Handling Transactional Emails In React Redux Apps
  7. The Anatomy Of A React Redux App
  8. Why Redux Need Reducers To Be “Pure Functions”
  9. Two Quick Ways To Reduce React App’s Size In Production

إذا كان هذا مفيدًا ، يرجى مشاركته! شكرا لك! ؟؟