إيماكس: إتقان إيشيل

يحتوي Emacs على غلاف مكتوب بالكامل بلغة Emacs Lisp. إليك كيفية إتقان Eshell ، وهو غلاف متعدد الاستخدامات وقوي قادر على استبدال bash أو zsh كسائق يومي.

بقلم ميكي بيترسن

يمكنك قم بتشغيل Run Shells و Terminal Emulators في Emacs ، ولكن لا يمكن لأي منها أن يضاهي التنوع والتكامل مع Emacs مثل Eshell.

Eshell عبارة عن غلاف مكتوب بالكامل بلغة Emacs Lisp ، وهو يكرر معظم ميزات وأوامر GNU CoreUtils و Bourne-like shells. لذلك ، من خلال إعادة كتابة الأوامر الشائعة مثل ls و cp في Emacs-Lisp ، سيعمل Eshell بشكل مماثل في أي بيئة يعمل عليها Emacs.

على عكس المحاكي الطرفي ، فإن Eshell يشبه أصداف bash أو zsh أو python. وهذا يعني أن لها خصوصياتها وقواعدها وأنماط عملها ومزاياها وعيوبها.

Eshell أثناء العمل. باستخدام Tramp ، يمكنك كتابة التعليمات البرمجية / التعليمات البرمجية في الأنظمة البعيدة. هنا c يعمل محليًا حاوية عامل ميناء. Eshell أثناء العمل. باستخدام Tramp ، يمكنك الوصول إلى الأنظمة البعيدة. إنها حاوية Docker يتم تشغيلها محليًا.

الميزة الرئيسية هي أنك تتحدث مع Emacs فقط. الجانب السلبي ، بالطبع ، هو أنها ليست صدفة من المحتمل أن تكون على دراية بها: سيكون لها العديد من أوجه التشابه بين bash أو zsh ، ولكن من الواضح أنها لا شيء من هذه الأشياء أيضًا.

فلماذا نستخدمها؟ حسنًا ... دعم المتشردين الأصليين

حتى تتمكن من cd في حاويات Docker ؛ خوادم SSH البعيدة ؛ هواتف Android التي تستخدم Android Debug Bridge ؛ التحدث إلى أي شيء يعمل مع rclone ، مثل S3 ؛ سو وسودو وأكثر من ذلك بكثير. ويمكنك دمجها جميعًا - SSH لهذا المضيف ، ثم sudo لهذا المستخدم - كل ذلك من Emacs و Eshell.

كل هذا بالطبع متاح أيضًا للبيع بالجملة لـ Emacs.

اكتب Elisp بدلاً من sh

يمتلك كل قوة Emacs وراءه. تريد فتح ملف؟ اكتب find-file وسيقوم Emacs بفتحه. هل تحتاج إلى مخزن مؤقت موجه من M-x؟ فقط اكتب dired .. قلق من اكتمال القمر القادم؟ جرب مراحل القمر. تمر الأنابيب وإعادة التوجيه عبر Emacs

حتى تتمكن من إعادة توجيه إخراج الأمر مباشرة إلى المخزن المؤقت Emacs أو حلقة القتل الخاصة به. كل شيء إيماكس

للأفضل أو للأسوأ! تحصل على تكامل وثيق مع بيئة Emacs الخاصة بك ، كما أن تمديد Eshell سهل نسبيًا ، لأن كل شيء جيد. اعتراض القيادة

اكتب grep وبدلاً من عرض النتائج كما تفعل الصدفة العادية ، يرسل Emacs الطلب مرة أخرى إلى آلة grep الخاصة به ، كما لو كنت قد اتصلت بـ M-x grep.

شاشة Plan9 الذكية

بدلاً من اتباع شاشتك لإخراج أحد الأوامر ، يمكنك إخبار Eshell بالصفحة تلقائيًا من أعلى إلى أسفل عندما يتجاوز الإخراج ما يناسب شاشتك.

رائع عندما تريد استيعاب النتيجة صفحة واحدة في كل مرة.

... والمزيد!

للأسف ، هناك أيضًا مشكلة صغيرة: تم توثيق Eshell جزئيًا فقط - وهو مشهد نادر في GNU Emacs - لذلك قمت بتجميع هذا الدليل لمساعدة الأشخاص على الاستفادة الكاملة مما يجب على Eshell فعله عرض. أصبح التوثيق الآن أفضل مما كان عليه من قبل ، ولكن لا يزال هناك الكثير من "المعرفة القبلية" التي يجب أن تعرفها. تبصر

على عكس قذائف Emacs الأخرى ، لا يرث Eshell وضع comint ، وهو الوضع الافتراضي للتفاعل مع عمليات Emacs الأقل. ولكن نظرًا لأن Eshell ليس عملية منخفضة ، فلا داعي لاستخدام comint ؛ ولكن في حين أن هذا قد يبدو شيئًا جيدًا ، إلا أنه يعني أن الخطافات والإجراءات المكتوبة لـ وضع comint-mode لن تعمل مع Eshell. يعني أيضًا جميع اختصارات لوحة المفاتيح والأوامر التي قد تعرفها ونحن ...

