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

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