در حال آزمایش ترمینال جدید: Warp

زمانی که یک سال پیش از ویندوز به مک نقل مکان کردم، عادت استفاده از ترمینال را نیز بیشتر کردم. ممکن است به این دلیل باشد که در ابتدا با تفاوتهای جزئی در رابط کاربری گیج شده بودم، اما به نظر میرسد که احساس میکنم با ترمینال در مک کارآمدتر هستم و بعد از آن در ویندوز بودم.
پیمایش در میان پوشهها، اجرای دستورات، استفاده از git و غیره. فقط سریعتر است.
در ابتدا، من با ترمینال پیش فرض zsh شروع کردم تا انتقال را روان تر کنم. بعد از چند ماه شروع به جستجوی افزونه ها و در نهایت ترمینال های دیگر کردم.
امروز می خواهم تجربه خود را در مورد Warp با شما به اشتراک بگذارم.
پیچ و تاب
Warp ادعا می کند که “ترمینال برای قرن بیست و یکم” است و زیرنویس صفحه اصلی می گوید:
Warp یک ترمینال فوقالعاده سریع و مبتنی بر Rust است که از ابتدا دوباره طراحی شده تا مانند یک برنامه مدرن کار کند.
من صادقانه در مورد آنچه که Rust می تواند انجام دهد و همچنین کنجکاو هستم to work like a modern app
ادعای جالبی به نظر می رسد
اولین برداشت ها
وقتی برای اولین بار Warp را اجرا کردم، پس از ورود متوجه منوی سمت راست شدم. این تغییرات و یک آموزش سریع را نشان می دهد که من واقعاً از آن استقبال کردم.
چیزی که من از ابزارهایی مانند این انتظار دارم این است که ویژگی های جالبی داشته باشند که ترمینال را بهتر از ترمینال پیش فرض می کند، اما می دانم که نمی توان دکمه هایی را در همه جا وجود داشت، زیرا به هر حال ترمینال یک ترمینال است.
من میتوانستم ویژگیهای اسناد را بخوانم (و دارم آن را انجام میدهم!) اما داشتن برخی از جالبترین آنها در آنجا به عنوان یک آموزش، لمس خوبی بود.
این همچنین به من اجازه می دهد تا شما را با فصل بعدی آشنا کنم: ویژگی ها.
امکانات
همانطور که در ابتدا گفتم، یک دلیل موجه برای اینکه من را از ترمینال پیشفرض سوئیچ کند این است که ترمینال جدید باید ویژگیهای جالبی داشته باشد که زندگی من را آسانتر میکند. در اینجا مواردی هستند که من در حال حاضر بیشتر از آنها استفاده می کنم.
ورودی در پایین
یکی از چیزهایی که من در مورد پایانه ها خیلی دوست ندارم (اما یاد گرفتم قبول کنم، زیرا همه آنها اینطور هستند) این است که ورودی از بالای صفحه شروع می شود و بعد از تایپ کردن برخی از دستورات به پایین می رود. فقط از ابتدا آن را به پایین بچسبانید!
خوب صبر کنید، قبل از شروع جنگ مقدس، آنها قبلاً در مورد آن فکر کرده اند و شما در واقع می توانید رفتار را از تنظیمات تصمیم بگیرید، بین:
- سنجاق به پایین (پیشفرض Warp)
- شروع از بالا (حالت کلاسیک)
- سنجاق به بالا (حالت معکوس)
اساساً، حالت کلاسیک رفتاری است که همه پایانهها دارند، اما شما همچنین میتوانید تصمیم بگیرید که آیا میخواهید ورودی را در پایین (پیشفرض برای Warp) پین کنید یا در بالا.
اگر منصف باشیم، من همچنین میدانم که چرا چسباندن آن در بالا منطقی است، زیرا احتمالاً برای پشت شما بهتر است. این باعث می شود که به جای اینکه همیشه به پایین نگاه کنید، به سطح چشم خود نگاه کنید.
خوب، ممکن است در حین نوشتن این مقاله نظرم را تغییر داده باشم، احتمالاً آن را به بالای صفحه پین خواهم کرد. هنوز بهتر از رفتار ترمینال پیشفرض است.
ویرایشگر متن
اکنون که تصمیم گرفتیم ورودی را کجا قرار دهیم، اجازه دهید نگاهی دقیق تر به آن بیاندازیم زیرا ورودی ترمینال ساده ای نیست که شما به آن عادت کرده اید.
اول از همه، می توانید روی آن کلیک کنید. و این در حال حاضر تفاوت بزرگی ایجاد می کند.
هنوز تحت تاثیر قرار نگرفته اید؟ شما می توانید چند خط بروید! به عنوان یک ویرایشگر متن معمولی، با Shift+Enter میتوانید روی یک خط جدید بروید و یک اسکریپت پیچیدهتر بنویسید که در آن هر خط یکی پس از دیگری اجرا میشود.
اکنون که این اسکریپت چند خطی را می نویسید، می توانید برخی از قسمت ها را کپی پیست کنید و از آنجایی که ما در مورد یک برنامه مدرن صحبت می کنیم … می توانید چندین مکان نما داشته باشید!
زبانه ها
در مورد آن چیز زیادی نمی توان گفت، بسیاری از پایانه ها دارای تب هستند، اما من فقط می خواستم اشاره کنم که Warp آنها را نیز دارد.
بلوک ها
یکی از چیزهایی که من را در ترمینالها بسیار آزار میدهد این است که دستوری را با ورودی طولانی اجرا میکنید و نمیتوانید خروجی را به دلیل طولانی بودن آن ببینید.
یک مثال می تواند ساده باشد npm install
بلکه برخی از دستورات سفارشی برای اجرای برنامه شما. اگر می خواهید به دستور قبلی برگردید، باید به سمت بالا حرکت کنید و امیدوار باشید که آن را در دیوار متنی که روبروی آن قرار دارید، به سرعت پیدا کنید.
با بلوک ها، این راحت تر است!
خروجی ها در بلوک ها قرار دارند، می توانید برای خواندن خروجی پیمایش کنید، اما اعلان و ورودی را در بالای بلوک دارید. علاوه بر این، اگر روی آن کلیک کنید، حاشیه قابل مشاهده می شود، بنابراین مشخص است که یک فرمان به کجا ختم می شود و یک فرمان دیگر شروع می شود.
اما بلوک ها فقط یک چیز بصری نیستند، شما همچنین می توانید با آنها تعامل داشته باشید! شما می توانید کارهای زیادی انجام دهید که احتمالاً می توانم یک مقاله کامل در مورد آن بنویسم. و من فکر می کنم که 😀
برای امروز اجازه دهید فقط به شما بگویم که می توانید یک بلوک کد را با ایجاد یک پیوند دائمی به آن با شخصی به اشتراک بگذارید.
https://app.warp.dev/block/uUbOWsWgfxJKQBuQcomoeI
این یک مثال بسیار ابتدایی است، من فقط اجرا می کنم ls
در یک پروژه و می توانید محتوا را در اینجا ببینید، اما تصور کنید که یک خطای واقعا عجیب در یک گزارش طولانی دارید و سعی می کنید کمک بگیرید. شما دو کلیک فاصله دارید تا کل بلوک را با شخص دیگری به اشتراک بگذارید که بتواند به شما کمک کند!
من در مقاله آینده بیشتر در مورد بلوک ها به شما خواهم گفت، یا می توانید خود را در Warp بیابید و آن را امتحان کنید! 😉
هوش مصنوعی
ما در سال 2023 هستیم، اساساً هر اپلیکیشن دارای نوعی هوش مصنوعی است، پس چرا ترمینال نداشته باشیم؟
در Warp می توانید با تایپ کردن هوش مصنوعی را احضار کنید #
در ناحیه ورودی، به دنبال آن دستور شما به زبان طبیعی نوشته شده است. در این مثال من فقط پرسیدم چگونه می توانم حذف کنم node_modules
از پروژه من
در یک لحظه دستور پیشنهادی را دریافت کردم و با Cmd+Enter می توانم آن را اجرا کنم.
همچنین میتوانید از هوش مصنوعی بپرسید که دستور پیشنهادی چه میکند و این توضیحی است که من دریافت کردم، که فکر میکنم توضیح خوبی است:
دستور
rm
مخفف “remove” است و برای حذف فایل ها و دایرکتوری ها استفاده می شود. را-rf
گزینه ها برای حذف اجباری فایل ها و دایرکتوری ها بدون درخواست تایید و حذف دایرکتوری ها و محتویات آنها به صورت بازگشتی استفاده می شود.بنابراین، فرمان
rm -rf node_modules
را حذف خواهد کردnode_modules
دایرکتوری و تمام محتویات آن از دایرکتوری کاری فعلی. را-rf
گزینه تضمین میکند که حذف بدون درخواست تأیید انجام میشودnode_modules
آرگومان فهرستی که باید حذف شود را مشخص می کند.توجه به این نکته ضروری است که این دستور در صورت استفاده نادرست می تواند خطرناک باشد، زیرا می تواند فایل ها و دایرکتوری های مهم را بدون هشدار حذف کند. فقط زمانی باید استفاده شود که مطمئن باشید می خواهید دایرکتوری مشخص شده و تمام محتویات آن را حذف کنید.
جستجوی دستورات
این آخرین ویژگی است که امروز می خواهم به آن بپردازم اما واقعاً برای من ضروری است.
وقتی دستوری را تایپ میکنید، فقط Tab را فشار دهید و جستجویی ظاهر میشود که به شما نشان میدهد چگونه آن را تکمیل کنید، یا چه چیزی را میخواهید بعدا اضافه کنید.
سناریوی ساده: شما تایپ می کنید cd
و سپس Tab را فشار دهید. شما انتظار دارید لیست پوشه هایی را که می توانید به آنها پیمایش کنید و این همان چیزی است که دریافت می کنید. میتوانید با کلیدهای جهتنمای بالا/پایین یکی را انتخاب کنید و Enter را فشار دهید تا به آنجا بروید.
سناریوی جالب: شما تایپ می کنید git
و سپس Tab را فشار دهید. شما نه تنها دستورات git شناخته شده را دریافت خواهید کرد، بلکه نام مستعار سفارشی خود را نیز دریافت خواهید کرد! من از آنها بسیار استفاده می کنم و فهرست کردن آنها در جستجو بسیار مفید است.
شایان ذکر است که همچنین نشان می دهد که نام مستعار سفارشی شما چیست!
شما می توانید در اسکرین شات آن را ببینید lg
و lgo
نام مستعارهایی هستند که من هر بار که میخواهم نگاهی اجمالی به تاریخچه commit داشته باشم استفاده میکنم، اما در مورد log
و reflog
? منظورم این است که آنها با آن شروع نمی کنند lg
که درخواست اولیه من بود.
یک جستجوی فازی در اینجا انجام می شود به طوری که شما دقیقاً نیازی به تایپ چند کاراکتر اولیه ندارید، اما می توانید چیزی را در وسط تایپ کنید یا یک اشتباه تایپی در آنجا داشته باشید، جستجو همچنان آنچه را که به دنبال آن هستید پیدا می کند!
برای جمع کردن
من فقط چند روز پیش استفاده از Warp را شروع کردم، بنابراین بیایید ببینیم که در دراز مدت چگونه عمل می کند، اما تا کنون عالی عمل کرده است!
همانطور که در ابتدا ذکر شد، من همچنین اسناد را مطالعه کردم و موارد بسیار بیشتری وجود دارد که می خواهم امتحان کنم، به عنوان مثال، پیشنهادات تکمیل خودکار و حتی بیشتر از ویژگی های هوش مصنوعی.
اوه، و تم های سفارشی!!
با تشکر از خواندن این مقاله، امیدوارم برای شما جالب بوده باشد!
من اخیراً سرور Discord خود را راه اندازی کردم تا در مورد منبع باز و توسعه وب صحبت کنم، با خیال راحت به آن بپیوندید: https://discord.gg/bqwyEa6We6
آیا مطالب من را دوست دارید؟ ممکن است در نظر داشته باشید که در کانال یوتیوب من مشترک شوید! برای من خیلی معنی داره ❤️
میتوانید اینجا پیدایش کنید:
با خیال راحت من را دنبال کنید تا در صورت انتشار مقالات جدید مطلع شوید 😉