إيماكس: إتقان إيشيل

يحتوي Emacs على غلاف مكتوب بالكامل بلغة Emacs Lisp. إليك كيفية إتقان Eshell ، وهو غلاف متعدد الاستخدامات وقوي قادر على استبدال bash أو zsh كسائق يومي.

بقلم ميكي بيترسن

يمكنك قم بتشغيل Run Shells و Terminal Emulators في Emacs ، ولكن لا يمكن لأي منها أن يضاهي التنوع والتكامل مع Emacs مثل Eshell.

Eshell عبارة عن غلاف مكتوب بالكامل بلغة Emacs Lisp ، وهو يكرر معظم ميزات وأوامر GNU CoreUtils و Bourne-like shells. لذلك ، من خلال إعادة كتابة الأوامر الشائعة مثل ls و cp في Emacs-Lisp ، سيعمل Eshell بشكل مماثل في أي بيئة يعمل عليها Emacs.

على عكس المحاكي الطرفي ، فإن Eshell يشبه أصداف bash أو zsh أو python. وهذا يعني أن لها خصوصياتها وقواعدها وأنماط عملها ومزاياها وعيوبها.

Eshell أثناء العمل. باستخدام Tramp ، يمكنك كتابة التعليمات البرمجية / التعليمات البرمجية في الأنظمة البعيدة. هنا c يعمل محليًا حاوية عامل ميناء. Eshell أثناء العمل. باستخدام Tramp ، يمكنك الوصول إلى الأنظمة البعيدة. إنها حاوية Docker يتم تشغيلها محليًا.

الميزة الرئيسية هي أنك تتحدث مع Emacs فقط. الجانب السلبي ، بالطبع ، هو أنها ليست صدفة من المحتمل أن تكون على دراية بها: سيكون لها العديد من أوجه التشابه بين bash أو zsh ، ولكن من الواضح أنها لا شيء من هذه الأشياء أيضًا.

فلماذا نستخدمها؟ حسنًا ... دعم المتشردين الأصليين

حتى تتمكن من cd في حاويات Docker ؛ خوادم SSH البعيدة ؛ هواتف Android التي تستخدم Android Debug Bridge ؛ التحدث إلى أي شيء يعمل مع rclone ، مثل S3 ؛ سو وسودو وأكثر من ذلك بكثير. ويمكنك دمجها جميعًا - SSH لهذا المضيف ، ثم sudo لهذا المستخدم - كل ذلك من Emacs و Eshell.

كل هذا بالطبع متاح أيضًا للبيع بالجملة لـ Emacs.

اكتب Elisp بدلاً من sh

يمتلك كل قوة Emacs وراءه. تريد فتح ملف؟ اكتب find-file وسيقوم Emacs بفتحه. هل تحتاج إلى مخزن مؤقت موجه من M-x؟ فقط اكتب dired .. قلق من اكتمال القمر القادم؟ جرب مراحل القمر. تمر الأنابيب وإعادة التوجيه عبر Emacs

حتى تتمكن من إعادة توجيه إخراج الأمر مباشرة إلى المخزن المؤقت Emacs أو حلقة القتل الخاصة به. كل شيء إيماكس

للأفضل أو للأسوأ! تحصل على تكامل وثيق مع بيئة Emacs الخاصة بك ، كما أن تمديد Eshell سهل نسبيًا ، لأن كل شيء جيد. اعتراض القيادة

اكتب grep وبدلاً من عرض النتائج كما تفعل الصدفة العادية ، يرسل Emacs الطلب مرة أخرى إلى آلة grep الخاصة به ، كما لو كنت قد اتصلت بـ M-x grep.

شاشة Plan9 الذكية

بدلاً من اتباع شاشتك لإخراج أحد الأوامر ، يمكنك إخبار Eshell بالصفحة تلقائيًا من أعلى إلى أسفل عندما يتجاوز الإخراج ما يناسب شاشتك.

رائع عندما تريد استيعاب النتيجة صفحة واحدة في كل مرة.

... والمزيد!

للأسف ، هناك أيضًا مشكلة صغيرة: تم توثيق Eshell جزئيًا فقط - وهو مشهد نادر في GNU Emacs - لذلك قمت بتجميع هذا الدليل لمساعدة الأشخاص على الاستفادة الكاملة مما يجب على Eshell فعله عرض. أصبح التوثيق الآن أفضل مما كان عليه من قبل ، ولكن لا يزال هناك الكثير من "المعرفة القبلية" التي يجب أن تعرفها. تبصر

على عكس قذائف Emacs الأخرى ، لا يرث Eshell وضع comint ، وهو الوضع الافتراضي للتفاعل مع عمليات Emacs الأقل. ولكن نظرًا لأن Eshell ليس عملية منخفضة ، فلا داعي لاستخدام comint ؛ ولكن في حين أن هذا قد يبدو شيئًا جيدًا ، إلا أنه يعني أن الخطافات والإجراءات المكتوبة لـ وضع comint-mode لن تعمل مع Eshell. يعني أيضًا جميع اختصارات لوحة المفاتيح والأوامر التي قد تعرفها ونحن ...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow