Ides مدرن جادو است. چرا بسیاری از رمزگذارها هنوز از VIM و EMAC استفاده می کنند؟

  • 2021-11-12

جنگ بی پایان بین کاربران VIM و EMACS در طی این سالها به حالت تهوع تبلیغاتی ادامه داده است. در این مرحله کمتر از جنگ است تا یک تغییر ناخوشایند از عادت غرق شده و مقاومت سرسختانه در برابر تغییر.

توسعه دهندگان یک دسته ظریف هستند. مانند یک سگ که از قدم زدن روی چمن های مرطوب امتناع می ورزد ، همیشه به نظر می رسید مقاومت کمی در تغییر روال است. ما عاشق آنچه که با آن بزرگ شده ایم ، خواه شوخی های Star Trek ، Vim یا Emacs.

منشأ این جنگ در دهه 1980 به گروه های Usenet باز می گردد ، زمانی که VI و EMAC ابزارهای اصلی مورد استفاده برای برنامه نویسی بودند. Emacs ، همانطور که ما به خوبی می دانیم ، "پیچ و خم گذرگاه های کوچک پیچ خورده ، همه متفاوت" است (شوخی یک برنامه نویس قدیمی که از بازی ماجراجویی غار عظیم است) در حالی که Vim (و vi قبل از آن) یک جهان کنترل شده از صفحه کلید را ارائه می دهدمیانبرهاهر دو در سیستم های برنامه نویسی ، ویرایش و مدیریت استفاده می شوند. و گرچه از گفتن آن متنفریم ، هر دو به جایی رسیده اند که به نظر نمی رسد واقعاً بخواهند به غروب آفتاب محو شوند.

جنگ بی پایان بین کاربران VIM و EMACS در طی این سالها به حالت تهوع تبلیغاتی ادامه داده است. این جنگ در این مرحله کمتر از یک تغییر ناخوشایند از عادت غرق شده و مقاومت سرسختانه در برابر تغییر است. به نظر می رسد که کاربران VIM و EMACS ، یک بار در گلو یکدیگر ، کلید های اصلی یکدیگر را اجرا کرده اند (کاری که آنها در واقع انجام می دهند) برای گرفتن یک دشمن مشترک - هر ایده مدرن.

VIM: IDE در دسترس بودن بالا

اجماع بسیاری از کاربران VIM/EMACS تصویری را ایجاد می کند که بسیاری از کاربران فناوری از یک نسل خاص با آن آشنا هستند. همانطور که پدر من تصدیق می کند ، مدت ها پس از اتمام پشتیبانی از مایکروسافت Zune خود ، اگر این کار شکسته نشود ... در حالی که بسیاری از افراد در بازار وجود دارد ، هیچ دلیلی وجود ندارد که اگر لازم نیست از آن استفاده کنید. به همین دلیلی است که من هنوز از دفترچه یادداشت برای تهیه و نه برخی از ویرایشگر متن فانتزی یا ابزار CMS استفاده نمی کنم. این فقط کار می کند

جان کارتر (نه مریخ) می گوید: "دلیل شروع از شروع IDES این بود که وقتی وارد VIM شدم ، مانند یک دهه پیش ، این مجوز اضافی برای جستجوی آن بود.""از آن زمان به بعد به سؤال" سرعت کد "تبدیل می شود. در سطح عاطفی و حرفه ای ، من واقعاً نمی توانم آن را تحمل کنم. انرژی لازم برای محور ویرایشگر جدید است. من آن انرژی ندارممن کار ، یک خانواده و پروژه های جانبی را گرفتم. به نظر احمقانه است اما این نوع محوری انرژی می گیرد. "

VIM همیشه در دسترس است. هر دستگاه لینوکس آن را دارد. VIM دارای یک ردپای کوچک ، تأخیر کم ، راه اندازی سریع ، فضای صفحه نمایش بیشتر ، قابل تنظیم و از همه مهمتر ، پس از انتشار حافظه عضلات ، امکان پذیر است ، تغییر به چیز دیگری تقریباً غیرممکن است.

کارتر ادامه می دهد: "انگشتان ما اغلب تنگنا بین فکر کردن کد و گرفتن آن در برنامه است ، به همین دلیل افراد به دنبال بهینه سازی میانبرها هستند."

Atom را یکی از محبوب ترین IDE ها/ویراستاران بگیرید. Atom یک ویرایشگر متن آزاد و منبع باز است که خود را به عنوان "قابل هک شدن در هسته" صورت می گیرد و امکان سفارشی سازی های متعدد را فراهم می کند. این ویرایش متقاطع ، چهار UI ، هشت موضوع نحوی و با HTML ، JavaScript ، CSS و Node. js. ادغام می شود. مهمتر از همه برای کاربرانی که در پنج سال گذشته برنامه نویسی را شروع نکرده اند ، یک بسته حالت VIM وجود دارد. این امر باعث شده است تا کاربران به معنای واقعی کلمه اتم را به VIM تبدیل کنند ، که قادر به رها کردن گذشته نیستند ، و مایل نیستند آینده ویرایش کد را به طور کامل در آغوش بگیرند.

اکثر IDE ها کل دنیاهایی را ایجاد می کنند که توسعه دهندگان می توانند در آن ایجاد کنند، اما ایجاد نیاز به پیکربندی دارد. تنظیم آن جهان، بازی خدا، ایجاد میانبرها و کلیدهای میانبر، عادت کردن به ساختارهای مختلف فرمان و رابط کاربری زمان می برد. در حالی که یک کدگذار می تواند در هر ترمینال بنشیند و در Vim شروع به کار کند، این برای هیچ IDE درست نیست. علاوه بر این، IDE ها اغلب ابزار زیادی برای کار هستند. برنامه نویسان مبتدی با ویرایشگرهای متن ساده در مقایسه با غول های بزرگ برنامه نویسی بسیار بهتر از آنها استفاده می کنند.

از آنجایی که مشاغل کدنویس ها کمتر از طریق تخصص آنها نسبت به کسانی که چک های حقوق آنها را امضا می کنند تکامل می یابد، همیشه یک ویرایشگر کد ثابت در دسترس آنها وجود دارد بدون توجه به اینکه شرکت کدام IDE را ترجیح می دهد. این می تواند به عنوان یک اقدام نافرمانی عمدی یا فقط ترجیح شخصی دیده شود، اما ویرایشگرهای متن همیشه وجود دارند.

تیم چیس، دونده BSD، می‌گوید: «در اصل موضوع همه‌گیر بودن است. من می‌توانم در هر ترمینال مشابه یونیکس (لینوکس، بی‌اس‌دی، سولاریس، هر چیز دیگری) بنشینم، «vi» (یا «ed») را تایپ کنم و یک ویرایشگر قدرتمند داشته باشم که حتی اگر ترمینال من کاملاً درست پیکربندی نشده باشد (مثلاً ارسال) کار می‌کند. کلیدهای خاص یا کلیدهای ترکیبی) و بدون نیاز به نصب چیزی."

