آموزش کار با ویرایشگر VIM (شخصی سازی و ترفندها)

  ‏سطح ساده
‏  15 دقیقه
۲۹ اسفند ۱۳۹۹
آموزش کار با ویرایشگر VIM (شخصی سازی و ترفندها)

یکی از اصلی‌ترین ابزارهای برنامه نویسان برای توسعه نرم افزار، ویرایشگر (IDE) می‌باشد. امروزه ویرایشگرهای زیادی وجود دارد که هر کدام مزایا و معایب خود را دارند. بنابراین شناخت این ویرایشگر‌ها و ویژگی‌های آن‌ها اهمیت فراوانی برای برنامه نویسان دارد و باعث راحت‌تر شدن کار آن‌ها می‌شود.

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

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

فهرست محتوای این مقاله

VIM چیست؟

ویرایشگر ویم یکی از ویرایشگرهای پرطرفدار است که امروزه بسیاری از کاربران از آن استفاده می‌کنند. Vim مخفف کلمه Vi Improved  (Vi بهبود یافته) می‌باشد. نرم افزار Vim یک نرم افزار رایگان و اپن سورس است که توسط Bram Moolenaar نوشته شده است. این ویرایشگر اولین بار در سال ۱۹۹۱ برای انواع یونیکس منتشر شد. هدف اصلی از ساخت آن ارتقاء ویرایشگر Vi بود که در سال ۱۹۷۶ منتشر شده بود. Vim در واقع به عنوان کلونی از نرم افزار قدیمی Vi است. مانند Vi این ویرایشگر نیز خط فرمان محور بوده و مبتنی بر ترمینال می‌باشد. یکی از ویژگی‌های بسیار خوب ویم در دسترس بودن آن در انواع مختلف سیستم عامل از جمله توزیع‌های مختلف لینوکس، ویندوز و مک می‌باشد.

ویرایشگر Vim به طور سنتی دارای محیط گرافیکی (GUI) نمی‌باشد، اما به تازگی نسخه جداگانه‌ای به نام gVim ایجاد شده که محیط گرافیکی برای این ویرایشگر فراهم می‌کند.

مزایای استفاده از ویرایشگر VIM چیست؟

در ادامه به برخی مزایای استفاده از Vim می‌پردازیم:

  • این نرم افزار در هر سیستمی قابل نصب است.
  • می‌توانید از آن در دو حالت ترمینالی و گرافیکی استفاده کنید.
  • مقدار خیلی کمی از حافظه دستگاه شما را اشغال می‌کند.
  • خط فرمان محور است بنابراین شما می‌توانید کارهای پیچیده را تنها با چند دستور انجام دهید.
  • قابلیت شخصی سازی بالایی دارد و از یک فایل متنی ساده برای ذخیره این تنظیمات استفاده می‌کند.
  • پلاگین‌های خیلی زیادی برای vim وجود دارد که این پلاگین‌ها باعث افزایش قابلیت‌ها و کاربردهای این نرم‌افزار می‌شوند.
  • از قابلیت چند پنجره‌ای پشتیبانی می‌کند. با استفاده از این ویژگی می‌توان صفحه نمایش را به چندین پنجره تقسیم کرد.
  • از ویژگی چند زبانه‌ای (multiple tabe) پشتیبانی می‌کند که اجازه می‌دهد تا در چندین فایل کار کنید.
  • دستورات Vim به سادگی به حافظه سپرده می‌شوند. بسیاری از دستورات Vim ساده بوده و یادگیری آن‌ها به زمان کمی نیاز دارد.
  • از اکثر زبان‌های برنامه نویسی پشتیبانی می‌کند.

آموزش دانلود و نصب VIM در ویندوز

Vim فایل نصبی کم حجم و سبکی دارد. نصب این نرم افزار بسیار ساده است. برای نصب Vim در ویندوز به هیچ پیش نیاز خاصی احتیاج نیست و نصب آن مانند نصب یک نرم افزار ساده است. توجه داشته باشید که در ویندوز شما gVim را نصب می‌کنید که یک نسخه گرافیکی از Vim است. برای نصب این نرم‌افزار مراحل زیر را طی کنید:

