«ویم» (Vim) جدیدترین و رایجترین نسخه بازسازی شده از ویرایشگر «Vi» است که در تمام پلتفرمهای شناختهشده پشتیبانی میشود. در این مقاله به این پرسش پاسخ میدهیم که vim چیست و سپس به آموزش نصب و دستورات آن میپردازیم. در این آموزش، توابع و دستورات پایهای Vim را توضیح میدهیم که برای انجام کارهای ساده استفاده میشوند. با ما همراه باشید تا برخی نکات مقدماتی درباره نحوه نصب و استفاده از ویم در لینوکس را بیاموزید.
vim چیست ؟
ویم یک ویرایشگر متن برای سیستمعاملهای یونیکس است که همراه با لینوکس، BSD و macOS ارائه میشود. این ابزار به سرعت و قدرت بالا شهرت دارد. دلیل این امر تا حدی به خاطر حجم کم برنامه است که میتواند در محیط ترمینال اجرا شود (هرچند که رابط گرافیکی هم دارد). اما دلیل اصلی این است که میتوان آن را کاملاً بدون نیاز به منو یا ماوس و تنها با استفاده از صفحهکلید مدیریت کرد. میتوان گفت که ۵ دلیل اصلی برای استفاده از vim وجود دارد:
- همهجا حاضر است: نیازی نیست نگران یادگیری ویرایشگرهای متفاوت برای سیستمهای مختلف باشید.
- مقیاسپذیری بالایی دارد: میتوانید از آن فقط برای ویرایش فایلهای پیکربندی استفاده کنید یا آن را به محیط کامل نوشتاری خود تبدیل کنید.
- مصرف حافظهی بسیار کمی دارد.
- مبتنی بر دستور است: میتوانید با استفاده از چند دستور ساده، کارهای پیچیدهی مرتبط با متن را انجام دهید.
- قابلیت پیکربندی بالایی دارد و تنظیمات را در فایلهای متنی ساده ذخیره میکند.
چرا از vim استفاده کنیم؟
ویرایشگرهای متن، بخش مهمی از مدیریت سیستمهای لینوکس هستند. مدیران سیستم برای تغییر فایلهای پیکربندی، مانند فایل سرور SSH با نام «sshd_config»، از ویرایشگر متن استفاده میکنند. علاوه بر این، آنها اغلب برای نگهداری یا پشتیبانگیری از سیستم، یا مدیریت فایلهای خودکارسازی و هماهنگسازی مانند فایلهای YAML در Ansible، اسکریپتهایی مینویسند.
اگرچه پیکربندی سیستمعاملهای macOS یا ویندوز با استفاده از فایلها کمتر رایج است، اما کاربران این پلتفرمها نیز بهطور منظم با فایلهای متنی سروکار دارند. باید توجه داشت که بین ویرایشگر متن و پردازشگر واژه تفاوت وجود دارد. ویرایشگرهای متن فقط برای وارد کردن متن در فایلها استفاده میشوند و برای کارهای ساده و خلاقانه مناسبتر هستند. در مقابل، پردازشگرهای واژه با ویژگیهای متنوع، منوهای پویا و تصحیح خودکار همراه هستند.
نصب vim
اگر از لینوکس استفاده میکنید و میخواهید vim را نصب کنید، میتوانید از مدیر بسته سیستم خود استفاده کنید. در سیستمهای مبتنی بر Red Hat، دستور زیر را وارد کنید:
$ sudo dnf install vim
اگر از سیستمهای مبتنی بر Debian استفاده میکنید، کد زیر را وارد کنید:
$ sudo apt-get install vim
برای نصب vim با استفاده از Brew، دستور زیر را تایپ کنید:
$ sudo brew install vim
برای نصب vim در ویندوز، میتوانید فایل Installer را از وبسایت رسمی vim دانلود کنید. پس از دانلود، کافی است روی فایل Installer دوبار کلیک کنید تا فرآیند نصب آغاز شود.
حالتها (modes) در vim
بسیاری از سرورهای لینوکس از رابط گرافیکی کاربری (GUI) استفاده نمیکنند. در این سرورها، منوهای کشویی برای ذخیرهی فایل یا شروع فرآیند بررسی املایی وجود ندارد. در عوض، کاربران برای دستکاری فایلها به صفحهکلید متکی هستند.
ویم با استفاده از «حالتها» (modes)، عملیات دستکاری فایل را انجام میدهد. میتوانید حالتها را نوعی نگاشت صفحهکلید در نظر بگیرید. بسته به حالتی که ویم در آن قرار دارد، صفحهکلید به فشردن کلیدها واکنش متفاوتی نشان میدهد. به عنوان مثال، در حالت فرمان ویم، کلید x یک کاراکتر را حذف میکند، اما در حالت درج، همین کلید کاراکتر x را در متن فایل قرار میدهد. ویم دارای چهار حالت اصلی است:
- حالت فرمان (Command Mode): در این حالت، صفحهکلید دستورات را به vim ارسال میکند. گاهی به این حالت، حالت عادی (Normal Mode) نیز گفته میشود.
- حالت درج (Insert Mode): در این حالت، صفحهکلید متن را وارد فایل میکند.
- حالت اجرا (Execute Mode): با تایپ کردن دو نقطه (:) وارد این حالت میشوید و میتوانید دستورات را در یک خط فرمان وارد کنید. برای مثال، دستور
:wq
فایل را ذخیره میکند و از ویم خارج میشود. - حالت بصری (Visual Mode): این حالت گزینههای اضافی برای انتخاب متن فراهم میکند.
آموزش شروع کار با vim
در ادامه، با ایجاد یک اسکریپت ساده، نحوه استفاده از vim را آموزش میدهیم. ابتدا ویم را روی سیستم خود نصب کنید و سپس مثالهای زیر را دنبال کنید تا با این ویرایشگر قدرتمند آشنا شوید.
باز کردن فایل برای ویرایش در vim
ابتدا فایل جدیدی را ایجاد کنید. برای این کار، دستور vim را همراه با نام فایل مورد نظر تایپ کنید. اگر فایل در پوشهی فعلی وجود داشته باشد، ویم آن را باز میکند. در غیر این صورت، ویم فایل جدیدی را با آن نام ایجاد خواهد کرد.
$ vim simplescript.sh
ویم در حالت فرمان (Command mode) باز میشود، بنابراین فشردن هر کلید، دستوری را به ویم ارسال میکند. برای ورود به حالت درج (Insert mode)، کلید i
را فشار دهید. در این حالت، عبارت «INSERT» در گوشه پایین سمت چپ صفحه نمایان میشود. حالا میتوانید متن مورد نظر خود را در فایل وارد کنید.
ویرایش فایل در vim
حالا که با vim آشنا شدهایم، وقت آن رسیده که یک اسکریپت بنویسیم. برای شروع، در خط اول فایل یک «shebang» (شیبنگ) قرار میدهیم. سپس Enter را فشار داده و توضیح مختصری درباره اسکریپت خود مینویسیم. به این مثال توجه کنید:
#!/bin/bash
#This is a sample script
در ادامه، بدنه اصلی اسکریپت را مینویسیم که شامل یک توضیح و ۲ دستور است:
"Greet the user and provide today's date
echo "Hello $USER"
echo "Today's date is $(date)"
ذخیرهسازی و بستن فایل در ویم
حالا که محتوای اسکریپت را نوشتهایم، وقت آن رسیده است که تغییرات را ذخیره کنیم و از ویم خارج شویم. برای این منظور، ابتدا کلید «ESC» را فشار دهید تا از حالت «درج» (Insert) خارج شده و وارد حالت «فرمان» (Command) شوید.
سپس، برای صدور دستور ذخیرهسازی، به گوشه پایین سمت چپ ویم توجه کنید و کلید «:» را فشار دهید. یک خط فرمان ظاهر میشود. حرف «w» را تایپ کنید که به معنای «write» یا نوشتن است تا تغییرات ذخیره شوند. توصیه میشود برای حفظ تغییرات، از این دستور به طور مکرر استفاده کنید.
برای خروج از ویم و بازگشت به محیط Shell، از دستور «q:
» استفاده کنید. میتوانید این ۲ دستور را با هم ترکیب کرده و از «wq:
» استفاده کنید تا هم ذخیرهسازی انجام شود و هم از برنامه خارج شوید. اگر میخواهید بدون ذخیرهسازی تغییرات خارج شوید، «q!:
» را تایپ کنید.
در سیستمعاملهای لینوکس یا مکاواس، با تایپ دستور «ls
» میتوانید محتویات پوشه را مشاهده کنید. در ویندوز، برای دیدن همین اطلاعات از دستور «dir
» استفاده میکنیم. اسکریپت شما باید در این لیست قابل مشاهده باشد. در این مثال، کارکردهای اساسی ویم پوشش داده شد. در ادامه، به بررسی برخی ویژگیهای اضافی خواهیم پرداخت.
تکمیل اسکریپت
برای تکمیل اسکریپت، میتوانید آن را آزمایش کنید. این کار با تنظیم مجوز اجرایی و اجرای اسکریپت از پوشه محلی امکانپذیر است. در سیستمعاملهای لینوکس یا مکاواس، ۲ دستور زیر را وارد کنید:
$ chmod 755 myscript.sh
$ ./myscript.sh
دستور «chmod» برای تنظیم مجوزها استفاده میشود. عدد «755» به این معناست که مالک فایل میتواند آن را بخواند، بنویسد و اجرا کند، در حالی که سایر کاربران فقط میتوانند آن را بخوانند و اجرا کنند.
علامت «./
» قبل از نام اسکریپت به لینوکس میگوید که فایل را از پوشه جاری اجرا کند، نه از مسیرهای سیستمی. این روش برای اجرای اسکریپتهای محلی که در مسیر سیستم قرار ندارند، استفاده میشود.
با اجرای این دستورات، اسکریپت شما قابل اجرا میشود و میتوانید نتیجه کار خود را مشاهده کنید. این مرحله برای اطمینان از صحت عملکرد اسکریپت بسیار مهم است.
استفاده پیشرفتهتر از vim
کاربران حرفهای vim با استفاده از تنظیمات سفارشی گسترده در فایل «.vimrc
» و افزونههای متعدد، این ویرایشگر را به ابزاری قدرتمند برای ویرایش و برنامهنویسی تبدیل میکنند. در اینجا، ۲ تنظیم ساده را برای شروع کار معرفی میکنیم:
شما میتوانید پیکربندی ویم را با استفاده از فایل «.vimrc~
» سفارشی کنید. فایلهایی که با نقطه شروع میشوند، مخفی هستند. برای نمایش این فایلها در لینوکس یا مکاواس از دستور «ls -a
» استفاده کنید. برای نمایش شماره خطوط در تمام فایلها، فایل «.vimrc
» را ایجاد یا باز کنید و دستورات زیر را در دو خط اول وارد کنید:
"The following line displays line numbers in all Vim documents
set number
برای غیرفعال کردن صدای خطا، این دستور را در «.vimrc
» وارد کنید:
"Remove the error chime
set noerrorbells
فایل «.vimrc
» ویم از علامت «”» برای فیلدهای توضیحات استفاده میکند، اما بسیاری از فایلهای دیگر از «#» برای توضیحات استفاده میکنند.
این تنظیمات ساده میتوانند تجربه کار با ویم را بهبود بخشند. با افزایش مهارت، میتوانید تنظیمات پیشرفتهتر و افزونههای مفید دیگری را نیز به «.vimrc» خود اضافه کنید تا ویم را کاملاً مطابق با نیازهای خود شخصیسازی کنید.
بررسی املا در vim
ویم دارای غلطیاب املایی است که میتواند برای بهبود کیفیت نوشتار شما بسیار مفید باشد. پس از ایجاد محتوا در فایل خود، میتوانید از این ویژگی استفاده کنید. برای فعال کردن غلطیاب، به حالت فرمان بروید و دستور زیر را وارد کنید:
:set spell
با اجرای این دستور، ویم کلمات اشتباه را با رنگ قرمز نمایش میدهد. این امکان به شما کمک میکند تا اشتباهات املایی را سریعتر تشخیص داده و اصلاح کنید. اگر میخواهید غلطیاب را غیرفعال کنید، میتوانید از دستور زیر استفاده کنید:
:set nospell
برای راحتی بیشتر، میتوانید غلطیاب را در فایل «.vimrc» فعال کنید تا ویم به طور مداوم املای متن را بررسی کند. با این کار، هر بار که ویم را باز میکنید، غلطیاب به طور خودکار فعال خواهد بود.
توجه داشته باشید که غلطیاب ویم ممکن است برای زبان فارسی به خوبی زبان انگلیسی عمل نکند، اما برای متون انگلیسی بسیار مفید است. همچنین، میتوانید زبان غلطیاب را تغییر دهید تا با زبان مورد نظر شما مطابقت داشته باشد. استفاده از این ویژگی میتواند به بهبود کیفیت نوشتار شما کمک کند و از بروز اشتباهات املایی در متون مهم جلوگیری کند.
بررسی سینتکس در vim
میتوانید با استفاده از فایل .vimrc، ویم را طوری تنظیم کنید که کلمات را بر اساس نحو زبان برنامهنویسی برجسته کند. برای مثال، فرض کنید در حال نوشتن یک اسکریپت بش یا یک برنامه پایتون هستید. بررسی نحو به شما کمک میکند تا کلمات کلیدی، متغیرها و سایر اجزای برنامه را به راحتی از هم تشخیص دهید. علاوه بر این، این قابلیت میتواند اشتباهات تایپی یا خطاهای نحوی احتمالی را نیز شناسایی کند و به این ترتیب، عیبیابی برنامه را برای شما آسانتر میسازد. اگر نسخه ویم شما از قبل دارای قابلیت بررسی نحو نیست، میتوانید خط زیر را به فایل .vimrc خود اضافه کنید:
"Enable syntax checking for common languages
syntax on
این دستور باعث میشود بررسی نحو برای زبانهای برنامهنویسی رایج فعال شود. برای غیرفعال کردن بررسی نحو، کافی است دستور زیر را در ویم تایپ کنید:
:syntax off
vim tutor چیست؟
برای بهرهبرداری حداکثری از ویم، پیشنهاد میشود از آموزش داخلی این ابزار یعنی «Vim tutor» استفاده کنید. این آموزش عملی، قابلیتها و ویژگیهای ویم را به خوبی نمایش میدهد. برای شروع آموزش، کافی است در خط فرمان، دستور «vimtutor» را تایپ کنید. این آموزش حدود ۳۰ دقیقه طول میکشد و به شما کمک میکند تا با مهمترین دستورات و قابلیتهای ویم آشنا شوید.
این آموزش به صورت تعاملی طراحی شده و به شما اجازه میدهد تا دستورات را در محیطی امن تمرین کنید. با گذراندن این دوره، میتوانید پایههای لازم برای استفاده مؤثر از ویم را به دست آورید. این روش یادگیری برای افرادی که تازه با ویم آشنا شدهاند، بسیار مفید است و میتواند شروع خوبی برای تسلط بر این ویرایشگر قدرتمند باشد.
مزایای روزمره استفاده از vim چیست؟
اگرچه ویم برای ایجاد فایلهای مستندسازی بزرگ ابزار مناسبی نیست، اما برای ویرایشهای سریع، ایدهپردازی اولیه و ساخت اسکریپتها یا فایلهای خودکارسازی بسیار کارآمد است. توصیه میشود حتماً افزونههای موجود برای سفارشیسازی ویم را بررسی کنید. در ادامه، فهرستی مختصر از مزایای روزانهای که مدیران سیستم از استفاده مؤثر ویم بهرهمند میشوند، آورده شده است:
- ساده و بدون شلوغی: ویم دارای خودکارسازیهای کمی است و محیطی ساده دارد.
- سرعت: ویم با استفاده از صفحه کلید کار میکند و نیازی به پیمایش منوها نیست.
- آسان: توابع ضروری شامل باز کردن، ویرایش، ذخیره و بستن فایل است. هر چیز دیگری که یاد بگیرید، صرفاً کارایی شما را افزایش میدهد.
- کارآمدی: ویم منابع سیستمی کمی مصرف میکند، که آن را برای دستگاههای اینترنت اشیا، تجهیزات شبکه و سایر سیستمهای کوچکمقیاس ایدهآل میسازد.
- بدون قالببندی پسزمینه: برخلاف پردازشگرهای متن، کپی کردن متن از یک فایل به فایل دیگر، قالببندی پنهان به همراه نخواهد داشت.
- قابلیت گسترش: ویم با استفاده از فایلهای پیکربندی و افزونهها، بسیار قابل سفارشیسازی است.
- پشتیبانی از زبانهای مختلف: ویم صدها زبان برنامهنویسی و نشانهگذاری از جمله پایتون، مارکداون، YAML و HTML را تشخیص میدهد.
تا سال ۲۰۲۲، ویم در نسخه ۹.۰ قرار داشت. برای اطلاع از آخرین نسخه ویم و مستندات آن، به وبسایت رسمی آن مراجعه کنید.
جمعبندی
ویم (Vim) یک ویرایشگر متن قدرتمند و همهجا حاضر برای سیستمهای یونیکس است که به دلیل سرعت، کارایی و قابلیت پیکربندی بالا محبوبیت زیادی دارد. این ابزار با حالتهای مختلف کار میکند و میتواند کاملاً با صفحهکلید کنترل شود. ویم برای ویرایشهای سریع، ایجاد اسکریپتها و مدیریت فایلهای پیکربندی بسیار مناسب است. با قابلیتهایی مانند بررسی املا، بررسی سینتکس و امکان شخصیسازی گسترده، ویم ابزاری کارآمد برای برنامهنویسان و مدیران سیستم است. یادگیری اصول اولیه ویم میتواند به افزایش بهرهوری در کارهای روزمره منجر شود.