آشنا و راحت

این نوع راحتی است که هر جنگی را که بین آنهایی که هنوز از Vim یا Emacs استفاده می کنند و چشم انداز استفاده از IDE ها تا زمانی که وجود دارد، حفظ کرده است. این اسپاگتی مادر روانی است (یا غذای راحتی خود را در اینجا قرار دهید). Vim و Emacs همیشه در کنار شما هستند، دنج، آرام و مشتاق. در حالی که یک IDE یک غذای عجیب و غریب جدید با انواع مواد تشکیل دهنده عجیب و غریب است که نیاز به چیدن سرسخت و غیرمنطقی با چنگال دارد تا آن را همانطور که می خواهید بدست آورید. قطع ارتباط آشکار است و در این مرحله قابل درک است.

در میان توسعه دهندگان لرزه ای وجود دارد که شاید تغییر به یک IDE کامل آنقدرها هم که به نظر می رسد غیرقابل تحمل نباشد. در نهایت درک اینکه برای انجام کار، از ابزارهای موجود برای انجام کار استفاده می‌کنید، مهم نیست که آن ابزارها چه هستند، یک استعفا وجود دارد.

تام هنکس نمی گوید: «من می گویم، هر چیزی که به شما کمک می کند کارتان را انجام دهید، از آن استفاده کنید»."گاهی اوقات IDE های مدرن تر می توانند مانع ایجاد شوند، گاهی اوقات آنها ضروری هستند. به عنوان مثال، ویژوال استودیو، زمانی که فایل‌های زیادی مرتبط با یک فایل پروژه وجود دارد، مشکلات عملکردی بزرگی دارد. کل برنامه بسیار کند می شود. چند سال پیش وقتی از PyCharm برای توسعه Python استفاده کردم، گاهی اوقات "گیج" می شد و بازخورد بدی در مورد تجزیه و تحلیل نحوی آن ارائه می داد. اساساً، این باعث می‌شد که فکر کنید اشتباه کرده‌اید، در حالی که در واقع همه چیز «خوب» بود.»

گفته می شود، اگر در برنامه نویسی تازه کار هستید، یک IDE مدرن می تواند مفید باشد. با تکمیل کد، کنترل Git، و حتی سیستم‌های استقرار خودکار، IDE‌های مدرن ویژگی‌های ارتش سوئیس هستند. و مانند اکثر چاقوهای ارتش سوئیس، لازم نیست از همه ویژگی ها برای مفید بودن آنها استفاده کنید، به خصوص اگر تازه شروع به کار کرده اید. بسیاری از ما مثلاً از سوراخ سوراخ یا خلال دندان استفاده نمی کنیم، اما خوب است بدانیم که وجود دارد.

هر جنگ ممکن است در پشت پرده های رمزگذار بین VIM ، Emacs و Ides واقعا مهم نباشد. VIM و EMAC ها به زودی به هیچ وجه نمی روند ، بدون توجه به وضعیت قدیمی آنها در محیط های توسعه مدرن. IDES بهبود می یابد ، راه اندازی می شود و به یک بخش روزافزون از توسعه دهندگان جوان که هرگز مجبور به شکوفایی در محیط های VIM یا EMACS نشده اند ، خدمت می کنند. بهترین توصیه برای هر کسی که در انتخاب یک برنامه ترجیحی تلاش می کند ، فقط استفاده از ابزارهای موجود برای انجام کار است. یا ، همانطور که شاعران محبوب قرن بیستم TLC چنان که به طرز ماهرانه ای اعلام کرده اند ، "آبشارها را تعقیب نکنید ، لطفاً به VIM ها و Emac هایی که قبلاً استفاده کرده اید بپیوندید."

پادکست Overflow Stack یک مکالمه هفتگی در مورد کار در توسعه نرم افزار ، یادگیری کدگذاری و هنر و فرهنگ برنامه نویسی رایانه است.

مربوط

کد برای زندگی در 24 اکتبر 2022

چگونه سخت افزار و نرم افزار می توانند حالت های جریان شما را به حداکثر برسانند

کلید در هر دقیقه یک اندازه گیری وحشتناک از بهره وری است ، اما یک صفحه کلید می تواند به شما در تمرکز بهتر در تولید کمک کند.

The Overflow Newsletter Banner

خبرنامه 12 آگوست 2022

سرریز شماره 138: یادگیری اجتماعی برای مهندسان

کد برای زندگی 3 اکتبر 2022

دو سر بهتر از یک است: آنچه مغز دوم در مورد نحوه کار توسعه دهندگان می گوید

Stack Overflow Podcast Relaunch

پادکست 6 سپتامبر 2022

آیا برنامه نویسی با کمک AI باعث می شود که دانش آموزان بتوانند در کارهای مدرسه تقلب کنند؟(قسمت 480)

289 نظر

واقعاً جنگ با Emacs / VIM وجود ندارد زیرا هر دو آنها مزایای یکسانی نسبت به IDE های مدرن تر موش را ارائه می دهند. من فکر می کنم دلیل اصلی مردم Emacs یا VIM را رها نمی کنند این است که امروز با افزونه ها می توانند 90 ٪ از آنچه یک IDE مدرن مانند کد IntelliJ / VS می تواند انجام دهد ، انجام می دهند اما بدون اینکه یک دست از صفحه کلید خود داشته باشید و راندمان تایپ را از دست بدهند. من اعتراف می کنم که این سیستم ها برای راه اندازی و تا حدودی برای استفاده در موارد منسوخ و کارآمدتر هستند ، اما اگر ساعت ها در جلو قرار بگیرند ، می توانند سطح خود را انجام دهند. من از Intellij ، vs Code ، Emacs ، گاهی اوقات VIM و چند نفر دیگر استفاده می کنم. EMACS به دلیل سفارشی سازی های خودم و عدم اعتماد به ماوس هنوز هم برای من کارآمدترین است. ای کاش Intellij بهتر از ناوبری متن و درگیری متن فکر می کرد (بله من در مورد افزونه های VIM/EMACS می دانم ، اما آنها کامل نیستند و فقط ناوبری اساسی را ارائه می دهند).

بیشتر سیستم های لینوکس دارای VI هستند ، نه VIM. و بله ، یک تفاوت وجود دارد

شما می توانید به راحتی `vim` را نصب کنید ، بنابراین ... چه کسی اهمیت می دهد؟

شما می توانید به راحتی هر کاری را نصب کنید تا زمانی که سرپرست به شما اجازه دهد این کار را انجام دهید ، اگر در AWS یا هر ارائه دهنده دیگری که تحت کنترل خود هستید به سرور وارد شوید ، می توانید هر آنچه را که می خواهید نیز نصب کنید ، اما چرا می توانید VIM را نصب کنید. در واقع ، شما حتی نیازی به نصب از راه دور برای استفاده از راه دور ندارید زیرا این حالت دارد که به شما امکان می دهد پوشه از راه دور را از طریق SSH یا FTP یا پروتکل های دیگر همگام سازی کنید ، به صورت محلی ویرایش کنید و سپس آن را از راه دور ذخیره کنید.

بعضی اوقات حتی مدیر اجازه نمی دهد راهی برای ارائه ابزارهای مورد علاقه شما وجود داشته باشد

چرا وقتی می توانید EMACS را نصب کنید ، VIM را نصب کنید؟برای نجات مردم از RSI. وتر مکیدن. ویرایش معین بهتر است.

نه ، آنها این کار را نمی کنند. آنها * آن را * می نامند ، اما در واقع VIM (یا الویس ، در مورد Slackware ، یک کلون VI است که VIM را پیش بینی می کند). آیا واقعاً سعی کرده اید این VI را بدون استدلال اجرا کنید ، یا "vi - version" را اجرا کنید؟خواهید دید که VIM است. تنها سیستم منبع باز که * واقعی * VI را ارسال می کند ، که از طریق سنین به شکل اصلی و اولیه خود به ارث می رسد ، Illumos است. چرا این است؟از آنجا که Illumos مشتق Solaris است ، که خود مشتق Sunos است. SUNOS خود از خود یونیکس مشتق شده است - نه "UNIX" این مفهوم ، اما سیستم عامل و کد واقعی را UNIX می کند.

بسیاری از افراد از تاریخ در این مقاله / نظرات نادان هستند.

درست است، واقعی. اگر من اشتباه نکنم ، معمولاً یک سیما به همان باینری است. در لینوکس ، VI اصلی مدتها پیش درگذشت ویم جایگزین VIM شد

یکی از اولین کارهای من هنگام کار با جعبه Solaris جدید ، نصب VIM بود.😉

جواب منفی. بیشتر لینوکس دارای VIM است که به VI متلاطم است.

بسیاری از VI فقط یک سیما برای VIM است

من فکر می کنم نویسنده این وبلاگ کاملاً از پروژه های دنیای واقعی بی خبر است. Emacs و VIM هنوز هم بسیار مفید هستند و در بسیاری از پروژه ها تقریباً غیرقابل جبران هستند. شرکتی که آخرین بار در آن کار می کردم ، کد پروژه در اندازه 8 گیگابایت بود و شعب زیادی داشت. بارگیری آن کد زیاد با بسیاری از شاخه های کار به طور مکرر غیرممکن است. مردم از 3 مکان در سراسر جهان روی این پروژه کار می کنند.

Vim/emacs هنوز هم مرتبط است زیرا ،

1. آوردن پایه کد بزرگ به لپ تاپ وقت گیر است. 2. اجرای IDE های مدرن با استفاده از منابع عظیم ، بر روی یک سیستم مشترک به دلیل محدودیت منابع امکان پذیر نیست. 3. حتی IDE های مدرن وابستگی های مرتبط با MakeFile و کلان را در پایه های کد C/C ++ برطرف نمی کنند.

با این حال برای پروژه های اسکریپت کوچک و برنامه های وب ، IDE ها خوب کار می کنند ، اما دنیای واقعی بسیار پیچیده است.

آیا زمانی که تایپ کردن را واقعاً قابل توجه است؟

من به طور قطع چندین بار وقت بیشتری را صرف فکر کردن در مورد کدی که می نویسم و سپس در واقع تایپ می کنم.

بیایید بگوییم استفاده از یکی از ویرایشگرهای قدیمی به من اجازه می دهد تا در همان زمان 30 ٪ کد بیشتری را تایپ کنم.

راندمان کل من این همه را افزایش نمی دهد ...

وقتی بزرگ شدم Xcode را دوست داشتم ، اما بعداً متوجه شدم که در مقابل کد چیزهای بیشتری را ارائه می دهد. من چند سال پیش VIM و EMACS را امتحان کردم ، اما رسیدن به سطح VS Code تنظیمات زیادی را انجام می دهد (VS Code همچنین می تواند تنظیمات شما را ذخیره کند و شما می توانید فوراً آنها را در رایانه شخصی جدید قرار دهید).

جنبه دیگری برای این وجود دارد: آموزش

از 4 نوجوان که به شرکتی که اخیراً در آن کار می کنم پیوستند ، فقط 1 برنامه را با استفاده از دستورات گردآوری کرده ام. 3 نفر دیگر قبلاً این را ندیده بودند. همه آنها برنامه های درسی را مانند انفورماتیک کسب و کار مطالعه کردند و اساساً هیچ ایده ای ندارند که چگونه شبکه ها یا رایانه ها کار می کنند. این باعث ناراحتی من می شود ... آنها می توانند کد بنویسند اما درک زیادی از آنها انجام می دهند و چرا - این باعث می شود قلب من درد کند. تمام کاری که آنها یاد گرفتند استفاده از جدیدترین/در حال حاضر بیشترین ابزارها است.

من فکر می کنم یادگیری در ابتدا بیشترین ابزارها (زیرا شرکت ها به افرادی که می توانند از آنها استفاده کنند نیاز دارند) به روشی اشتباه است. از پایین شروع کنید: یک متن با شماره فقط شماره خط. بیاموزید که کامپایلر چیزهای مفیدی به شما می گوید!هر قدم در ویژگی های ویرایشگر باعث می شود که شما عاشق برنامه نویسی بیشتر باشید.

من می گویم مربوط به "زمان صرف شده" نیست بلکه در مورد "حواس پرتی با تایپ کردن" است.

هر چیزی که مانع روند فکر شود می تواند مشکل ساز باشد. هر چند که چه چیزی به چه شکلی مانع می شود، احتمالاً ذهنی است. من پیدا می کنم به عنوان مثالمن زمان آسان‌تری برای نوشتن اسکریپت‌های پایتون در Emacs در VS Code دارم، اما در عوض رابط Emacs من را به سمت فایل‌های منفرد بزرگ سوق داد که به دلیل ویژگی‌های محدود «هوشمند» برای پایتون است.

من واقعا باید پرتابه یاد بگیرم…

LSP (جدی) با شرکت و elpy برای من به زیبایی کار می کند. با این حال، پرتابه برای من یک راز باقی مانده است.😉

متأسفم که این را می گویم، اما این مقاله بسیار غیر جالب و بد اطلاعاتی برای خواندن بود. با اینکه مردم می گویند از ابزارهای قدیمی و قدیمی استفاده می کنم خوب هستم، اما پس از آن انتظار استدلال های محکم و جالبی دارم.

اولاً، این ادعا که vim و Emacs اکنون علیه ویرایشگرهای "مدرن" متحد شده اند، زیرا آنها کلیدهای یکدیگر را پیاده سازی کرده اند، مضحک است. بله، اکنون حتی می توانید vim را در Emacs اجرا کنید و به عنوان مثال بهترین های هر دو دنیا را داشته باشید، اما این ربطی به در دسترس بودن ویرایشگرهای جدیدتر ندارد.

من در مورد Vim اطلاعی ندارم، اما دلیل اینکه Emacs "در غروب آفتاب محو نمی شود" این نیست که در دسترس است و همه جا در حال اجرا است (هستند) و برخی از افراد قدیمی به آن عادت کرده اند (آنها هستند). من فکر می‌کنم این به این دلیل است که Emacs یک ماشین لیسپ بالغ، اثبات‌شده، پایدار و قدرتمند است که مستندسازی شده و کاملاً قابل برنامه‌ریزی است، با صدها پلاگین با کیفیت بالا، و یک جامعه پر جنب و جوش، که همچنان فعالانه آن را حفظ و توسعه می‌دهد.

کاملاً موافقم: یک مقاله بسیار بی‌علاقه، با اطلاعات بد، بسیار مغرضانه، نوع مقاله‌ای برای مبارزه.

برای آن دسته از خوانندگانی که چیز بهتری می خواهند، این را در نظر بگیرید.

من از بسیاری از IDE ها در طول چهل سال (تا کنون) حرفه خود استفاده کرده ام. من (Neo)Vim را ترجیح می دهم. به نظر می رسد نویسنده کاملاً از این واقعیت غافل است که اکثر ما ویرایشگرهای مبتنی بر متن را به جای IDE ها با هدف بسیار خاص و آگاهانه انتخاب می کنیم. ما در حال اتخاذ یک تصمیم طراحی معماری، قضاوت هزینه/فایده، ارزیابی فنی و انتخاب هستیم.

IDE ها نقاط ضعف زیادی دارند.

به عنوان مثال، ویژوال استودیو به دلیل نشت حافظه و مشکلات عملکرد به خراب شدن بدنام بود. زمانی که IDE شما زیاد خراب می شود، نوشتن کدی بسیار دشوار است. بسیاری از IDE های مدرن بسیار پیچیده، و به شدت شلوغ و آهسته هستند.

شاید ساده ترین و واقعی ترین توضیح برای اجتناب از استفاده از IDE ها این باشد که آنها رابط کاربری گرافیکی (Gooey، مانند sticky و yucky) هستند.🙂 استفاده از رابط کاربری گرافیکی کندتر است. استفاده از ماوس کندتر است. هر دو مستعد خطا هستند. بنابراین کاربران پیشرفته تمایل دارند از رابط کاربری گرافیکی استفاده نکنند. آنها همچنین تمایل دارند *nix را به ویندوز ترجیح دهند و برای پیکربندی دستگاه خود پوسته را به کلیک بی پایان ترجیح می دهند. آن‌ها می‌خواهند بر عملکرد به جای شکل، و جوهر بر ظاهر ظاهری تمرکز کنند.

به نظر می رسد که نویسنده هیچ ایده ای ندارد که هر ویژگی خوب IDE تقریباً برای هر ویرایشگر مبتنی بر متن (به ویژه Vim و Emacs) در دسترس است. تکمیل خودکار در دسترس است، بهتر کار می‌کند، پیکربندی آسان‌تر است و عملکرد بهتری در یک ویرایشگر متنی (IMHO) دارد.

بین خطوط خواندم که نویسنده مقاله کاربر پیشرفته ای نیست، و بنابراین آنها هیچ ایده ای ندارند که در هنگام استفاده از ابزارهای قدرتمندی مانند Vim یا Emacs (یا پوسته) چه بهره وری واقعی در دسترس است.

IDE تمایل به تنبلی دارد ، یا شاید این نشانه تنبلی از قبل موجود باشد. آیا می دانید IDE هنگام کلیک بر روی آن دکمه چه کاری انجام می دهد یا آن مورد را انتخاب می کنید؟یک تکنسین خوب باید ابزارهای خود را بشناسد و باید آنها را با سایر اعضای تیم و با کسانی که دنبال می کنند ارتباط برقرار کند. IDE اثری اندکی از نحوه ساخت کد خود ، نحوه بسته بندی آن یا نحوه استقرار آن را به وجود می آورد. IDE را نمی توان در یک خط لوله تحویل مداوم گنجانید.

پیکربندی مداوم در تمام اعضای تیمی که یک پایگاه کد را به اشتراک می گذارند ، تقریباً غیرممکن است و لازم نیست که باشد. هر شخص باید از هر ابزار ویرایش مورد نظر خود استفاده کند ، تا زمانی که یک نتیجه قابل قبول به مخزن کد منبع متعهد شود.

در این مقاله آمده است که توسط یک کودک دلپذیر نوشته شده است. برو کارهای خانه خود را انجام دهید ، پسران کوچک. لطفاً کار واقعی را برای بزرگسالان ما بگذارید.

وای خیلی پاسخ!من فقط باید دو بیت خرد اضافه کنم. یکی نقل قول از برنامه نویس عملی توسط دیو توماس و اندی هانت است. مورد دیگر اعتراف می کند که من این کار را اشتباه انجام داده ام.

برنامه نویس عملی توضیح می دهد که ، مانند هر صنعتگر ، یک برنامه نویس به "ابزار تیز" نیاز دارد که مانند یک پسوند دست خودشان است. شما می خواهید یک ویرایشگر متن را انتخاب کنید که قدرتمند باشد و قادر به استفاده از همه چیز باشید و با آن مهارت ایجاد کنید.

من واقعاً این توصیه را دنبال نکرده ام ، و این به من آسیب رسانده است. من سالها تا اوایل دهه 90 از هر تعداد ویرایشگر استفاده کرده بودم ، وقتی واقعاً مجبور شدم در Emacs یا VI خوب شوم. من emacs را انتخاب کردم. این انتخاب بدی نبود و به خوبی به من خدمت کرده است. اما دیگر ویرایشگرهای جدیدتر فقط * بسیار خوب هستند! * بنابراین برای چند سال اخیراً من بیشتر از اتم (با حالت Emacs) استفاده کردم و به دلایلی که چند ماه پیش به VS Code تغییر دادم. من عاشق بسیاری از ویژگی های IDE مانند این دو هستم ، مانند تست های واحد به طور خودکار در Save ، و خطوط کدی که هنوز تحت پوشش قرار نگرفته اند. ناگفته نماند که همه بازخوردهای خوب را ذکر نمی کند. اما میزان تایپ اشتباهات من به طرز چشمگیری بالا رفته است ، و دستانم به سختی می دانند که دیگر چه کاری باید انجام دهم. ویرایشگر من دیگر ابزاری تیز یا گسترش دستهای خودم نیست. من احساس ناخوشایندی می کنم ، و واقعاً دلم برای این که فقط کد را فکر کنم و آن را ظاهر می کنم ، از دست می دهم. من بعضی اوقات به Emacs برمی گردم ، اما در آنجا نیز مهارت خود را از دست داده ام. بله ، من از کلیدهای Emacs-ish استفاده کرده ام ، اما این یک فریادهای دور و دور از emac های واقعی است. حتی به همان تجربه نزدیک نیست.

