Vim and Emacs: All Quiet Up Front

در میان جنگ های مقدس افسانه ای ترین که ما از آن مطلع هستیم جنگ ناشران است. Vi / Vim در برابر Emacs. این به خصوص جالب است زیرا هر دو نرم افزار رایگان با قابلیت های بسیار بالا هستند.

این به سالها قبل برمی گردد. Emacs توسط ریچارد استالمن در دهه 35 ساخته شد ، تقریباً 1991 سال پیش منتشر شد. Vi تقریباً در همان سن است که توسط Bill Joy خلق شده است. از طرف دیگر ، Vim تا حدودی جدیدتر است و ناشی از نیاز برام مولنار برای ایجاد یک کلون Vi برای Amiga در سال XNUMX است.

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

برای چه استفاده می کنم؟

بیایید یک شرایط کاملاً فرضی بگذاریم. Gúgol کلمه ای ریاضی است که کلمه ای را تعریف می کند که پس از آن صفر صفر دنبال می شود. چگونه آن را در ویرایشگر متن بنویسیم؟

اولین راه حلی که به ذهن خطور می کند تایپ کردن یک و فشار دادن کلید 0 است تا اینکه ستون شمارنده 101 را تنظیم کند ، زیرا 101 کاراکتر باید این عبارت را اندازه گیری کند. ما فرض می کنیم این را در یک ویرایشگر متن صالح ویرایش می کنیم ، که دارای یک نوار وضعیت برای نمایش این موارد است.

اکنون ، می توانم به یک راه حل ساده تر فکر کنم:

i1 ESC 100a0 ESC

البته این راه حل به Vim یا حداقل Vi نیاز دارد. او فرمان کاملاً ساده است ، و مثل اینکه ما به ویم می گوییم: در حالت عادی باشید ، آن را وارد کنید 1 و به حالت عادی برمی گردد. حالا صد بار بعد از مکان نما وارد کنید 0 و به حالت عادی برمی گردد. Vim بدون س orderال سفارش ما را اجرا می کند.

پیچیدگی

این راه حل بسیار پیچیده به نظر می رسد و من آن را دریافت می کنم. اول ، زیرا ما با مفهوم a روبرو هستیم ویرایشگر مد. اما مواردی وجود دارد که بسیار مفیدتر از آن است که به نظر می رسد.

بگذارید بگوییم ما یک لیست خرید داریم. ما می خواهیم به فروشگاه برویم و می خواهیم آنچه را که می آوریم بنویسیم. به یاد داشته باشید که این چیزی فرضی است ، هیچ کس نباید کامپیوتر خود را به فروشگاه ببرد تا به دنبال غذا برود. به هر حال این لیست ماست:

1 موز 4 سیب 2 کیلو شکر 1 لیتر آب

 

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

پس بیایید شروع کنیم از آنجا که ما می خواهیم از لیست اصلی خود نسخه پشتیبان تهیه کنیم ، یک نسخه را با آن تهیه می کنیم 4yy و ما آن را در زیر با p. چند بار Ctrl-a را فشار دهید تا تعداد موزها افزایش یافته و به انتهای کلمه بعدی منتقل شود با e. ما به خط دوم پایین می آییم ، Fm برای رسیدن به کلمه سیب و فشار دادن ~ (AltGr-4 روی صفحه کلید من) به طوری که نامه به نسخه بزرگ آن تغییر می کند. ما یک j برای رفتن به خط بعدی و ما در k ظاهر می شویم کیلوگرم با b. با تایپ از حالت عادی خارج می شویم cw و نوشتن کلمه جایگزین برای کیلوگرم ، که کیلوگرم خواهد بود. ما ESC را فشار داده و دوباره به حالت عادی برگردیم j برای انجام همان کار با لیتر. آماده. اکنون لیست ما به این صورت است.

3 موز 4 سیب 2 کیلوگرم شکر 1 لیتر آب

قدرت

بیایید عمل فوق را در این خلاصه کنیم:

4yy G p 2Ctrl-A e Fm ~ jb cw kg ESC jb cw L ESC

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

ویراستاران به شرطی که Vim یا Emacs بتوانند کارهایی از این دست را انجام دهند زیرا سالهاست که ساخته شده اند و ایده های بسیار روشنی درباره چگونگی انجام کارها دارند.

منحنی های یادگیری

بله ، آنها شیب دار هستند. اما این همان ابتکاراتی مانند Cream است ، که یک محیط کاملاً آماده برای استفاده از Vim را بدون نیاز به مبارزه با حالت ها و حالت گورو ، یک برنامه افزودنی Emacs فراهم می کند که - تا آنجا که من می دانم - به مبتدیان کمک می کند.