۱- به وب سایت vim.org مراجعه کنید.

۲- روی گزینه دانلود در پنل سمت چپ کلیک کنید.

۳- روی  PC - MS-DOS and MS-Windows کلیک کنید.

۴- روی gvim82.exe کلیک کنید، سپس صبر کنید تا فایل نصبی دانلود شود.

۵- در نهایت فایل دانلود شده را مانند یک نرم افزار ساده می‌توانید بر روی سیستم خود نصب کنید. توجه داشته باشید که در هنگام نصب، مانند تصویر زیر، حالت typical را به حالت full تغییر دهید.

آموزش VIM - نصب vim

پس از انجام عملیات نصب شما باید بتوانید Vim را بر روی خط فرمان ویندوز خود اجرا کنید. برای این کار ابتدا نرم افزار  command prompt در ویندوز را باز کنید سپس مطابق تصویر بنویسید Vim.

اجرای vim در ترمینال

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

کار با vim در ترمینال

قابلیت‌ها و تنظیمات کد ادیتور VIM

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

کار با vim

حالت خط فرمان پس از تایپ کلمه vim در خط فرمان اجرا می‌شود.

در ادامه به توضیح قسمت‌های مختلف این ویرایشگر در حالت گرافیکی می‌پردازیم.

همانطور که در تصویر دیدید در بالای صفحه نرم‌افزار تعدادی سربرگ و در پایین آن صفحه ویرایش کد قرار دارد.

اولین سربرگ، سربرگ file است که برای باز کردن فایل، ایجاد فایل جدید، ذخیره و... استفاده می‌شود.

پس از آن سربرگ edit قرار دارد که برای ویرایش متن و همچنین انجام تنظیمات مختلف بر روی ویرایشگر استفاده می‌شود.

مورد بعدی tools است که ابزارهای مختلفی مانند مدیریت ارور‌ها، تنظیم کامپایلر و... ارائه می‌دهد.

پس از آن syntax قرار دارد که ابزارهای متنوعی جهت تنظیم سینتکس زبان برنامه نویسی، ویرایش رنگ نوشتار و ... دارد.

سربرگ Buffers حالتی است که در آن فایل مورد ویرایش در حافظه RAM قرار می‌گیرد و بدون ذخیره فایل می‌توان یک فایل دیگر را در ویرایشگر باز کرد و بر روی آن ویرایش انجام داد. این سربرگ امکانات مختلفی برای این ویژگی ارائه می‌دهد.

در آخر سربرگ window و help قرار دارد که سربرگ window برای ایجاد، بستن و به طور کلی کار با پنجره‌های این ویرایشگر می‌باشد.

help نیز گزینه‌های مختلفی جهت آشنایی بیشتر با این نرم افزار ارائه می‌دهد. یک نوار ابزار کوچک نیز در بین صفحه ویرایش کد و سربرگ‌ها قرار دارد که جهت دسترسی سریع به موارد پرکاربرد می‌باشد.

نوار ابزار vim

آموزش برنامه نویسی با VIM

در ادامه مقاله آموزش Vim، به برنامه نویسی با این نرم افزار می‌پردازیم. همانطور که در بخش‌های قبل گفتیم ویرایشگر ویم دارای دو حالت گرافیکی و خط فرمان می‌باشد. در ابتدای ورود به طور پیش فرض این نرم‌افزار روی حالت خط فرمان قرار دارد. با زدن کلید i این ویرایشگر بر روی حالت Insert قرار گرفته و پس از آن ما می‌توانیم به طور معمول کدهای خود را بنویسیم و ویرایش کنیم. همچنین برای تغییر حالت ویرایشگر به حالت خط فرمان از کلید Esc استفاده می‌کنیم. برای باز کردن فایل در Vim از دستور vim filename در ترمینال سیستم خود استفاده می‌کنیم. در صورت موجود بودن، فایل باز می‌شود و در غیر این صورت پروژه جدیدی ایجاد می‌شود مانند: vim test