بنابراین اگر امکان پذیر باشد ، توصیه می کنم یک ویرایشگر پایدار را که در همه جا و برای همه زبانها کار می کند ، انتخاب کنید و نیازهای اساسی شما را برآورده کنید. این امکان وجود دارد که خطوط کلید VI کامل تر از اکثر Emacs باشد ، و اگر چنین است ، شاید این بهترین راه برای پیشبرد باشد. به اندازه کافی خوب باشید که به ندرت نیاز به رسیدن به ماوس دارید ، یا از هر یک از کلیدهایی مانند خانه/انتهایی که در مکان های مختلف در صفحه کلید لپ تاپ زندگی می کنند استفاده کنید. و خیلی ناخوشایند نباشید. با انتخاب خود زندگی کنید.

راستش توصیه بهتری این است که حداقل 3 ابزار را انتخاب می کنید:

ویرایشگر متن خوب ترمینال ؛(VIM یا مشابه تقریباً اجباری است) یک ویرایشگر خوب GUI Hybrid ، ؛و یک ایده خوب ؛

چیزی شبیه به ابزار Panacea نیست. من بسیاری از افراد را می بینم که در مورد VIM به عنوان تنها ابزار مورد نیاز صحبت می کنند ، اما به وضوح این در بین نیازهای توسعه دهندگان جهانی نیست ، بسیاری از اوقات شما فقط به استقرار عمیق تر ، تجزیه و تحلیل ، اشکال زدایی و غیره نیاز خواهید داشت. فقط دانش خود را بر روی یک بستر یا فناوری واحد متمرکز کنید.

من کاملا با تو موافق هستم. در حالی که من هنوز در حال یادگیری هستم و در هیچ کجا نزدیک به تجربه ای که انجام می دهید ، اخیراً یک مجموعه حداقل قوس لینوکس را با یک مدیر پنجره اصلی امتحان کردم و از خودم بی نهایت لذت بردم. در حال حاضر هنوز از ویندوز به عنوان سیستم عامل اصلی من استفاده می کند ، اما پس از تلاش VIM در لینوکس ، بازگشت به LOL وجود ندارد.

من اخیراً یادگیری C را شروع کردم و Neovim را به عنوان ویرایشگر اصلی خود امتحان کردم. با افزونه هایی مانند تلسکوپ ، CMP و LSPConfig ارائه جستجو ، برجسته سازی نحو ، اتمام اتو و موارد دیگر ، تنظیم Neovim من اساساً یک IDE است ، اما همه چیز بسیار سریع است و به ماوس احتیاج ندارد ، همه در حالی که به من کنترل کامل می دهد. پیروزی برنده.

ناامید کننده است که می بینیم آن سطح استکبار ، احتمالاً یک مهندس نرم افزار که به نظر می رسد تجربه کمی در استفاده از IDE های مدرن دارد. متأسفانه به نظر می رسد این روزها کاملاً شایع است.

"کاربران پیشرفته" بدون توجه به اینکه مبتنی بر رابط کاربری گرافیکی هستند یا نه ، از ابزارهایی که با آنها راحت و کارآمد هستند استفاده می کنند. من Emacs را برای برخی از کارهای ویرایش ، برخی از مقایسه ها و ادغام ها ضروری می دانم ، و وقتی می خواهم کارهای تکراری یا تحلیلی را روی پرونده ها (منابع ، سیاهههای مربوط و غیره) انجام دهم ، ماکروهای ELISP را می نویسم و استفاده می کنم.

