هل يستحق التبديل إلى zsh للاستخدام غير الرسمي؟[مغلق]

StackOverflow https://stackoverflow.com/questions/43321

  •  09-06-2019
  •  | 
  •  

سؤال

الغلاف الافتراضي في نظام التشغيل Mac OS X هو bash, ، والذي يسعدني عمومًا استخدامه.أنا فقط أعتبر ذلك أمرا مفروغا منه.سيكون من الرائع حقًا أن يتم إكماله تلقائيًا المزيد من الاشياء, ومع ذلك، ولقد سمعت أشياء جيدة عنه zsh في هذا الصدد.لكنني لا أملك حقًا الرغبة في قضاء ساعات في العبث بالإعدادات لتحسين استخدامي لسطر الأوامر بمقدار ضئيل، نظرًا لأن حياتي في سطر الأوامر ليست بهذا السوء.

(كما أفهمها، bash يمكن أيضًا تهيئتها للإكمال التلقائي بشكل أكثر ذكاءً.إنه التكوين الذي لست حريصًا عليه تمامًا.)

سوف التحول إلى zsh, ، حتى في حالات قليلة، أجعل حياتي أسهل؟أم أنها مجرد قذيفة أفضل إذا خصصت الوقت للتعلم لماذا من المفضل؟(الأمثلة ستكون لطيفة أيضًا :) )


@رودني أماتو & @فولكان حريصةأعط سببين وجيهين للالتزام بهما على التوالي bash والتحول إلى zsh.يبدو أنني سأضطر إلى التحقيق في كليهما!اوه حسناً :)

هل هناك من لديه رأي من كلا الجانبين في الحجة؟

هل كانت مفيدة؟

المحلول

بالنسبة للاستخدام غير الرسمي، ربما يكون من الأفضل لك الالتزام بـ bash وتثبيت إكمال bash فقط.

تثبيته سهل جدًا، احصل على bash-completion-20060301.tar.gz من http://www.caliban.org/bash/index.shtml#completion واستخرجها بها

tar -xzvf bash-completion-20060301.tar.gz

ثم انسخ ملف bash_completion/bash_completion إلى /etc باستخدام

sudo cp bash_completion/bash_completion /etc

والذي سيطالبك بكلمة المرور الخاصة بك.من المحتمل أنك تريد إنشاء دليل /etc/bash_completion.d لأي نصوص برمجية إضافية للإكمال (على سبيل المثال، لدي البرنامج النصي لإكمال git هناك).

بمجرد الانتهاء من ذلك، فإن الخطوة الأخيرة هي التأكد من وجود ملف .bash_profile الموجود في الدليل الرئيسي لديك

if [ -f /etc/bash_completion ]; then
     . /etc/bash_completion 
fi

فيه لتحميل ملف الإكمال عند تسجيل الدخول.

لاختباره، ما عليك سوى فتح محطة جديدة، وحاول إكمال السير الذاتية وسيظهر لك خيارات السيرة الذاتية في قائمة الإكمالات.

نصائح أخرى

أنا شخصياً أحب zsh.

بشكل عام، ربما لن تلاحظ الفرق بينه وبين bash، حتى ترغب في القيام بأشياء بسرعة مثل التمرير العودي:

  • **/*.c على سبيل المثال.

أو استخدم الأسماء المستعارة لللاحقة لربط برامج معينة بلاحقات مختلفة، بحيث يمكنك "تنفيذها" مباشرةً.يتيح لك الاسم المستعار أدناه "تشغيل" ملف مصدر C في الموجه بمجرد الكتابة ./my_program.c - والتي ستعمل تمامًا كما لو كنت كتبتها vim ./my_program.c.(نوع ما يعادل النقر المزدوج على أيقونة الملف.)

  • alias -s c=vim

أو طباعة أسماء الملفات المعدلة اليوم:

  • print *(e:age today now:)

ربما يمكنك القيام بكل هذه الأشياء في bash، لكن تجربتي مع zsh هي أنه إذا كان هناك شيء أريد القيام به، فمن المحتمل أن أجده فيه عشاق zsh.كما وجدت الكتاب "من باش إلى Z-Shell' حقا مفيد.

اللعب بالعقل بعدد كبير محير من الخيارات يعد أمرًا ممتعًا أيضًا!

التبديل إلى زش.سيكون لديك حق الوصول إلى:

  1. zmv:يمكنك ان تفعل: zmv '(*).mp3' '$1.wma' لآلاف الملفات.
  2. zcalc:آلة حاسبة مريحة للغاية، أفضل من bc.
  3. zparseopts:سطر واحد لتحليل الخيارات المعقدة التعسفية المعطاة للبرنامج النصي الخاص بك.
  4. autopushd:يمكنك دائما أن تفعل popd بعد cd للعودة إلى الدليل السابق.
  5. دعم النقطة العائمة.هناك حاجة إليها من وقت لآخر.
  6. دعم التجزئة.في بعض الأحيان تكون مجرد ميزة رئيسية.

إذا كان كل ما تريد استخدام ZSH من أجله هو إكمال أفضل، فإن التكوين سهل جدًا.ضع هذا في ~/.zshrc الخاص بك:

autoload -U zutil      # [1]
autoload -U compinit   # [2]
autoload -U complist   # [3]
compinit

ومع ذلك، فمن المفيد التحقق من جميع الميزات الرائعة الأخرى لـ ZSH.سيعطيك المثال أعلاه مطالبة واضحة جدًا بإكمال جيد.إذا كنت لا تريد التلاعب بالتكوينات، ولكنك تريد أن ترى ما يمكن أن يفعله ZSH لك، فابحث عن "zshrc" في Google وستحصل على بعض التكوينات الجاهزة للاستخدام للبدء.

يحتوي zsh على شيء تكوين واجهة المستخدم الرسومية لوحدة التحكم.يمكنك إعداده بسرعة وسهولة دون الحاجة إلى العبث بملفات التكوين.لا أعتقد أنك ستحتاج إلى الكثير من الوقت لإعداده، ربما 10 ثوانٍ فقط باستخدام الإعدادات الافتراضية، لذا تفضل وجربه.

يتحدث Staale عن برنامج يشبه المعالج (CUI) والذي يتم تشغيله تلقائيًا في المرة الأولى التي تقوم فيها بتشغيل zsh.ما عليك سوى الإجابة على بعض الأسئلة وعرض/تغيير الإعدادات الافتراضية وتكوينها لك.

لدى IBM DeveloperWorks موارد رائعة حول zsh.

لم أستخدم ميزات متقدمة جدًا ولم أواجه حتى الآن اختلافات خطيرة من شأنها أن تعيق شخصًا قادمًا من باش.

بعض الأمثلة:

  • !؟نمطu003CTab> سوف الإكمال التلقائي إلى آخر أمر في نمط مطابقة التاريخ.مفيد جدا.

  • يمكنك تكوين موجه على RHS.يتمثل أحد الاستخدامات في الحفاظ على مطالبة العرض الثابتة على الجانب الأيسر ، لذا فإن جميع الأوامر تصطف بشكل جيد أثناء عرض PWD (أو أي شيء ذو عرض متغير) كمطالبة جانبية يمين.

  • يمكنك إعادة توجيه الإدخال من ملفات متعددة (لم تجرب هذا بعد):القط <ملف 1 <ملف 2 <ملف 3

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top