حالت گورو بخشی از Emacs Prelude است ، مجموعه ای از پسوندها چه چیزی این کار را برای شما آسان می کند اگر می خواهید یاد بگیرید.

برنامه های افزودنی

از آنجا که آنها ویرایشگرهای گسترده تری نسبت به بسیاری از ویرایشگرهای مدرن هستند و زبان های داخلی خود را دارند ، می توانید تم های رنگی ، پلاگین ها و موارد دیگر را پیدا کنید موارد جالب دیگری وجود دارد مانند:

به نظر می رسد برنامه ریزی برنامه های افزودنی در Emacs Lisp آسان تر از VimScript است (یا خوشایندتر). منظور من این است که این یک زبان کاربردی است که توسط هسته ای که برای آن ساخته شده است ، در برابر یک زبان اجباری ساخته شده برای پیکربندی و گسترش تفسیر می شود.

نتیجه

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

و سرانجام ، اگر تعجب کرده اید که چرا من به جای y یک عنوان را قبل از Emacs در عنوان قرار داده ام ، به این دلیل است که برای من بهتر به نظر می رسد. چیزی شبیه / í-macs /. من با تغییر موقعیت توانستم خودم را در هجی کردن املا نجات دهم ، اما من واقعاً دوست دارم Vim این کار را برای آن انجام دهد ...


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

