نظر خود را در مورد آخرین مجموعه از ویرایش ها تغییر دادید؟ تصادفاً نیمی از فایل خود را حذف کردید؟ استاد واگرد و دیگر وحشت نکنید.
هنگام ویرایش با Vim در لینوکس، اشتباه کردن آسان است. خوشبختانه، خنثی کردن آنها نیز آسان است. در اینجا نحوه لغو سریع ویرایش های خود در ویرایشگر متن محبوب لینوکس Vim آورده شده است.
چگونه ویرایش Vim را لغو کنیم
عملیات واگرد ساده Vim مشابه عملکرد واگردی است که ممکن است در یک واژه پرداز مدرن مانند Microsoft Word، LibreOffice Writer یا Google Docs استفاده کرده باشید. Vim تغییراتی را که در یک فایل ایجاد میکنید ردیابی میکند و در صورت نیاز میتواند آن را بازگرداند.
Vim هر کاری را که در حالت درج انجام می دهید یا هر دستوری را در حالت فرمان به عنوان تغییر در نظر می گیرد. مثلا:
- اگر چندین خط را در حالت درج تایپ کنید، سپس فوراً واگرد را انجام دهید، آن خطوط حذف خواهند شد.
- اگر خطی را تایپ کنید، به حالت فرمان بروید، سپس به حالت درج برگردید و متن دیگری را تایپ کنید، دو تغییر ایجاد خواهید کرد. واگرد هر کدام را جداگانه حذف می کند.
همچنین می توانید دستورات Vim مانند “3dd” را برای حذف سه خط تکرار کنید. اگر یکی از این دستورات ترکیبی را صادر کنید، این نیز به عنوان آخرین تغییر دوباره انجام می شود. میتوانید تا زمانی که فایل را باز یا ایجاد کردید، به همان جایی که شروع کردهاید، بازگردید.
اگر متوجه شدید که ویرایشی را در Vim انجام دادهاید که نمیخواستید آن را انجام دهید، لغو آن یک فرآیند دو مرحلهای ساده است:
- Esc را فشار دهید تا مطمئن شوید در حالت فرمان هستید.
- برای لغو تغییر قبلی، u را فشار دهید.
خودشه. پیامی درباره تغییرات ایجاد شده، مانند “n خطوط کمتر” مشاهده خواهید کرد.
اگر می خواهید بیش از یک تغییر را لغو کنید، می توانید آن را نیز انجام دهید. فقط پیشوند دستور undo را با تعداد تغییراتی که می خواهید لغو کنید، قرار دهید، همانطور که با اکثر دستورات دیگر Vim می توانید. برای مثال، اگر میخواهید دو تغییر را لغو کنید، فشار دهید:
2u
نحوه انجام مجدد در Vim
ممکن است متوجه شوید که دستور undo شما کار نامطلوبی انجام می دهد یا فقط نظر خود را در مورد آن تغییر می دهید. در این صورت می توانید دستورات redo را صادر کنید تا فایل خود را به حالت قبلی برگردانید.
همانطور که Vim تغییرات شما را پیگیری می کند، خنثی سازی شما را نیز پیگیری می کند. بنابراین در صورت نیاز میتوانید از طریق عملیاتهای مجدد، خنثیسازی خود را لغو کنید. به یاد داشته باشید، Vim چندین خط وارد شده در حالت ورودی را به عنوان یک تغییر در نظر میگیرد، بنابراین اگر یک عملیات را دوباره انجام دهید، چندین خط را در یک فرمان برمیگردانید.
دستور انجام این کار Ctrl + r برای “Redo” است. با فشردن Esc مطمئن شوید که در حالت فرمان هستید. Redo بر اساس همان اصل undo عمل می کند. برای مثال، میتوانید با قرار دادن پیشوند آن با تعداد تکرارهایی که میخواهید انجام دهید، دوباره آن را تکرار کنید.
مانند لغو، پیام کوتاهی در مورد تغییراتی که دوباره انجام شدهاند، مانند تعداد خطوط اضافه شده به فایل، خواهید دید. تا زمانی که به حالت فعلی فایل برگردید، میتوانید هر چند بار این کار را دوباره انجام دهید.