در ادامه آموزش Vim به معرفی تعدادی از دستورات پرکاربرد می‌پردازیم. توجه داشته باشید که برای وارد کردن هر دستور در ویرایشگر ویم در ابتدای دستور از علامت دو نقطه (:) استفاده می‌کنیم.

دستورات مربوط به حرکت در ویرایشگر VIM

برای حرکت در حالت خط فرمان می‌توانید از کلیدهای زیر استفاده کنید:

  • H: به سمت چپ
  • J: به سمت پایین
  • K: به سمت بالا
  • L: به سمت راست

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

برخی دیگر از دستورات مربوط به حرکت عبارتند از:

  • ۰ – رفتن به ابتدای خط
  • ^ – رفتن به اولین کاراکتر غیر تهی خط
  • w – رفتن به کلمه بعدی
  • W – رفتن به کلمه بعدی (نشانه‌گذاری‌ها را نادیده می‌گیرد مانند نقطه، ویرگول و غیره)
  • e – رفتن به آخر کلمه
  • E – رفتن به آخر کلمه (نشانه‌گذاری‌ها را نادیده می‌گیرد)
  • b – رفتن به اول کلمه
  • B – رفتن به اول کلمه (نشانه‌گذاری‌ها را نادیده می‌گیرد)
  • ge – رفتن به کاراکتر آخرِ کلمه قبلی

دستورات ویرایش در نرم افزار VIM

  • d – شروع عملیات پاک کردن (در واقع عملیات cut کردن را انجام می‌دهد، که می‌توان آن را در مکانی دیگر paste کرد)
  • dd – پاک کردن خط (cut کردن خط)
  • dw – پاک کردن کلمه
  • d0 – پاک کردن تا اول خط
  • dgg – پاک کردن تا ابتدای فایل
  • dG – پاک کردن تا انتهای فایل
  • u – undo کردن آخرین عمل
  • Ctrl + r – redo کردن
  • r – جایگزین کردن کاراکتر جاری با کاراکتر جدید

جستجو در ویرایشگر ویم

  • text/ – برای جستجوی کلمه جای text قرار می‌گیرد
  • n – رفتن به نمونه بعدی در جستجو
  • N – رفتن به نمونه قبلی در جستجو

کپی کردن و جایگزینی در نرم افزار ویم

  • yy – کپی کردن خط
  • yw – کپی کردن یک کلمه
  • yG – کپی کردن تا انتهای فایل
  • p – عمل paste کردن بعد از نشانه‌گر
  • P – عمل paste کردن قبل از نشانه‌گر

ذخیره فایل و خروج در ویم

برای ذخیره کردن فایل برای اولین بار از w filename: استفاده می‌کنیم که filename نام فایل است. دفعات بعد برای ذخیره کردن از w: استفاده می‌کنیم. برای خروج از q: استفاده می‌کنیم. اگر که فایل خود را ذخیره نکرده باشیم، Vim به ما خطا می‌دهد و اگر قصد ندارید تا تغییراتی که در فایل داده‌اید اعمال شود، از !q: استفاده کنید.

تلفیقی از دو دستور بالا هم دستوری پر کاربرد qw: می‌باشد که فایل را ذخیر و سپس از نرم افزار خارج می‌شود.

برای اینکه کار خود را آسان‌تر کنیم از ZZ استفاده می‌کنیم، که هم ذخیره می‌کند و هم از Vim خارج می‌شود.

در این بخش دستورات پرکاربرد در Vim را بیان کرد‌ایم. برای مشاهده لیست کامل دستورات ویرایشگر ویم کلیک کنید.

آموزش کار با VIM در لینوکس

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

$ sudo apt-get update 
$ sudo apt-get install vim

برای اطمینان از نصب صحیح Vim دستور زیر را اجرا کنید:

$ which vim

باید محل باینر vim را نشان دهد، در این مثال:

/usr/bin/vim

نصب vim در لینوکس مبتنی بر RPM

