Vim یکی از محبوب ترین ویرایشگرهای متن در بین کاربران لینوکس است. مدیران سیستم لینوکس به ویژه اغلب آن را به سایر ویرایشگرها ترجیح می دهند.

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

Vim چیست؟

Vim مخفف کلمه است از طریق IMثابت. این یک ویرایشگر متن بین پلتفرمی رایگان و منبع باز است. اولین بار توسط Bram Moolenaar در سال 1991 برای انواع یونیکس منتشر شد.

Vim بر اساس ویرایشگر اصلی Vi است که توسط بیل جوی در سال 1976 ایجاد شد. در دهه 90، مشخص شد که Vi در مقایسه با ویرایشگر Emacs فاقد برخی ویژگی‌ها است. بنابراین برام بسیاری از ویژگی های گم شده را پیاده سازی کرد و آن را با نام Vim منتشر کرد.

نحوه نصب Vim

Vim در پلتفرم های مختلفی مانند ویندوز، لینوکس و مک اجرا می شود.

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

Vim روی اکثر سیستم عامل های *nix از پیش نصب شده است. اما اگر روی سیستم شما نصب شده باشد، می توانید آن را با یک مدیریت بسته دلخواه نصب کنید.

در اینجا دستور نصب برای سیستم عامل های مبتنی بر دبیان آمده است:

sudo apt-get update
sudo apt-get install vim
دستورات ترمینال برای نصب Vim بر روی سیستم عامل های مبتنی بر دبیان

برای اطمینان از نصب صحیح آن، اجرا کنید which vim و شما باید دریافت کنید /usr/bin/vim در خروجی شما

چگونه با Vim شروع کنیم

می توانید با تایپ کردن نام Vim در ترمینال به این صورت با Vim شروع کنید:

تصویر-274
Vim را راه اندازی کنید

هنگامی که دستور بالا را وارد کردید، می‌توانید صفحه‌ای را ببینید که اطلاعات مربوط به Vim و برخی دستورالعمل‌ها برای یافتن راهنما و خروج از Vim را نشان می‌دهد.

تصویر-276
معرفی Vim

حالت های Vim

قبل از حرکت باید از مهمترین مفهوم در Vim آگاه باشید: حالت ها در Vim.

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

آن ها هستند:

  1. حالت فرمان
  2. حالت خط فرمان
  3. حالت درج
  4. حالت بصری

بیایید آنها را یکی یکی بررسی کنیم.

Command Mode چیست؟

این حالت پیش فرض (که حالت عادی نیز نامیده می شود) در Vim است. هر زمان که Vim شروع شود، شما در این حالت خواهید بود. از این حالت می توانید به هر حالتی تغییر دهید. در هیچ حالت دیگری نمی توانید این کار را انجام دهید.

اصولاً برای جابجایی از یک حالت به حالت دیگر، ابتدا باید به حالت Command Mode بروید و سپس به حالت دیگر بروید. دستوراتی که بدون پیشوند (دونقطه) اجرا می کنید نشان می دهد که شما دستور را در حالت فرمان اجرا می کنید.

Insert Mode چیست؟

این حالت برای ویرایش محتویات فایل استفاده می شود. می توانید با فشار دادن به حالت درج تغییر دهید i از حالت فرمان می توانید استفاده کنید Esc کلید بازگشت به حالت فرمان.

حالت خط فرمان چیست؟

می توانید از این حالت برای بازی با برخی دستورات استفاده کنید. اما دستورات در این حالت با علامت دونقطه (:) پیشوند هستند. می توانید با فشار دادن : (دونقطه) در حالت فرمان به این حالت بروید.

حالت ویژوال چیست؟

شما از این حالت برای انتخاب بصری متن و اجرای دستورات روی آن بخش از کد استفاده می کنید. با فشار دادن می توانید به این حالت تغییر دهید v از حالت فرمان

4 حالت فوق برای انجام یک مجموعه اولیه از عملیات فایل در Vim کافی است.

باشه تئوری انجام شد بیایید Vim را به طور عملی بررسی کنیم.

عملیات ویرایشگر متن رایج در Vim

نحوه ایجاد یک فایل جدید

ایجاد یک فایل جدید با Vim ساده است. می توانید این کار را از حالت خط فرمان انجام دهید.

پیشنهاد می‌کنیم بخوانید:  چگونه زبانی شبیه به SQL برای اجرای پرس و جوها در مخازن محلی Git ایجاد کردم

