ویم (VIM) تنها یک ویرایشگر متن است. اما اگر تا به حال متخصصی را درحال استفاده از VIM دیده باشید، آگاه میشوید که VIM به طرز حیرتانگیزی قدرتمند، کارآمد و سریع است. بهصورت تخصصی VIM ابزاری است که به شما این امکان را میدهد آنچه را که هنگام ویرایش متن میخواهید، با دقت بیشتری اعمال کنید. پس از تسلط به زبان VIM قادر خواهید بود با سرعت بیشتری با رایانه خود ارتباط برقرار کنید.
در اینمقاله، انتظارم این است که شما حداقل مهارت مبتدی کار با VIM را داشته باشید، این بدانمعناست که دستورات سادهای مانند move، insert و search را پیش از این دانسته باشید. اگر هنوز در این سطح نیستید، می توانید ترمینال را باز کرده و این دستور را اجرا کنید:
sudo apt-get install vim
همچنین به واسطه اجراکردن ایندستور میتوانید وارد راهنمای VIM بشوید:
vimtutor
اینکه مجبور باشید کارهای تکراری ویرایش متن را انجام دهید خوشایند نیست، اما زمانی که مجبور میشوید آنکار را دههابار انجام دهید، این بدترین حالت است. درواقع ماکروها به شما این امکان را میدهند که با فشاردادن یک دکمه ضبط، تغییرات خود را اعمال کنید و پس از اتمام کارتان ضبط را متوقف کنید. و درنهایت میتوانید اعمالهای موجود در آن ضبط را با فشاردادن یک دکمه مجددا اجرا کنید.
هیچکس محاسبهی ذهنی را دوست ندارد. حتی اگر در محاسبهی ذهنی سریع باشید، شما میتوانید عبارت ۲۴=۲۴ را بسیار سریعتر از عبارت ۲۳=۱۱۸-۱۴۱ محاسبه کنید. آدرسدهی نسبی شماره خط را نه بهعنوان شماره خط مطلق یک فایل متنی، بلکه بهعنوان شماره خط نسبت به موقعیت مکاننمای شما را نمایش می دهد.
set relativenumber
بهعنوان مثال، میتوانید ۲۵ خط بعدی را با استفاده از دستور VIM زیر حذف کنید:
25dd
هنگامیکه متن را برای الصاقکردن کپی میکنید، از ثبات یا رجیستر برای ذخیره آنمتن استفاده میشود. رایانه شما چندین ثبات دارد. بهطور پیشفرض VIM از یک ثبات برای متن ذخیرهشده توسط خودش که با نسخه ذخیرهشده توسط سیستم متفاوت است بهکارمیبرد. موارد زیر را به فایل vimrc. خود اضافه کنید:
set clipboard=unnamed set clipboard=unnamedplus
با اضافهکردن اینموارد به فایل تنظیمات VIM، متن کپیشده در VIM بهواسطه CTRL+V قابلالصاق میشود و همچنین متن کپیشده با CTRL+C میتواند با دستور "p" به داخل VIM الصاق شود.
اگر میخواهید متن را بدون بازنویسی ثبات حذف کنید، میتوانید _" را قبل از دستورتان اجرا کنید، بهعنوان مثال:
“_dd
برای حذفکردن یک خط.
کلید Escape از ردیف خانه بسیار دور است. با توجه به اینکه این دکمه چندینبار فشرده میشود، این شیوه مناسبی برای خروج از دستور نیست. شما میتوانید موارد زیر را به فایل vimrc. اضافه کنید:
cnoremap kj <C-C> cnoremap jk <C-C>
اینها به شما اجازه میدهند که با فشردن دکمههای "jk" یا "kj" درحالتی که دستانتان درست روی ردیف خانه قرار دارد، از آن دستور خارج شوید.
ویم دارای نوع خاصی از دستور زبان است که غالبا از الگوی "شیء معرف دستورالعمل" پیروی میکند.
مثالهایی از دستورالعملها:
مثالهایی از اصلاحگرها:
مثالهایی از شیءها:
بهعنوان مثال، "diw" کلمهای را که نشانگر شما روی آن قرار دارد را صرف نظر از اینکه در ابتدای کلمه باشد و یا انتهای آن، حذف میکند. دستور "(dt" کل متن را از موقعیت مکانی فعلی نشانگر تا انتها را به استثنای ( حذف میکند. دستور "cfp" کل متن را از موقعیت فعلی نشانگر از جمله p را حذف میکند، سپس شما را بهطور خودکار وارد حالت insert میکند.ترکیب آن با "." دستور قبلی را تکرار میکند که این بسیار قدرتمند است.
یک مورد آزاردهنده در مهندسی نرمافزار زمانی است که در انتهای خط به جای spaceها و فضاهای خالی، tabهایی وجود دارند. موارد زیر را به فایل vimrc. خود اضافه کنید:
set list
این دستور علامت $ را در انتهای هر خط و ^ را بهجای tabها نشان میدهد. با اینکار میتوانید tabها و علائم $ را بهراحتی شناسایی کنید.همچنین، نمونه فایل vimrc. زیر تمامی tabها را جایگزین spaceها میکند که این سبب میشود کار با فضاهای خالی آسانتر شود: https://vim.fandom.com/wiki/Example_vimrc
اولین چیزی که در VIM یاد میگیرید نحوه استفاده از کلیدهای hjkl برای پیمایش است. با این حال، این یکی از کندترین شیوهها برای پیمایش است. در اینجا لیستی از دستورات مهم برای کمک به شما در پیمایش سریعتر وجود دارد:
در بسیاری از سناریوها، شما باید تاریخ را بهدرون یک فایل متنی اضافه کنید. این میتواند کند و خستهکننده باشد. با اضافهکردن موارد زیر به فایل vimrc. :
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>
شما میتوانید با فشردن کلید F3 تاریخ و ساعت را اضافه کنید.
اگرچه یک منحنی شیبدار برای VIM وجود دارد، اما ابزارهای قدرتمند ذکرشده در بالا نهتنها در وقت شما صرفهجویی میکنند، بلکه به شما تجربه لذتبخشتری از ویرایش متن را میدهند. بهجای اینکه انرژی خود را با دیوانهوار تایپکردن برای حل یک مشکل در ویرایش متن هدر دهید، میتوانید در جستجوی راههای هوشمندی برای برقراری ارتباط با کامپیوتر خود روی زبان زیبای VIM تمرکز کنید.
شما میتوانید فایل پیکربندی VIM من را در لینک زیر بررسی کنید: https://github.com/tylerlum/vim_configuration
منبع: https://medium.com/swlh/8-vim-tricks-that-will-take-you-from-beginner-to-expert-817ff4870245