برای این کار ابتدا دستور زیر را در ترمینال وارد می‌کنیم:

$ su - 
$ yum install vim

مانند نمونه قبل برای اطمینان از نصب دستورزیر را وارد می‌کنیم:

$ which vim

باقی دستورات و عملکرد‌ها مشابه کار با ویم در ویندوز می‌باشد.

نحوه شخصی سازی VIM

ما می‌توانیم مطابق با نیاز خود به شخصی سازی Vim بپردازیم و در آن تغییراتی ایجاد کنیم.

تغییر فونت در VIM

برای تغییر فونت در ویم از دستور زیر در حالت خط فرمان استفاده می‌کنیم:

:set guifont = courier

با زدن این دستور فونت vim به courier تغییر پیدا می‌کند. همچنین در gVim با رفتن به سربرگ edit و انتخاب گزینه select font می‌توانیم فونت ویرایشگر را تغییر دهیم.

تغییر رنگ در VIM

برای تغییر رنگ دستور زیر را اجرا را می‌کنیم:

:colorscheme <tab>

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

هایلایت کردن متن در VIM

برای هایلایت کردن کاراکتر‌ها بعد از ستون‌های خاص مانند مثال زیر عمل می‌کنیم:

:match ErrorMsg /\%>73v.\+/

هایلات کردن در ویم

توضیح دستور بالا:

۱- \%> بعد از ستون

۲- 73 شماری ستون

۳- V فقط برای ستون‌های مجاز کار کند

۴- .\+  مطالق با یک یا بیشتر از یک کاراکتر

اضافه کردن شماره خط‌ها در VIM

برای اضافه کردن شماره خط‌ها دستور زیر را اجرا می‌کنیم:

:set number

و برای غیر فعال سازی آن از:

:set nonumber

لستفاده می‌کنیم.

چک کردن املا در ویم

برای فعال سازی چک کردن املا کلمات از دستور زیر استفاده می‌کنیم:

:set spell

برای تنظیم زبان املا این دستور را به کار می‌بریم:

:set spelllang = <language>

برای مثال برای تنظیم زبان آلمانی:

:set spelllang = de

مخفف: با استفاده از مخفف سازی می‌توان میانبرهایی برای رشته‌های طولانی ایجاد کرد. برای مثال دستور زیر باعث ایجاد مخفف quick می‌شود.

:abbr quick the quick brown fox

اگر شما کلمه quick را تایپ کنید و سپس کلید tab را فشار دهید رشته “the quick brown fox” جایگزین می‌شود.

خط وضعیت: خط وضعیت خطی است که در پایین ویرایشگر نمایش داده می‌شود. برای فعال سازی آن دستور زیر استفاده می‌شود.

:set laststatus = 2

برای غیرفعال سازی خط وضعیت دستور زیر را اجرا می‌کنیم:

:set laststatus = 0

معرفی بهترین پلاگین‌های VIM

ما می‌توانیم با استفاده از پلاگین‌ها قابلیت‌های Vim را گسترش دهیم. Vim از پلاگین‌های زیادی پشتیبانی می‌کند که بیشتر این پلاگین‌ها رایگان هستند. در این بخش به معرفی تعدادی از پلاگین‌های کاربردی می‌پردازیم.

۱- پلاگین DumpX: برای پیاده کردن کدهای c++/c استفاده می‌شود.

۲- پلاگین Pathogen:  برای مدیریت پکیج‌های ویم استفاده می‌شود.

۳- پلاگین git-switcher.vim: برای ذخیر و بارگیری فایل پروژهای Vim بر اساس تغییرات ایجاد شده در git branch می‌باشد.

۴- پلاگین NERDTree: یک فایل منیجر است که با استفاده از آن می‌توانید به راحتی فایل‌ها و پوشه‌های مختلف را مشاهده کرده و آن‌ها را به سادگی باز کنید.

نصب پلاگین NERDTREE