برای ایجاد یک فایل جدید دستور زیر را اجرا کنید:

:edit sample.txt
دستور ایجاد (اگر وجود ندارد)/ویرایش یک فایل

دستور بالا a را باز می کند sample.txt در صورت وجود فایل در حالت ویرایش، و در غیر این صورت یک فایل جدید ایجاد می کند.

تصویر-278
یک فایل جدید با نام ایجاد کنید sample.txt

پس از اجرای آن دستور، در حالت فرمان خواهید بود (همانطور که در تصویر زیر نشان داده شده است)، و نمی توانید هیچ متنی را وارد کنید:

تصویر-279
حالت فرمان که فایل جدید ایجاد شده را نشان می دهد

برای افزودن متن به فایل ایجاد شده، فشار دهید i در صفحه کلید شما از i دستور برای وارد کردن متن در فایل. یک بار فشار دهید i، با نگاه کردن به پایین سمت چپ فایل، می توانید ببینید که در Vim وارد حالت Insert شده اید.

تصویر-280
درج حالت در sample.txt فایل در Vim

در این حالت می توانید هر آنچه را که می خواهید در فایل تایپ کنید.

تصویر-281
مقداری محتوا در آن اضافه شد sample.txt فایل

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

چگونه یک فایل را ذخیره کنیم

برای ذخیره یک فایل، باید از حالت Insert به حالت Command Line بروید. به یاد داشته باشید که قبلاً به شما گفتم – هر زمان که می خواهید از یک حالت به حالت دیگر تغییر دهید، ابتدا باید به حالت Command بروید و سپس می توانید به راحتی به هر حالتی که می خواهید تغییر دهید.

برای تغییر حالت Command از حالت Insert، باید دکمه را فشار دهید Esc کلید

بعد از اینکه دکمه را فشار دادید Esc کلید، شما نمی توانید آن را ببینید --INSERT-- در پایین سمت چپ این نشان می دهد که شما دیگر در حالت Insert نیستید و اکنون در حالت Command هستید.

تصویر-283
حالت فرمان در sample.txt فایل

برای ذخیره فایل، دستور زیر را تایپ کنید:

:w
دستور Vim برای ذخیره فایل
تصویر-284
دستور ذخیره فایل

نحوه بستن یک فایل و خروج از Vim

پس از ذخیره فایل، می توانید Vim را با بستن ترمینال ببندید. اما راه مناسب برای بستن فایل و ویرایشگر Vim با استفاده از دستور زیر است:

:q
دستور Vim برای بستن فایل و خروج از Vim
تصویر-285
فایل و ویرایشگر vim را ببندید

دستور بالا فایل را بسته و از ویرایشگر vim خارج می شود.

همچنین، می‌توانید از دستوری استفاده کنید که ترکیبی از ۲ دستور بالا (save & quit) است تا سریعاً Vim را ذخیره کرده و از آن خارج شوید. دستور این است:

:wq
دستور Vim برای ذخیره فایل و بستن بلافاصله

دستور بالا بلافاصله پس از ذخیره فایل از ویرایشگر Vim خارج می شود.

چگونه یک فایل را در Vim ویرایش کنیم

برای ویرایش یک فایل، باید فایل را با استفاده از Vim باز کنید و به حالت Insert بروید.

بیایید در را باز کنیم sample.txt فایلی که در بالا ایجاد کردیم:

vim sample.txt
دستور Vim برای ویرایش sample.txt فایل
تصویر-287
باز کن sample.txt فایل با استفاده از Vim

اکنون در حالت Command هستیم. برای ویرایش فایل باید به حالت Insert برویم. همانطور که قبلا دیدیم، فشار دادن i از حالت Command به حالت Insert تغییر می کند.

تصویر-289
با فشار دادن به حالت Insert بروید i

برای ذخیره فایل و خروج از Vim نیز همین روش را دنبال کنید. مطبوعات Esc روی کیبورد و تایپ کنید :w برای ذخیره فایل و :q برای ترک Vim.

ممکن است تعجب کنید، اگر بخواهم فایل را بدون ذخیره تغییراتم ببندم چه؟ (تغییراتی که انجام دادم را نادیده بگیرید و فایل را به حالت قبلی برگردانید).

نحوه بستن فایل بدون ذخیره تغییرات

برای بستن فایل بدون ذخیره تغییرات، باید اجرا کنید :q! از حالت فرمان

بیایید این را با یک مثال بررسی کنیم:

تصویر-292
محتوا در sample.txt فایل

