چطور از vim استفاده کنیم؟

آموزش استفاده از vim معمولا یک جورایی ترسناک میباشد. اصلاح میکنم: خیلی ترسناک هست. شما اساسا روش هایی را برای ویرایش متن می شناسد نه تنها اینکه متن باشد. خیلی از افراد استفاده از vim را در حقیقت یک روش وقت تلف کردن می گویند.با این حال، من می توانم شهادت دهم که Vim در طولانی مدت کارآیی کدگذاری و تجربه کلی من را بهبود بخشیده است (دلیل آن را در بخشهای بعدی توضیح خواهم داد). من قصد ندارم Vim را از گلوی کسی پایین بکشم، اما من به شما پیشنهاد می کنم که در ادامه برنامه خود، علم داده یا موارد دیگر، آن را یاد بگیرید.با تمام آنچه گفته شد، بیایید با جزئیات بیشتری در مورد اینکه Vim واقعاً چیست صحبت کنیم!نگه دارید، Vim چیست؟برای کسانی که درخواست می کنند، بگذارید یک بار دیگر این موضوع را تأیید کنم:نرم افزار Vim روش متفاوتی برای ویرایش کد است، متن را تنها بزارید.Vim در "حالت ها" کار می کند، و جابجایی بین اینها عملکرد هر کلید را در صفحه کلید تغییر می دهد (به عنوان مثال با فشردن کلید W، جای تعجب نیست که "w" در حالت INSERT تایپ شود، اما نشانگر شما یک کلمه به جلو در حالت NORMAL حرکت می کند). به این ترتیب، صفحه کلید شما همچنین به عنوان ابزاری برای پیمایش در پرونده متن / کد شما عمل می کند. به عبارت دیگر، هنگام استفاده از Vim نیازی به ماوس خود ندارید.این عالی است اگر شما مجبور باشید دائماً بین ویرایش و پیمایش از طریق متن جابجا شوید، این دقیقاً همان کاری است که ما برنامه نویسان معمولاً انجام می دهیم. اگر یک برنامه نویس غیر Vim باشید، باور نخواهید کرد که چه مدت زمانی را برای رسیدن به ماوس (یا پد لمسی کاربران لپ تاپ) از صفحه کلید خود صرف کرده اید، سپس مکان نما را حرکت داده و در آخر برای شروع تایپ به عقب برگردید. (اوه…)دوباره، Vim به زمان نیاز دارد تا به آن عادت کند، و این یک جایگزین کامل برای IDE یا چیزی مانند Visual Studio Code نیست. با این حال، مسلماً شما را قادر می سازد تا کد را سریعتر ویرایش کنید، و نسخه اصلی آن (Vi) ویرایشگر متن ترمینال استاندارد برای اکثر سیستم عامل های مشابه UNIX است.با این اوصاف، اجازه دهید بریم جلو!چگونه در واقع به Vim تسلط پیدا کنیم1. vimtutorمن تعجب نمی کنم که هر آموزش Vim برای شروع یادگیری این ویرایشگر متن، vimtutor را متصل می کند و من بی شرمانه دقیقاً همان کار را در اینجا انجام می دهم. دیگر نیازی به انجام "بازی های Vim" نیست (اگرچه سرگرم کننده هستند) و یا تکیه بر ابزارهایی که به شما کمک می کنند تا کلیدهای اضافی را به خاطر بسپارید. vimtutor را نصب کنید و هر زمان که حدوداً 10-15 دقیقه فرصت ندارید، این آموزش رسمی Vim را اجرا کنید.سعی نکنید تمام صحافی ها / میانبرهای Vim را مستقیماً روی پرده حفظ کنید. به مرور زمان همه آن ها در ذهن شما باقی خواهند ماند.توجه: من پیشنهاد می کنم کاربران ویندوز از WSL (زیر سیستم ویندوز برای لینوکس) برای دسترسی به vimtutor و به طور کلی استفاده از Vim استفاده کنند. من شخصاً تجربه استفاده از gVim در ویندوز را ندارم، بنابراین نمی توانم تجربه واقعی Vim را در آنجا تضمین کنم.2. به استفاده از Vim ادامه بدیدتمرین کامل می کند.این اصل اصلی یادگیری هر چیز جدید است و Vim تفاوتی ندارد. بنابراین در حالی که Vim را از طریق vimtutor یاد گرفتید، به استفاده از آن ادامه دهید.تا حد امکان از Vim استفاده کنید. آیا نیاز به مشاهده یک فایل متنی دارید؟ از Vim استفاده کنید آیا می خواهید در آن اسکریپت پایتون تغییراتی ایجاد کنید؟ از Vim استفاده کنید به دنبال یادداشت برداری هستید؟ از Vim استفاده کنید شما متوجه موضوع می شوید. و هر زمان که این کار را انجام دادید، همیشه با خود فکر کنید: کارآمدترین (کوتاهترین) فشار فشردن کلید که باید برای رسیدن به این هدف استفاده کنم چیست؟اوه، و عادت خود را برای استفاده از ماوس / پد لمسی خود قطع کنید.3. همه چیز را با Vim ادغام کنیداز اتصالات Vim در هر زمان و هر زمان که می توانید استفاده کنید. شروع به انجام همه کارها به روش "Vim" کنید. به عنوان مثال، اگر از یک مرورگر مبتنی بر کروم (Chrome، Brave، Edge) یا Firefox استفاده می کنید، Vimium را در نظر بگیرید، افزونه ای که اتصالات مختلف صفحه کلید حرکت Vim (H، J، K، L و غیره) را به مرورگر شما منتقل می کند.اگر در حال حاضر از IDE برای توسعه استفاده می کنید، یک افزونه / پسوند Vim پیدا کنید که بتواند از اتصالات Vim برای آن تقلید کند. کاربران PyCharm (یا هر یک از IDE های Jetbrains) می توانند از ideavim استفاده کنند، در حالی که Visual Studio Code (اساساً IDE تا سال 2021) VSCodeVim را برای کاربران خود در نظر گرفته است.سرانجام، کاربران Jupyterlab می توانند اتصالات Vim را برای ویرایشگر متن یکپارچه آن فعال کرده و jupyterlab-vim را برای شبیه سازی کامل Vim در سلول های نوت بوک نصب کنند.اطمینان حاصل کنید که Vim به خوبی با جریان کار موجود شما مخلوط شده است. چند هفته یا همین حدود به سبک جدید اصلاح شده Vim خود ادامه دهید. در عرض چند جلسه در VSCode با شبیه سازی Vim، می توانم شهادت دهم که چقدر راحت تر از قدرت خود استفاده کرده است. (و چقدر خوشحال شدم که از شر ماوس آزاد شدم!)4. (اختیاری) Caps Lock خود را چند منظوره کنید!بی فایده ترین کلید در بهترین مکان.این نقل قول در اصل کلید Caps Lock را مشخص می کند. در عوض، Caps Lock را به کلید Escape خود تبدیل کنید! تاکنون، خواهید فهمید که کلید Escape برای تغییر حالت در Vim چقدر ضروری است. برای به حداکثر رساندن کارایی، من به شما پیشنهاد می کنم این اصلاح را انجام دهید.کاربران ویندوز و WSL می توانند از uncap استفاده کنند، ورژنی که به طور پیش فرض کلید Caps Lock را به Escape تبدیل می کند.کاربران MacOS کاملا خوش شانس هستند: بازنشانی کلید Caps Lock قسمتی از گزینه System Preferences است.برای لینوکس، StackOverflow و Google واقعاً بهترین دوستان شما هستند. من شخصاً (به عنوان یک کاربر نخبه Arch Linux،?) از setxkbmap برای تغییر Caps Lock به عنوان کلید دیگر Escape استفاده می کنم و این دستور زیر را هنگام راه اندازی مجدد اجرا می کنم:‍setxkbmap -option caps:escape‍5. به اعماق Vim فرو بروید.بعد از عادت به استفاده Vim از پایه تا متوسط ​​، وقت آن است که با این ابزار حتی کارآمدتر شوید. در زیر، مفیدترین / منحصر به فردترین دستورات Vim (در حالت NORMAL) را که یاد گرفته ام در زیر آورده ام:ZZ - ذخیره و خروج به شکل کاملا جالبzz, zt, zb - خط مکان نما را به ترتیب به وسط، بالا و پایین نمای خود منتقل کنیدCtrl+u, Ctrl+d - نمای شما را به نیم صفحه بالا یا پایین می بردCiw - کلمه مورد نظر را حذف می کند و شما را به طور خودکار در حالت INSERT قرار می دهد (تغییر کلمه)C - از مکان نما تا انتهای خط حذف شده و شما را در حالت وارد کردن قرار میدهد.dt<char> - از مکان نما به نمونه بعدی از نویسه ای که تعیین کرده اید حذف می شود (حذف در <کاراکتر>)~ - مورد [بالا / پایین] را روی نویسه خاموش یا انتخاب شده ضامن می کند (. - آخرین دستور Vim خود را تکرار کنیدggvG - تورفتگی اتوماتیک کل پروندهباز هم، ممکن است این موارد در ابتدا برای شما طاقت فرسا به نظر برسند. به یاد داشته باشید، سعی کنید با تمرین یاد بگیرید، نه حفظ. از دیدگاه دیگر، این دستورات Vim نشان می دهد که این ویرایشگر متن بدون موس یا هیچ منوی زمینه ای چقدر می تواند قدرتمند باشد.نرم افزار Vim غیر قابل باور قدرتمند است، زیرا از هیچ ورودی ماوس یا منوی زمینه استفاده نمی کند.اگر به دنبال ترفندهای بیشتر برای فرمان Vim هستید، نگاهی به این بازی شگفت انگیز و بی نظیر 1 ساعته vimtutor توسط Vim Diesel (فقط شوخی کنید، هنوز Luke است ...). او بسیاری از توصیه های صرفه جویی در وقت درباره Vim را ارائه می دهد، بنابراین مطمئن شوید که آن را بررسی می کنید! https://youtu.be/d8XtNXutVto ای مردم همش همینه!الان، شما به اندازه کافی راحت هستید که از Vim برای ویرایش کد به طور قابل توجهی سریعتر از قبل استفاده کنید. سرانجام، می توانید ویرایش کد براق خود را بر روی reddit و همکاران خود بدون اینکه هرگز کلیدهای ردیف خانه خود را ترک کنید، انعطاف پذیر کنید! در این مرحله می توانید موارد زیر را در نظر بگیرید:Neovim را نصب کنید و آزمایش کنید (یک ورژن بازسازی شده Vim برای قابلیت توسعه بیش از حد و پشتیبانی از رابط کاربری گرافیکی)با Vim-Airline, نرم افزار vim خود را روی ترمینال یا خط فرمان زیبا کنید.چند پلاگین محبوب Vim را امتحان کنید.با تمام این گفته ها، از آینده ای پر از خوبی Vim لذت ببرید (و فاقد ماوس / پد لمسی خود باشید)!