27 نظر ، نظر خود را بگذارید

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد.

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.

  1.   87 dijo

    من فقط از nano استفاده می کنم و فقط برای ویرایش برخی از پرونده ها 0.0

    1.    مخالف dijo

      این بیشتر بحثی برای استفاده از آنها است. می بینم که بسیاری از افراد ترجیح می دهند آنها را امتحان نکنند و من برای تشویق آنها شروع به نوشتن مطلبی کردم. خودشه.

      (من می دانم که این یک مورد ضعیف است)

      1.    دامیان ریورا dijo

        اصلا تنبل نیست ، emacs و vim ویرایشگرهای متن خوبی هستند ، من آنها (vim) را به جای IDE ترجیح می دهم

        توجه

        1.    مخالف dijo

          متشکرم. حالا که به آن فکر کردم ، فکر می کنم به طور تصادفی یک حرکت شبیه چمچه زنی دادم. توزیعی که ذکر کردم به نظر می رسد همین امروز منتشر شده است.

    2.    KZKG ^ Gaara dijo

      ahahaha همان اتفاق برای من می افتد ، با nano من مانده ام

  2.   ایولاندرو dijo

    خوب اخیراً من نیاز به ویرایش یک فایل توسط telnet در یک اکسس پوینت با dd-wrt داشتم و مجبور شدم vi را بخاطر بسپارم.

  3.   MSX dijo

    1. " جنگ ناشر وجود دارد. »
    ERROR!
    Vim یک ویرایشگر است ، Emacs یک برخورد دهنده هادرون آماده برای استفاده در رایانه شما است ، می دانید!

    2. استفاده از کرم (ajjj) یا هر نوع "کمکی" برای Vim یا Emacs همان نصب Manjaro و وانمود کردن نصب و استفاده از Arch است - با توجه به این نکته که یک کمک کننده اصل Vim یا Emacs را تغییر نمی دهد و مانجارو منجارو است اما آرچ نیست.

    اگر واقعاً می خواهید آن را با Emacs تکان دهید ، سایت های جالب وجود دارد:
    http://emacsrocks.com/
    http://www.masteringemacs.org/
    http://batsov.com/prelude/
    http://lisperati.com/casting.html

    1.    مخالف dijo

      Emacs یک مفسر Lisp است که دارای ویژگی های اضافه شده برای ویرایش متن است.
      کرم می تواند هر چیزی باشد که بخواهید ، اما آنجاست که مبتدیان مستقیماً به دیواره ویرایش مود سقوط نکنند.
      Emacs در ابتدا تا حدودی آسان تر است ، زیرا بله ، برای اولین بار بنویسید

  4.   آنوبیس dijo

    [حالت falmewar روشن]

    Emacs ، آن سیستم عامل که 35 سال بعد هنوز فاقد ویرایشگر متن خوبی است ...

  5.   xykyz dijo

    "Vim and Emacs". از آن "e" در عنوان (و جایی در متن) سو mis استفاده می شود ...

    1.    xykyz dijo

      و اتفاقاً ، من از vim برای همه چیز در حال حاضر استفاده می کنم. من از سال گذشته شروع به استفاده از آن کردم و اکنون برای من ضروری شده است. همچنین این مزیت را دارد که vi در همه (یا حداقل تقریباً همه) از قبل نصب شده است که تقریباً یکسان است ، بنابراین با دانستن نحوه استفاده از آن می توانید پرونده ها را در هر توزیع ، خواه X11 داشته یا نداشته باشید ، ویرایش کنید.

      من Emacs را امتحان کرده ام ، اما به نظر می رسید که این ترکیبات صفحه کلید ناراحت کننده ای هستند ، بنابراین من روی Vim تمرکز کردم

    2.    مخالف dijo

      او قبلاً آن را به پایین توضیح داد. برای من آنچه باید استفاده شود e زیرا این عبارت به نظر می رسد / vim و i-macs /، مشاهده کنید که وقتی کلمه بعدی با صدای i شروع می شود y به e تغییر می کند.
      با این حال ، قرار دادن آن به عقب و جلوگیری از مشکلات بسیار زیبا تر بود ، اما کمی آزمایش به کسی آسیب نمی رساند.

      1.    xykyz dijo

        بسیار خوب ، من به دلیل کمبود وقت نتوانستم کل مقاله را بخوانم.

        به هر حال همچنان غلط املایی است ، هرچقدر که صدای بهتری داشته باشد.

        1.    مخالف dijo

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

          1.    xykyz dijo

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

            در مورد کلمات خارجی ، پیوند 'و' به همان اندازه که emacs است ، یک کلمه خارجی نیست. از آنچه من فهمیدم (که اکنون هم وقت تأیید ندارم) emacs باید emacs را بخواند ، مهم نیست که چقدر آن را به انگلیسی بخوانیم. در غیر این صورت اعمال قوانین هجی امری دشوار است ، زیرا اگر اسپانیایی صحبت می کنید مجبور نیستید انگلیسی یا آلمانی صحبت کنید و بنابراین لازم نیست بدانید که چگونه این کلمات در آن زبان ها تلفظ می شوند.

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

        2.    مخالف dijo

          متشکرم. بازخورد و انتقاد سازنده در خدمت همه ما است.

  6.   دیازپان dijo

    من دوست ندارم از آنها استفاده کنم ، اما در یک دوره برنامه نویسی عملکردی پیشرفته ، شما مجبور بودید یک ویرایشگر از نوع Vim بسازید ، اما در haskell.

  7.   تیو 100 dijo

    من vi یا vim را ترجیح می دهم زیرا جهانی ترین است زیرا در هر سیستم عامل یکسان عمل می کند و همه * nix آن را شامل می شود و منظور من همه از GNU / Linux ، HP-UX ، Solaris ، AIX ، BSD گرفته تا نسخه های کوتاه شده لینوکس است. به عنوان dd-wrt

  8.   ابیمائل مارتل dijo

    من 100٪ با VIM (Ruby ، ​​PHP ، Javascript ، Coffescript ، CSS و موارد دیگر) برنامه ریزی می کنم
    در اینجا یک توزیع برای برنامه نویسان یاقوت وجود دارد ، بسیار کامل است و دارای بسیاری از موارد مفید است ، سلام (https://github.com/carlhuda/janus)

    1.    دامیان ریورا dijo

      این همان چیزی است که من می گویم (در بالا) من فقط از vim برای mono ، java ، perl ، bash و python استفاده می کنم که زبانهای غیر تفسیر شده باید از ترمینال برای کامپایل استفاده کنند ، در FreeBSD من از VI بسیار استفاده می کنم (و استفاده می کنم) ویرایشگر بومی است اما ee و joe را نیز بسیار خوب نصب می کند (شبیه به nano) ، در جنتو نکته خوب این است که nano را به ارمغان می آورد اما من از قبل vim را کامپایل کردم و خیلی دوست دارم! این بهترین ویرایشگر موجود است و متناسب با نیازهای شما ابزاری مناسب برای مدیریت سیستم است

      توجه

  9.   ماتیاس (@ W4t145) dijo

    Vim Vim Vim! ، برای همیشه ، برای همه کار می کند و هر کجا ، من هرگز آن را تغییر نمی دهم

  10.   نانو dijo

    آه ، نمی دانم ، من تنبل هستم و از Sublime xD استفاده می کنم

  11.   دانیل روخاس dijo

    من همیشه از Vim استفاده می کنم ، آن را دوست دارم و آن را بسیار عملی و راحت می دانم

  12.   دراگنل dijo

    به سادگی vim ، ضروری در روز به روز من است.

  13.   گیدو رولون dijo

    قوانین vim! اما "ed" ROCKS !!!! ،

  14.   نیرو dijo

    Vim orange می نویسد خوب vim cristal می نویسد normal، vim، vim، vim ...

  15.   یوگوربلانکو dijo

    شما باید تفاوت بین "چرا" ، "چرا" ، "چرا" و "چرا" را بیاموزید. مرد ، در کل متن حتی یک مورد هم نداده اید.

bool (درست)