من محتوای بیشتری به فایل اضافه کردم.

تصویر-293
مقداری محتوا در آن اضافه شد sample.txt فایل

اما، من نمی خواهم تغییراتی را که در حال حاضر انجام داده ام ذخیره کنم. برای بستن فایل بدون ذخیره این تغییر، باید به حالت Command برویم (با فشردن دکمه Esc کلید). تایپ کنید :q! در حالت Command با این کار فایل بدون توجه به تغییرات انجام شده بسته می شود.

تصویر-294
نادیده گرفتن ذخیره کردن sample.txt فایل

بیایید فایل را مشاهده کنیم و تأیید کنیم که آیا خروجی مورد انتظار را دریافت می کنیم:

تصویر-295
چشم انداز sample.txt فایل

آره فایل آخرین خطی را که اخیرا اضافه کرده ایم ندارد. بنابراین، تغییرات ذخیره نشدند.

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

در Vim می توانید به دو روش برش، کپی و جایگذاری کنید. آن ها هستند:

  1. با استفاده از حالت تصویری
  2. با استفاده از صفحه کلید

از بین این دو روش، حالت Visual ساده تر است. از آنجایی که این یک راهنمای مبتدی است، بیایید نحوه برش، کپی و چسباندن در حالت ویژوال را بررسی کنیم.

اجازه دهید قبل از ادامه، فایل را در حالت فرمان باز کنیم:

تصویر-231
sample.txt فایل در حالت فرمان در Vim باز شد

بیایید فرض کنیم می خواهید کلمه “Hello” را از خط 1 کپی کنید و آن را در خط 3 قرار دهید.

پیشنهاد می‌کنیم بخوانید:  یادگیری پایتون برای علم داده – Hands-روی پروژه هایی با EDA، AB تست و هوش تجاری

اولین قدم این است که مکان نما خود را در جایی که می خواهید متن را کپی کنید (در حالت فرمان) قرار دهید.

تصویر-232
مکان نما را به ابتدای کلمه منتقل کرد Hello

با فشردن دکمه وارد حالت ویژوال شوید v کلید روی صفحه کلید

تصویر-233
وارد حالت ویژوال شوید

این -- VISUAL –- متن پایین سمت چپ نشان می دهد که ما در حالت بصری هستیم.

مکان نما را به جایی ببرید که متنی که می خواهید کپی کنید به پایان می رسد.

در این مورد، من مکان نما را به حرف منتقل می کنم o از کلمه Hello.

در حالی که مکان نما را حرکت می دهید، حالت ویژوال متن را از ابتدا تا مکان نما برجسته می کند.

تصویر-235
متن هایلایت شده در حالت ویژوال

پس از انجام حرکت مکان نما به مکان مناسب، ضربه بزنید y برای کپی کردن متن یا ضربه زدن d برای بریدن متن

در این مورد، من متن را کپی می کنم. بنابراین، من فشار می دهم y روی صفحه کلید من

مکان نما را به جایی که می خواهید متن را در آن جایگذاری کنید، ببرید.

تصویر-296
مکان نما را به جایی که می خواهید متن را در آن جایگذاری کنید، ببرید

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

مطبوعات p (با حروف کوچک) برای چسباندن متن بعد از مکان نما و P (با حروف بزرگ) برای چسباندن متن قبل از مکان نما.

تصویر-236
Hello متن در خط 3 چسبانده شد

مطبوعات :wq برای ذخیره و بستن فایل

نحوه یافتن و جایگزینی متن در Vim

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

در اینجا نحو است:

:[range]s/{pattern}/{string}/[flags]
دستور Vim برای یافتن و جایگزینی یک متن

بیایید هر قسمت را از بین ببریم و بفهمیم که چگونه همه کار می کند.

  • [range] نشان می دهد که می توانید محدوده خطوط را عبور دهید. برای یافتن و جایگزینی در همه خطوط، % را پاس کنید. محدوده با کاما از هم جدا می شود. برای پیدا کردن و جایگزینی بین خطوط 5 تا 10، 5،10 را پاس کنید. استفاده کنید . برای نشان دادن خط فعلی و $ خط آخر فایل
  • {pattern} الگوی یافتن متن را نشان می دهد. شما می توانید الگوهای regex را در اینجا ارسال کنید.
  • {string} رشته ای است که باید در متن یافت شده جایگزین شود.
  • [flags] نشان می دهد که آیا می خواهید هر پرچم دیگری را ارسال کنید (به عنوان مثال، پرچم c قبل از جایگزینی متن برای تأیید ارسال می شود). به طور پیش فرض، این یک جستجوی حساس به حروف کوچک و بزرگ انجام می دهد. می‌توانید با عبور از a آن را برای انجام جستجوی بدون حروف بزرگ تغییر دهید i پرچم.