با این حال من همچنین از Eclipse به عنوان محیط اصلی توسعه خود ، در لینوکس و ویندوز استفاده می کنم. پیکربندی مداوم از منظر استفاده بی ربط است ، تا زمانی که پروژه ها به درستی پیکربندی شوند و فرمت کد تنظیم شده باشد تا سبک محلی را دنبال کند (به راحتی انجام می شود ؛ شما یک پرونده XML را به عنوان "استاندارد" صادر می کنید و همه افراد آن را وارد می کنند.

علاوه بر این ، ما از Eclipse از جنکینز برای انجام ساخت و سازهای خود ، با استفاده از ویژگی بی سر و خروجی کامل استفاده می کنیم (از جمله تمام دستورات کامپایلر/پیوند دهنده ای که برای رسیدن به نقطه پایانی استفاده کرده است در ورود به کنسول وجود دارد.

IDE ها از جنبه های خاص مزایای بسیاری از VIM/EMAC دارند ، به ویژه در مواردی که فروشندگان تلاش کرده اند تا افزونه هایی را که از محصولات آنها پشتیبانی می کند ، به عنوان مثال. کسانی که در Mcuxpresso ، STM32Cubeide و سایر موارد شخص ثالث از Parasoft و مواردی از این دست هستند ، بار دستی ایجاد و اجرای تست های واحد را کاهش می دهد. با این حال ، آنها مسیری طولانی برای مطابقت با انعطاف پذیری و قدرت Emac ها دارند ، بنابراین هر استدلالی که می گوید "Ides بد است ، از X استفاده کنید" یا "X بد است ، به جای آن از IDE استفاده کنید" ، IMO ، یک نشانه است. جهل

موافقت کرد!اینها استدلال های بدی است!جنجال

من اخیراً بعد از 15 سال استفاده از چندین IDE به VIM ، مانند 3 سال پیش ، به VIM تغییر دادم. من همیشه سعی می کردم این IDE ها را سفارشی کنم اما همیشه احساس می کردم که آنها از بسیاری جهات فاقد آن هستند ، در آن 15 سال این IDE ها گاهی اوقات تغییر زیادی می کردند و باعث می شد تنظیمات صادرات/واردات همیشه مفید نباشد. نیاز به بازگرداندن یک دسته از چیزها ، بعضی چیزها گاهی اوقات دیگر کار نمی کنند و با هیچ راهی برای تغییر آن رفتار راحت تر نمی شوند. من قبلاً از افزونه های VIM 'Keybinding' در تمام IDE های خود استفاده می کردم (اکنون می دانم که آنها حتی بالای کوه یخ را به شما نمی دهند ، و آنها معمولاً رفتارهای متفاوتی دارند که به اندازه خوبی نیست (توجه داشته باشید: یک افزونه Neovim وجود داردVScode که از Neovim واقعی به عنوان پس زمینه استفاده می کند و می تواند از بسیاری از افزونه های VIM موجود استفاده کند ، این تنها افزونه VIM است که من در یک ویرایشگر دیگر که به ارزش نام آن را می شناسم) می دانم. در بعضی مواقع ، یک همکار جدید وارد شد که تمام وقت از VIM استفاده می کرد ، و من احساس اطمینان کردم که سوئیچ را درست کنم.

خیلی سریع متوجه شدم که هرگز و هرگز به استفاده از IDE برنمی گردم. من بالاخره احساس کردم در خانه هستم، بله در ابتدا سخت است، که شما را مجبور می کند در مورد آن تحقیق کنید و بخوانید، باید چیزهایی را یاد بگیرید تا کارهای اولیه را انجام دهید، اما آن چیزها بعداً شما را قادر می سازد کارهای بسیار پیشرفته تری را انجام دهید. سقفی برای سفارشی کردن آن و بهبود گردش کار شما وجود ندارد. Vim، در سبک یونیکس خوب، همه ابزارها را برای انجام هر گونه تغییر/سفارشی کردن، درست روی سطح، بدون دست گرفتن، تا حد امکان کارآمد در اختیار شما می‌گذارد، و اگر جزئیات کوچکی وجود دارد که دوست ندارید، می‌دانیدشما می توانید آن را هر طور که می خواهید تغییر دهید. کار در vim مانند انجام یک بازی ویرایش در تمام طول روز است، می‌توانم از ویرایش متنی که برای ویرایش سخت است لذت ببرم، با یافتن دستور عالی ماکرو یا جایگزین/جهانی که آنچه را که می‌خواهم با حداقل تلاش انجام می‌دهد. راه‌های پیشرفته بسیاری برای خودکار کردن برخی چیزهایی که معمولاً فقط یک بار به آن‌ها نیاز دارید، ارائه می‌کند، که در غیر این صورت نیاز به نوشتن اسکریپت برای آن دارید و انجام نمی‌دهید، زیرا فقط یک بار برای آن 30 خط یا بیشتر به آن نیاز دارید. متن

من چندین پلاگین کوچک vim نوشته‌ام، انجام آن بسیار ساده است، زیرا شما باید بسیاری از این چیزها را بدانید تا بتوانید کد را جابه‌جا کنید، و توزیع آن بسیار آسان است: فقط آن را در github قرار دهید و شماانجام شدبسیاری از مدیران پلاگین vim فقط بخشی از یک پیوند github را می گیرند و آن را برای شما نصب می کنند و آن را به روز نگه می دارند، شما مخزن git محلی هر افزونه ای را که دارید می دانید، بنابراین باز هم، آیا رفتاری وجود دارد که دوست ندارید، افزونهکد درست در آنجا وجود دارد که می توانید آن را ویرایش کنید (شاید یک فورک ایجاد کنید و درخواست کنید). من پلاگین های کوچکی نوشته ام. که از نحوه سازماندهی فایل‌هایمان برای پرش سریع بین فایل‌های مرتبط در زیردرخت‌های دیگر، ایجاد کد boilerplate هنگام ایجاد یک فایل جدید، ایجاد تکه‌کدهایی که از متن آگاه هستند، برجسته‌سازی/تورفتگی سفارشی برای یک DSL سفارشی و فایل قالب متنی سفارشی استفاده می‌کنند. ما استفاده می کنیم، … این چیزها معمولاً در برخی از IDE ها امکان پذیر است، اما vim شما را به انجام این کارها دعوت می کند، به این منظور طراحی شده است که مطابق میل شما سفارشی شود و بهینه شود. و می‌دانید که وقتی این چیزها را ساختید و یاد گرفتید، تا پایان کارتان در هر زبان برنامه‌نویسی/سیستم‌عامل/پلتفرمی که ممکن است در آینده منتشر شود، به شما خدمت خواهند کرد.

و بسیاری از دلایل دیگر، اما نه آنچه در این مقاله است!

بله، atom/vscode و احتمالاً برخی دیگر از برخی جهات مانند vim بیهوده هستند، اما نه به اندازه گسترده (ماکروها / دستورات جهانی / DSL برای کارهای ویرایش اسکریپت؟ هیچکدام از اینها، یا به همین راحتی نیست)، همچنین حالت وانیلیویرایش در vim در حال حاضر بسیار خوب است، و آنها این را به شما نمی دهند، حتی با پلاگین های پیش فرض vim، فقط کمی از آن را اضافه می کند (بنابراین به استثنای افزونه vscode neovim) سپس منچیزی شبیه این را بخوانید: "این باعث شده است که کاربران به معنای واقعی کلمه Atom را به Vim تبدیل کنند، نمی توانند گذشته را رها کنند، و تمایلی به پذیرش کامل آینده ویرایش کد ندارند."نه، فقط نه، این نشان می دهد که شما مطلقاً نمی دانید در مورد چه چیزی صحبت می کنید، smh. چه آینده ای از ویرایش کدنویسی؟این در مورد اضافه کردن گم شده است!ویژگی هایی که تجربه ویرایش را تا حد زیادی بهبود می بخشد، ویرایش بیشتری را با تایپ کمتر انجام دهید. Vim/nvim در حال توسعه فعال هستند، افزونه‌های جدید بسیار خوبی در سال‌های اخیر منتشر شده‌اند، این به طور کامل بخشی از آینده است و تا حدی آن را هدایت می‌کند. من فکر می کنم atom/vscode عالی هستند، اما vim برای من از نظر عینی انتخاب بهتری است. به نظر من بهترین چیز در مورد vscode این است که منجر به توسعه استاندارد باز "پروتکل سرور زبان" شد که برای بسیاری از ویرایشگرها/IDE ها کلاینت های زیادی وجود دارد و سهولت تکمیل کد معنایی/goto/fixit/ را تا حد زیادی بهبود بخشیده است. برای بسیاری از زبان‌ها، همچنین در vim، قبل از به دست آوردن این ویژگی‌ها تلاش بسیار بیشتری صورت می‌گرفت.(یک نکته: مایکروسافت واقعاً از زمان نادلا تغییر کرده است)

حقایق، من با شما موافقم، OP ها استدلال های وحشتناکی را ارائه می دهند که ناشی از جهل و درک نادرست ابزارهای موجود در سقوط دعای مغالطه زمان است. آنها هیچ ایده ای ندارند که vim و emacs چقدر نسبت به IDE ها حتی نسبت به چیزهایی مانند atom و vscode برتری دارند.

جان بیگز و رایان دونوان شما رقت انگیز هستید، یک مقاله کامل در مورد اینکه چرا مردم هنوز از vim یا emacs استفاده می کنند و شما تحقیقات خود را انجام نمی دهید، می سازید.

نکته اصلی این است که این IDE ها توسط همان افرادی ساخته می شوند که جان بیگز و رایان دونووان هستند، افرادی که به برخی اشتباهات اعتقاد دارند "جدید همیشه بهتر است" و فکر می کنند یک درخت در کنارش داشته باشند و یک ترمینال در آن باز کنند. همان پنجره، واقعیت واقعی ویرایش متن را که در بهترین حالت برابر با دفترچه یادداشت است، جبران می کند.

من 14 سال از vim استفاده کردم، سپس شروع به استفاده از Emacs کردم و 10 سال دیگر است که از هر دو استفاده می کنم، گاهی اوقات از Intellij IDE استفاده می کنم اما هنوز درایور روزانه من Spacemacs است، macvim ویرایشگر جانبی من است.

بهترین چیز این است که کنترل کامل ابزار خود را داشته باشید. Vim هنوز این دیدگاه را ارائه می دهد که "این همان چیزی است که ویرایش باید باشد" اما به شما امکان می دهد همه چیز را به راحتی تغییر دهید. Emacs از همان ابتدا به شما امکان می‌دهد هر کاری را که می‌خواهید انجام دهید، زیرا بیشتر شبیه یک پوسته است تا یک ویرایشگر، پوسته‌ای با چند قدم بیشتر در تکامل به bash یا zsh یا ماهی، زیرا دیگر از رابط تله تایپ استفاده نمی‌کند..

Atom، VSCode، Sublime، mate و غیره همگی از استودیوی هوشمند و ویژوال تقلید می کنند و این دو از سری IDE های عصر ویژوال IBM که تقلیدی از smalltalk در دهه 80 بود، تقلید می کنند. اما هنوز هیچ یک از آنها به خوبی Smalltalk نیستند، و Smalltalk هنوز این مشکل را دارد که ویرایشگر متن آن بد است، Vim و emacs تجربه ویرایش بهتری را ارائه می دهند.

دلیلم را به شما می‌گویم: در زنجیره ابزار یونیکس قرار می‌گیرد. من در خط فرمان زندگی می کنم و سیال بودن استفاده از vim در آنجا بی نظیر است. و افشای کامل من اخیراً به nvim "تغییر" کردم، بنابراین شما کاملاً در اشتباه هستید که من مخالف تغییر هستم :P. IDE ها عموماً برنامه های «بالا به پایین» هستند که اساساً یک محیط کامل برای خودشان هستند. Vim هم می تواند اینطور باشد، اما به نظر من بهتر است به روش دیگری کار کنم. برای شروع با خط فرمان به عنوان محیط و استفاده از vim به عنوان یکی از ابزارهای موجود در آن.

من در مک های قدیمی با BBEdit و سایر ویرایشگرهای غیرمدال بزرگ شدم. در Unices سال‌ها از nedit استفاده کردم، که تقریباً معادل است، اما از طریق اسمز به آرامی vim را یاد گرفتم. در نهایت تصمیم گرفتم واقعاً آن را یاد بگیرم و آن را به میل خود بچسبانم، و هرگز به عقب نگاه نکردم. به نظر من vim بسیار شبیه به نواختن یک آلت موسیقی است، شما با تمرین زیاد این قطعه را توسعه می دهید، و همیشه می توانید تکنیک های جدید را حتی پس از سال ها یاد بگیرید. با این حال، گاهی اوقات به طرز ناشیانه ای "یادداشت ها را از دست می دهم" و به طور تصادفی در علف های هرز می افتم. صرف نظر از من استفاده از آن سرگرم کننده تر و لذت بخش تر است زیرا مال من است.

حدود 18 سال پیش به عنوان یک برنامه نویس تازه کار، من به یک فرد معتاد به ویژوال استودیو تبدیل شدم (همه کتاب های دات نت بر اساس در دسترس بودن VS نوشته شده بودند). سالها بعد، زمانی که مجبور شدم پایان نامه خود را در C/VHDL بنویسم، به Sublime تغییر مکان دادم. برای من شگفت‌انگیز بود که بار مدیریت بسیاری از ویژگی‌های غیر ضروری در یک ویرایشگر متنی ساده از بین رفت. Sublime برای بسیاری از زبان‌ها (حتی HSPICE) برجسته‌سازی نحوی داشت و به من اجازه می‌داد روی کدم خیلی بهتر از ویژوال استودیو تمرکز کنم.

امروزه من گاهی اوقات برای نوشتن برنامه های C به VScode سوئیچ می کنم اما بلافاصله به sublime برمی گردم زیرا VScode با پنجره های نامرتب و محیط کندش حالم را به هم می زند.

و Vim برای من بسیار امیدوار کننده به نظر می رسد و من Vimtutor شروع را به پایان رساندم، فکر می کنم که محیط برنامه نویسی بعدی من برای C و C++ و شاید پایتون خواهد بود زیرا VIM بدون حواس پرتی است.

IDE های مدرن به طور پیش فرض حواس پرتی بصری متعددی را ارائه می دهند و سعی می کنند با حدس زدن کارهای بعدی، بهره وری شما را بهبود بخشند. من مدت زیادی است که برنامه نویسی می کنم و این پیشنهادات را آزاردهنده می دانم زیرا به هر حال کدهای خوب نوشته شده دارای محتوای قابل پیش بینی زیادی در دیگ بخار نیستند.

s/با حدس زدن/با حدس زدن نادرست/

آنجا، آن را برای شما ثابت کرد.

می توانید این را خاموش کنید، 2 ثانیه طول می کشد.

همچنین تصور کنید که «کد خوب» شامل هیچ صفحه بخاری نمی شود.

آره خاموشش کن حالا چی؟IDE شما اکنون فقط یک ویرایشگر متن بد است. پس دوباره چه فایده ای دارد؟

همچنین، "استفاده از یک بازنده ایده"، چرا در مورد انتخاب شخصی در نرم افزار احساساتی شویم؟

این مانند کوهنوردان قدیمی و بداخلاق است که در مورد اینکه چرا ATC ها در مواجهه با دستگاه های ایمن تر و مدرن مانند Grigri «به اندازه کافی خوب هستند» بحث می کنند.

ما شلاق گیران جوان فقط ریشه های فرهنگی خود را درک نمی کنیم/به آن احترام نمی گذاریم…

چه کسی یک بار به ریشه های فرهنگی اشاره کرده است؟و ما قرار است فقط مرجع صعود مبهم شما را دریافت کنیم - که به خودی خود مشکوک است. زمانی که من با هلی‌گلایدر پرواز می‌کردم، یک قانون مهم این بود: "فقط یک کار جدید را همزمان انجام دهید". من تصور می‌کنم این موضوع در مورد کوهنوردی نیز صدق می‌کند، که احتمالاً حتی خطرناک‌تر است. من می‌توانم بگویم اگر با آن‌ها راحت و ایمن هستید، استفاده از ATCها (هر چه که هستند) کاملاً خوب است. در مجموع، یک تشبیه ضعیف، و یک پست ضعیف – و بی‌خودی بی‌ادب.

این عالی است ، من در هر روزی که می خواهم کد را تهیه کنم ، از IDE های زیادی استفاده می کنم ، اما هنوز هم باید از VIM یا EMAC یا NANO استفاده کنم ، وقتی روی پوسته هستم ، می گویم SSH را به یک سرور یا Docker نمونه می گویم و می خواهم برخی از اسکریپت ها را بنویسمیا پیکربندی ها را تغییر دهید و غیره

هوم ، در مورد "در حالت ترمینال به صورت محلی و بیش از SSH اجرا می شود"؟من عاشق Vscode و Jetbrain هستم اما آنها این کار را نمی کنند. و emacs یک ایده است. شرح

"ام ، در مورد" در حالت ترمینال به صورت محلی و بیش از SSH اجرا می شود "؟"

VS Code دارای یک افزونه SSH SSH است که به فرد امکان ویرایش پرونده های از راه دور را می دهد ، بدون نصب چیزی در ریموت. IIRC ، در حال حاضر فقط با دستگاه های اوبونتو ، دبیان ، RHEL/CentOS کار می کند. و VS Code دارای ترمینال یکپارچه است که می تواند به چندین صفحه تقسیم شود.

اگر یکی * واقعاً * بخواهد ، می توان در Vscode خیلی خوب زندگی کرد.

به طرز باورنکردنی ، من ویرایش ویندوز را بسیار از دست می دهم.

آیا IDE وجود دارد که بتواند الیزا را اداره کند؟برج هانوی؟مطبوعات جدا شده؟

همراه با یک نسخه از دستور العمل کوکی 250 دلاری؟

با تشکر از مقاله سرگرم کنندهخوشحالم که شما طرف نکردید

برای کسانی که فکر می کنند "شاید وقت آن رسیده است که یک ایده را یاد بگیرند" ، فهمیدم که بهترین زمان در عین حال یادگیری یک زبان جدید (و ترجیحاً مدرن) است. به خصوص در مواردی که ویرایشگر و زبان دوستان نزدیک هستند (به عنوان مثال ، Vscode و TypeScript) ، یادگیری این دو در کنار هم یک راه خوب برای فریب دادن خود در تمایل به نادیده گرفتن تمام حافظه عضلانی است که انگشتان شما دارند و برای یادگیری باز هستندترفندهایی که IDE جدید ارائه می دهد.

هیچ فایده ای در "یادگیری یک IDE جدید" وجود ندارد. Vim (و Emacs) برای ماندن در اینجا است ، ثابت کرده است که از بسیاری از نسخه های بسیاری از IDE ها ، که امروز از Borland ، Codewarrior استفاده می کند ، زنده مانده است؟آنها در روز "ides مدرن" بودند.

VScode خوب است ، اما "مدرن تر" نیست و هرگز هرگز موفق نخواهد شد. همچنین سعی نمی کند. کل مقاله فرضیات اشتباهی را ایجاد می کند. من حدس می زنم

گفتن اینکه هیچ فایده ای در یادگیری یک ایده جدید وجود ندارد ، به همان اندازه کوتاه بینانه است که می گویند ویم "قدیمی" است و از از بین رفتن امتناع می ورزد. فقط از هر دو در شرایطی استفاده کنید که شما را به عنوان پربارترین ، نه؟

این یک مقاله عمیقاً بی روح است. بسیاری ، اگر نه بیشتر ، کاربران VIM *از Ides *نیز استفاده می کنند. من تقریباً تمام وقت خود را در یک IDE می گذرانم و VIM بخش مهمی از آن است.

اول ، VIM چیزی بیش از یک ویرایشگر است ، یک مدل *ویرایش *و مدل برتر است. این ترکیبی از چندین چیز است:

1. ویرایش معین ، که در آن دستورات با استفاده از کلیدهای * غیر انتخابی * صادر می شود ، که امکان ویرایش را با سرعت تایپ منظم (یعنی سریع به عنوان جهنم) فراهم می کند. 2. یک زبان فرمان گرامری ، که در آن دستورالعمل های پیشرفته می تواند از افعال و اسمها تهیه شود ، سپس با شمارش ها واجد شرایط یا با یک کلید واحد تکرار می شود. از آنجا که VIM معین است ، این دستورات متن ساده ، قابل خواندن و قابل ویرایش هستند. 3. هر کلید موجود در صفحه کلید یک رجیستری است که می تواند توالی این دستورات متنی را ذخیره کند ، که می تواند پس از آن بازی شود یا حتی در اقدامات پیچیده تری نیز ساخته شود. 4- دستورات ، توالی دستورات یا توالی توالی (ماکروهای تشکیل شده از سایر ماکروها) می توانند دوباره به کلیدها در پرواز ، مجدداً با تایپ کردن * متن ساده (این بدان معناست که حتی می توانید یک دستور را که یک دستور را به هم متصل می کند) متصل کنید.

VIM بسیار عمیق تر از این است ، اما این عوامل به تنهایی باعث می شود که در دست یک متخصص به طرز پوچ و قدرتمند قدرتمند شود. این مانند یک موتور دستکاری شده *موتور *است ، جایی که شما ابزارهای تحول متن را در پرواز ، به سرعت ، به طور شهودی می سازید ، که در غیر این صورت برای انجام آن باید کد سفارشی بنویسید.

دوم، بسیار مهم، مدل ویرایش Vim *قابل حمل* است. از آنجایی که بسیار فراگیر است، این مدل ویرایش تقریباً توسط هر ویرایشگر اصلی و IDE پشتیبانی می شود. اگر 10 ابزار مختلف دارید، ده کلید مختلف برای "خط کپی"، "کپی تا انتهای خط"، "کپی کلمه در زیر مکان نما" و غیره دارید، با این فرض که ابزار حتی *دارای* کلید برای آن چیزها هستید (بسیاری از ابزارها دارای مدل های ویرایش ضعیف/کم خون هستند). اگر می‌خواهید در هر ابزاری که استفاده می‌کنید حداکثر کارآمدی داشته باشید، باید آن را بیاموزید، بنابراین بیشتر مردم حتی به خود زحمت سرمایه‌گذاری روی تسلط عمیق بر همه ابزارهایشان را هم نمی‌دهند.

یا می توانید یک بار مدل Vim را یاد بگیرید و در همه جا از آن استفاده کنید. کار فعلی من به هر دو ویندوز و لینوکس نیاز دارد. من نیمی از روز از Visual Studio، IntelliJ، Visual Studio Code و SQL Server Management Studio استفاده می کنم و بقیه را از طریق ترمینال کار می کنم. من از Vim در همه جا و همیشه استفاده می کنم.

Vim ابزاری نیست که توسط دایناسورهای قدیمی که به گذشته چسبیده اند استفاده کنند. هجوم دائمی کاربران جدید وجود دارد، که اغلب پس از رسیدن به سطحی از تسلط که از مزایای مدل بهره می‌برند، تبدیل‌شونده می‌شوند. اگر به اندازه کافی یاد گرفته اید که از Vim خارج شوید، از موضع ناآگاهی بحث می کنید، که با توجه به مقاله واضح است.

tl;dr: Vim یک مدل ویرایش برتر و قابل حمل است که در تعداد زیادی ابزار مدرن موجود است.

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.