HALLAFAZERILA
HALLAFAZERILA
خواندن ۵ دقیقه·۳ سال پیش

هشت ترفند VIM که شما را از مبتدی به متخصص تبدیل خواهد کرد

VIM - VI IMproved
VIM - VI IMproved

دیباچه

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

پیش‌نیازها

در این‌مقاله، انتظارم این است که شما حداقل مهارت مبتدی کار با VIM را داشته باشید، این بدان‌معناست که دستورات ساده‌ای مانند move، insert و search را پیش از این دانسته باشید. اگر هنوز در این سطح نیستید، می توانید ترمینال را باز کرده و این دستور را اجرا کنید:

sudo apt-get install vim

همچنین به واسطه اجراکردن این‌دستور می‌توانید وارد راهنمای VIM بشوید:

vimtutor

۱- ماکروها

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

  • دکمه "q" را فشار دهید تا به VIM بگویید که می‌خواهید چیزی را ضبط کنید.
  • سپس با فشاردادن تقریبا هردکمه‌ای به VIM بگویید که می‌خواهید ضبط خود را در آن کلید ذخیره کنید. در این‌مثال کلید انتخابی ما "a" است. بنابراین دستور به این‌شکل خواهد بود: "qa".
  • دستوراتتان را اجرا کنید.
  • برای به‌پایان‌رساندن ضبط، "q" را فشار دهید.
  • برای اجرای مجدد آن مجموعه دستورات "a@" را وارد کنید.

۲- آدرس‌دهی نسبی خطوط

هیچ‌کس محاسبه‌ی ذهنی را دوست ندارد. حتی اگر در محاسبه‌ی ذهنی سریع باشید، شما می‌توانید عبارت ۲۴=۲۴ را بسیار سریع‌تر از عبارت ۲۳=۱۱۸-۱۴۱ محاسبه کنید. آدرس‌دهی نسبی شماره خط را نه به‌عنوان شماره خط مطلق یک فایل متنی، بلکه به‌عنوان شماره خط نسبت به موقعیت مکان‌نمای شما را نمایش می دهد.

set relativenumber

به‌عنوان مثال، می‌توانید ۲۵ خط بعدی را با استفاده از دستور VIM زیر حذف کنید:

25dd

۳- ثبات‌ها

هنگامی‌که متن را برای الصاق‌کردن کپی می‌کنید، از ثبات یا رجیستر برای ذخیره آن‌متن استفاده می‌شود. رایانه شما چندین ثبات دارد. به‌طور پیش‌فرض VIM از یک ثبات برای متن ذخیره‌شده توسط خودش که با نسخه ذخیره‌شده توسط سیستم متفاوت است به‌کارمی‌برد. موارد زیر را به فایل vimrc. خود اضافه کنید:

set clipboard=unnamed set clipboard=unnamedplus

با اضافه‌کردن این‌موارد به فایل تنظیمات VIM، متن کپی‌شده در VIM به‌واسطه CTRL+V قابل‌الصاق می‌شود و همچنین متن کپی‌شده با CTRL+C می‌تواند با دستور "p" به داخل VIM الصاق شود.

اگر می‌خواهید متن را بدون بازنویسی ثبات حذف کنید، می‌توانید _" را قبل از دستورتان اجرا کنید، به‌عنوان مثال:

“_dd

‌برای حذف‌کردن یک خط.

۴- تنظیم مجدد کلید Escape

کلید Escape از ردیف خانه بسیار دور است. با توجه به اینکه این دکمه چندین‌بار فشرده می‌شود، این شیوه مناسبی برای خروج از دستور نیست. شما می‌توانید موارد زیر را به فایل vimrc. اضافه کنید:

cnoremap kj <C-C> cnoremap jk <C-C>

این‌ها به شما اجازه می‌دهند که با فشردن دکمه‌های "jk" یا "kj" درحالتی که دستانتان درست روی ردیف خانه قرار دارد، از آن دستور خارج شوید.

۵- شیء اصلاح‌گر دستورالعمل

ویم دارای نوع خاصی از دستور زبان است که غالبا از الگوی "شیء معرف دستورالعمل" پیروی می‌کند.

مثال‌هایی از دستورالعمل‌ها:

  • ‘d’ delete
  • ‘c’ change

مثال‌هایی از اصلاح‌گرها:

  • ‘t’ till
  • ‘f’ find
  • ‘i’ inside

مثال‌هایی از شیء‌ها:

  • ‘w’ word
  • ‘(‘ parenthesis
  • ‘t’ tag
  • ‘s’ sentence
  • ‘“‘ quotes

به‌عنوان مثال، "diw" کلمه‌ای را که نشانگر شما روی آن قرار دارد را صرف نظر از این‌که در ابتدای کلمه باشد و یا انتهای آن، حذف می‌کند. دستور "(dt" کل متن را از موقعیت مکانی فعلی نشانگر تا انتها را به استثنای ( حذف می‌کند. دستور "cfp" کل متن را از موقعیت فعلی نشانگر از جمله p را حذف می‌کند، سپس شما را به‌طور خودکار وارد حالت insert می‌کند.ترکیب آن با "." دستور قبلی را تکرار می‌کند که این بسیار قدرتمند است.

۶- اصلاح فضاهای خالی

یک مورد آزاردهنده در مهندسی نرم‌افزار زمانی است که در انتهای خط به جای spaceها و فضاهای خالی، tabهایی وجود دارند. موارد زیر را به فایل vimrc. خود اضافه کنید:

set list

این دستور علامت $ را در انتهای هر خط و ^ را به‌جای tabها نشان می‌دهد. با این‌کار می‌توانید tabها و علائم $ را به‌راحتی شناسایی کنید.همچنین، نمونه فایل vimrc. زیر تمامی tabها را جایگزین spaceها می‌کند که این سبب می‌شود کار با فضاهای خالی آسان‌تر شود: https://vim.fandom.com/wiki/Example_vimrc

۷- پیمایش سریع‌تر

اولین چیزی که در VIM یاد می‌گیرید نحوه استفاده از کلیدهای hjkl برای پیمایش است. با این‌ حال، این یکی از کندترین شیوه‌ها برای پیمایش است. در اینجا لیستی از دستورات مهم برای کمک به شما در پیمایش سریع‌تر وجود دارد:

  • برای انتقال به ابتدای پرونده "gg" و برای رفتن به انتهای پرونده "G" را فشار دهید
  • برای حرکت سریع به جلو CTRL+F و برای حرکت سریع به عقب CTRL+B را فشار دهید
  • برای متمرکزکردن صفحه به گونه‌ای که نشانگر شما در مرکز قرار بگیرد "zz" را فشار دهید
  • هنگامی که در یک براکت مثل "{" یا "(" هستید، می‌توانید با واردکردن % به براکت‌های مرتبط دیگر جابه‌جا شوید
  • می‌توانید برای جست و جوی کلمه‌ی مورد نظر خود از "/" استفاده کنید

۸- تاریخ

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

nmap <F3> i<C-R>=strftime(&quot%Y-%m-%d %a %I:%M %p&quot)<CR><Esc> imap <F3> <C-R>=strftime(&quot%Y-%m-%d %a %I:%M %p&quot)<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

شاید از این پست‌ها خوشتان بیاید