خوب، بیایید این را با یک مثال بررسی کنیم.

تصویر-237
sample.txt محتوای فایل

ما sample.txt فایل دارای 2 “سلام” است. بیایید در هر دو مکان «سلام» را با «سلام» جایگزین کنیم.

دستور انجام این کار این است:

:%s/Hello/Hi/g
دستور Vim برای جایگزینی “Hello” با “Hi”
  • %s نشان دهنده جایگزینی محتوا در کل فایل است
  • Hello متن جستجو است
  • Hi متنی است که باید جایگزین شود
  • g نشان دهنده ایجاد تغییر در سطح جهانی است
تصویر-238
هنگام اجرای دستور تغییر “Hello” با “Hi”
تصویر-239
پس از اجرای دستور

بیایید با مثال دیگری این را بفهمیم.

این بار می‌خواهم کلمه «سلام» (جستجوی بدون حروف بزرگ) را که بین خطوط 2 و 3 قرار می‌گیرد، تغییر دهم و با «سلام و خوش آمدید» جایگزین کنم، با تأیید تغییر هر رخداد.

دستور انجام این کار این است:

:2,3s/Hi/Hello and Welcome/gci
دستور Vim برای تغییر “سلام” با “Hello and Welcome” در خط 2 و 3
تصویر-297
اجرای دستور تغییر متن از خط 2 به خط 3
تصویر-241
درخواست تأیید برای تغییر وقوع

در اینجا توضیحاتی برای هر گزینه آورده شده است:

  • y – کبریت را تعویض کنید
  • n – مسابقه را رها کن
  • a – تعویض بازی و تمام رخدادهای باقی مانده از مسابقه
  • q یا Esc – تعویض را کنار بگذارید
  • l – مسابقه را جایگزین کنید و ترک کنید
  • CTRL+Y – صفحه را به پایین اسکرول کنید
  • CTRL+E – صفحه را به بالا اسکرول کنید

من می خواهم تغییر را بپذیرم. بنابراین، من فشار می دهم y. این خروجی پس از فشار دادن است y.

تصویر-242
پس از جایگزینی کلمه

از آنجایی که ما بین خطوط 2 و 3 فقط یک مورد “سلام” داریم، هیچ تاییدیه دیگری نخواست و عملیات کامل شد.

چگونه در Vim لغو یا دوباره انجام دهیم

برای لغو تغییر در Vim، فشار دهید u در حالت فرمان برای انجام مجدد، فشار دهید CTRL + R. می توانید یک عدد (n) را با آن اضافه کنید u لغو کردن n بار. مثلا، 2u 2 بار لغو خواهد شد. برای فهرست کردن گزینه‌های لغو موجود، تایپ کنید :undolist در حالت فرمان

بیایید با یک مثال این را بفهمیم.

وضعیت فعلی فایل sample.txt ما در اینجا آمده است:

تصویر-254
وضعیت فعلی از sample.txt فایل

من مکان نما را روی “a” در متن “سلام و خوش آمدید” در خط 3 قرار داده ام. بیایید با تایپ کلمه “و” را حذف کنیم dw در حالت فرمان:

تصویر-257
کلمه را حذف کرد and با تایپ کردن dw در حالت فرمان

بیایید برای بازگرداندن کلمه “and” به فایل، آن را لغو کنیم. برای انجام این کار، را فشار دهید u در حالت فرمان

تصویر-258
تغییرات پس از تایپ لغو می شوند u در حالت فرمان

بیایید با تایپ کردن کلمه “و” را دوباره انجام دهیم و حذف کنیم CTRL + R در حالت فرمان

تصویر-298
در انجام مجدد با فشار دادن مجدداً تغییرات اعمال شد CTRL + R در حالت فرمان

نتیجه

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

فقط به خاطر داشته باشید که من حتی 1٪ از Vim را پوشش نداده ام. اما من مطمئن هستم که این اصول اولیه به شما کمک می کند Vim را سریع و با اطمینان کشف کنید.

برای کسب اطلاعات بیشتر در مورد Vim، در خبرنامه ایمیل من در سایت من مشترک شوید و من را در رسانه های اجتماعی دنبال کنید.