اگر برای برنامهنویسی در لینوکس به دنبال یک ویرایشگر متن سریع و کممصرف هستید، Vim میتواند جایگزینی کاربردی برای محیطهای گرافیکی سنگینتر باشد. این ویرایشگر در ترمینال اجرا میشود، برای جابهجایی در کد میانبرهای متنوعی دارد و امکان نوشتن و اجرای اسکریپتها را بدون خروج از محیط ویرایش فراهم میکند.
برخلاف ویرایشگرهایی که قابلیتهای هوش مصنوعی و پیشنهاد خودکار کد را در مرکز تجربه کاربری قرار میدهند، Vim محیطی ساده و متمرکز ارائه میکند. البته یادگیری آن در ابتدا به تمرین نیاز دارد؛ زیرا روش کار با آن با ویرایشگرهای معمولی تفاوت دارد.
چرا Vim برای برنامهنویسی در لینوکس انتخاب مناسبی است؟
Vim یک ویرایشگر متن مبتنی بر ترمینال است که برای ویرایش سریع فایلها و کدنویسی طراحی شده است. این برنامه به منابع سختافزاری زیادی نیاز ندارد و در بسیاری از توزیعهای لینوکس میتوان آن را نصب کرد یا از نسخههای موجود در مخازن نرمافزاری استفاده کرد.
یکی از ویژگیهای مهم Vim، تکیه بر صفحهکلید به جای جابهجایی مداوم بین صفحهکلید و موس است. این روش پس از مدتی تمرین میتواند سرعت ویرایش کد را افزایش دهد؛ بهخصوص زمانی که مرتب بین خطوط مختلف حرکت میکنید یا تغییرات کوچکی در فایلهای متعدد انجام میدهید.
تفاوت Vim با VS Code چیست؟
Vim و VS Code هر دو برای ویرایش کد مناسباند، اما رویکرد متفاوتی دارند. VS Code محیط گرافیکی، افزونههای متنوع، ابزارهای دیباگ و امکانات هوش مصنوعی دارد. Vim در مقابل، سادهتر است و بیشتر بر سرعت کار با صفحهکلید تمرکز میکند.
- Vim: مناسب ویرایش سریع فایلها، کار در ترمینال و سیستمهای کممنبع.
- VS Code: مناسب پروژههای بزرگتر که به ابزارهای گرافیکی، افزونهها و امکانات توسعه یکپارچه نیاز دارند.
- Neovim: گزینهای مدرن بر پایه Vim که امکانات قابل تنظیم و پشتیبانی گستردهای از افزونهها ارائه میدهد.
هیچکدام برای تمام کاربران بهترین گزینه نیستند. اگر به ابزارهای گرافیکی نیاز دارید، VS Code همچنان انتخاب خوبی است؛ اما اگر سادگی و کنترل مستقیم با صفحهکلید برایتان اهمیت دارد، Vim ارزش امتحان کردن دارد.
آموزش استفاده از کلیدهای حرکتی در Vim
یکی از قابلیتهای شناختهشده Vim، حرکت در متن با کلیدهای h و j و k و l است. این کلیدها به ترتیب برای حرکت به چپ، پایین، بالا و راست استفاده میشوند. با یادگیری آنها میتوانید بدون جابهجایی دست به کلیدهای جهتنما، در کد حرکت کنید.
- h: حرکت یک نویسه به چپ
- j: حرکت یک خط به پایین
- k: حرکت یک خط به بالا
- l: حرکت یک نویسه به راست
میتوانید عدد را پیش از فرمان قرار دهید تا حرکت چند بار تکرار شود. به عنوان مثال، دستور 5j پنج خط به پایین میرود و 3k سه خط به بالا حرکت میکند.
حرکت سریع بین کلمات و خطوط در Vim
برای حرکت سریعتر، Vim فرمانهای دیگری هم دارد. کلید w به ابتدای کلمه بعدی میرود و b به ابتدای کلمه قبلی برمیگردد. کلید 0 برای رفتن به ابتدای خط و کلید $ برای رفتن به انتهای خط استفاده میشود.
با ترکیب این فرمانها میتوانید بخش موردنظر کد را سریع پیدا کنید. در ابتدا احتمال دارد حرکت با کلیدهای جهتنما راحتتر باشد؛ اما پس از تمرین، فرمانهای Vim میتوانند تعداد حرکتهای اضافی دست را کاهش دهند.
چگونه در Vim کدنویسی کنیم و برنامه را اجرا کنیم؟
Vim برای نوشتن اسکریپتهای کوچک و آزمایش سریع کد هم مناسب است. به عنوان مثال، اگر از پایتون استفاده میکنید، میتوانید فایل جدیدی بسازید، چند خط کد بنویسید و آن را از داخل همان محیط اجرا کنید.
در ترمینال لینوکس، فرمان زیر را وارد کنید تا فایل پایتون باز شود:
vim test.py
با باز شدن فایل، Vim معمولاً در حالت عادی یا Normal قرار دارد. برای نوشتن کد، کلید i را فشار دهید تا وارد حالت درج یا Insert شوید. سپس کد موردنظر را بنویسید.
به عنوان مثال، میتوانید این برنامه ساده را وارد کنید:
numbers = [1, 2, 3, 4, 5]print([n * 2 for n in numbers])
ذخیره و اجرای کد پایتون از داخل Vim
پس از نوشتن کد، کلید Esc را فشار دهید تا به حالت عادی برگردید. سپس فرمان :w را وارد کنید و کلید Enter را فشار دهید تا فایل ذخیره شود.
برای اجرای اسکریپت پایتون بدون خروج از Vim، فرمان زیر را وارد کنید:
:!python3 %
در این فرمان، علامت ! اجرای یک فرمان پوسته را امکانپذیر میکند و % به نام فایل فعلی اشاره دارد. خروجی برنامه در ترمینال نمایش داده میشود و معمولاً با فشردن Enter میتوانید به ویرایشگر برگردید.
اگر فرمان python3 روی سیستم شما شناخته نمیشود، باید نصب بودن پایتون و تنظیمات محیط را بررسی کنید. همچنین اگر فایل را ذخیره نکرده باشید، ممکن است نسخه جدید کد هنگام اجرا در دسترس نباشد؛ بنابراین بهتر است ابتدا :w را اجرا کنید.
نصب Vim در اوبونتو و توزیعهای لینوکس
در بسیاری از توزیعهای لینوکس، نصب Vim از طریق مدیر بسته انجام میشود. در اوبونتو میتوانید ترمینال را باز کنید و فرمان زیر را اجرا کنید:
sudo apt update
sudo apt install vim
پس از پایان نصب، با وارد کردن vim در ترمینال میتوانید ویرایشگر را اجرا کنید. اگر فقط قصد ویرایش فایلهای متنی را دارید، Vim میتواند انتخاب کممصرفی باشد؛ بهخصوص در ماشینهای مجازی یا سیستمهایی که منابع سختافزاری محدودی دارند.
خروج از Vim و ذخیره تغییرات
یکی از دشواریهای رایج برای کاربران تازهکار، خروج از Vim است. برای این کار ابتدا Esc را فشار دهید تا از حالت درج خارج شوید. سپس یکی از فرمانهای زیر را وارد کنید:
- :wq برای ذخیره تغییرات و خروج
- :q برای خروج، اگر تغییر ذخیرهنشدهای وجود نداشته باشد
- :q! برای خروج بدون ذخیره تغییرات
- :w برای ذخیره فایل بدون خروج
پس از تایپ فرمان، کلید Enter را فشار دهید. اگر فقط میخواهید فایل را ذخیره کنید و به کار ادامه دهید، :w کافی است.
Vim یا ویرایشگرهای مبتنی بر هوش مصنوعی؛ کدام بهتر است؟
افزوده شدن قابلیتهای هوش مصنوعی به ویرایشگرهای کد، تجربه برنامهنویسی را تغییر داده است. ابزارهای هوشمند میتوانند کد پیشنهاد دهند، خطاها را توضیح دهند و در نوشتن بخشهایی از برنامه کمک کنند؛ اما همه کاربران نمیخواهند هنگام یادگیری برنامهنویسی دائماً پیشنهادهای خودکار دریافت کنند.
Vim به شکل پیشفرض تمرکز را روی ویرایش دستی کد نگه میدارد. این ویژگی برای افرادی که میخواهند منطق برنامه را خودشان یاد بگیرند مفید است. البته میتوان با افزونهها قابلیتهای بیشتری به Vim یا Neovim اضافه کرد؛ بنابراین این ویرایشگرها لزوماً به امکانات پایه محدود نیستند.
آیا Neovim جایگزین بهتری برای Vim است؟
Neovim نسخهای توسعهیافته و مدرن از Vim است که برای گسترشپذیری و پیکربندی انعطافپذیر طراحی شده است. این ویرایشگر از افزونهها و تنظیمات متنوع پشتیبانی میکند و برای کاربرانی که میخواهند محیطی پیشرفتهتر بسازند، گزینه مناسبی است.
با این حال، اگر تازه شروع کردهاید، بهتر است ابتدا فرمانهای پایه Vim را یاد بگیرید. پس از آشنایی با حالتهای ویرایش، ذخیره فایل و حرکت در متن، انتخاب بین Vim و Neovim آسانتر میشود.
جمعبندی؛ آیا Vim برای برنامهنویسی ارزش یادگیری دارد؟
Vim برای کسانی که به یک ویرایشگر کد سریع و کممصرف نیاز دارند، انتخاب مناسبی است. حرکت با صفحهکلید، اجرای فرمانهای ترمینال و امکان ویرایش فایلها بدون نیاز به محیط گرافیکی از مهمترین مزیتهای آن هستند.
در مقابل، یادگیری حالتها و فرمانهای Vim در ابتدا ممکن است زمانبر باشد و برای برخی پروژهها، ابزارهای گرافیکی مانند VS Code راحتتر عمل میکنند. اگر در لینوکس برنامهنویسی میکنید یا میخواهید مهارت کار با ترمینال را افزایش دهید، تمرین روزانه با Vim میتواند ارزشمند باشد. بهتر است با ویرایش فایلهای کوچک شروع کنید و بهتدریج فرمانهای حرکتی و ابزارهای پیشرفتهتر را یاد بگیرید.
گیم پلنت