۵- پلاگین NERD Commenter: اهمیت کامنت گذاری در نگهداری و زیبای کدنویسی بر کسی پوشیده نیست، این پلاگین به شما در کامنت گذاری کمک می‌کند.

۶- پلاگین vim-colors-solarized: ویم به طور پیش فرض دارای تعدادی تم می‌باشد. با این حال solarized یکی از تم‌های پرطرفدار برای اکثر برنامه نویسان است.

نصب پلاگین solarized

۷- پلاگین Syntastic: سینتکس کد‌های موجود را بررسی می‌کند و خطاهای ایجاد شده را نمایش می‌دهد. لازم به ذکر است که Syntastic اکثر زبان‌های برنامه نویسی را پشتیبانی می‌کند.

آموزش نصب پلاگین در VIM

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

برای نصب پلاگین سه مرحله زیر را طی می‌کنیم:

۱-ساخت پوشه‌ی vim/bundle. در پوشه‌ی user's home

۲-کپی کردن پلاگین در داخل این پوشه

۳-تنظیم runtimepath در Vim

به عنوان مثال برای نصب پلاگین badwolf مراحل زیر را طی می‌کنیم. لازم به ذکر است که این پلاگین یک تم برای ویم است.

$ mkdir -p ~/.vim/bundle 
$ cd ~/.vim/bundle/ 
$ git clone https://github.com/sjl/badwolf.git 
$ echo "set runtimepath^ = ~/.vim/bundle/badwolf" > ~/.vimrc

پس از طی این مراحل پلاگین نصب شده و ما می‌توانیم از تم badwolf با استفاده از دستور زیر استفاده کنیم:

:colorscheme badwolf

به‌روزرسانی پلاگین در ویم

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

حذف پلاگین در ویم

حذف پلاگین در Vim بسیار ساده است. برای این کار کافی است مرحله زیر را طی کنید:

۱- پوشه پلاگین در vim/bundle. را حذف کنید.

۲- runtimepath را به صورت مناسب تغییر دهید.

ترفندها و کلیدهای میانبر برای استفاده بهتر از VIM

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

استفاده از jk به جای esc

برای خروج از حالت Insert باید از کلید esc استفاده کنیم. این کلید به عنوان یک کلید پرکاربرد در vim فاصله‌ی زیادی با باقی دکمه‌ها دارد. به جای این کلید می‌توانیم از ترکیب کلید j  و k به صورت پشت سر هم استفاده کنیم؛ به شرط اینکه کد زیر را در فایل vimrc اضافه کنیم.

cnoremap jk <C-C>

اضافه کردن تاریخ در فایل

در بسیاری از شرایط شما نیاز دارید که تاریخ را در فایل خود اضافه کنید. این کار می‌تواند خسته کننده و کند باشد. با اضافه کردن موارد زیر به vimrc شما می‌توانید تاریخ و زمان را با فشار دادن کلید F3 به فایل خود اضافه کنید.

nmap <F3> i<C-R>=strftime("%Y-%m-%d %a %I:%M %p")<CR><Esc>
imap <F3> <C-R>=strftime("%Y-%m-%d %a %I:%M %p")<CR>

کپی کردن در ویم

Vim از روش متفاوت با سیستم برای کپی کردن متن استفاده می‌کند. با اضافه کردن کد زیر به فایل vimrc متن کپی شده از Vim با کلید CTRL+V جایگزین می‌شود. متن کپی شده از جاهای دیگر با کلید p جایگذاری خواهد شد.

set clipboard=unnamed
set clipboard=unnamedplus

چرا ویرایشگر Vim را انتخاب کنیم؟

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

در این مقاله سعی کردیم تا به زبان ساده به آموزش Vim بپردازیم و آموزش کاملی از Vim ارائه دهیم. شما می‌توانید برای یادگیری بهتر Vim از سایت تعاملی openvim استفاده کنید.

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

چه امتیازی به این مقاله می دید؟
نویسنده رضا جمال زاده
ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :

 

نظرات کاربران

علی

واقعا عالی مرسی

ebrahim

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

نازنین کریمی مقدم

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

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