هاشم کامروا
هاشم کامروا
خواندن ۲ دقیقه·۳ سال پیش

عملیات Cut، Copy و Paste در ویرایشگر vim

کات کپی پیست در vim
کات کپی پیست در vim

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

vi به عمل copy می‌گه yunk
به paste می‌گه put
و عمل cut میشه delete!

برای copy و paste باید روی command mode باشید، تو حالت ویرایش یا insert mode نمی‌شه این کار رو انجام داد. برای copy (yunking) کلید y رو می‌زنید. برای paste (put) کلید p. با این کار اون کاراکتری که مکان نما روی اون قرار داره copy میشه

اینجا چندتا دستور پر کاربرد رو براتون لیست کردم

yy: دوتا کاراکتر y یعنی کل خط رو copy کن
۳yy: یعنی از این خطی که مکان نما قرار داره سه تا خط رو copy کن
yw: کلمه‌ای که مکان نما روش قرار داره رو copy می‌کنه
y$: از مکان نما تا آخر خط رو copy می‌کنه
y^: از مکان نما تا اول خط رو copy می‌کنه

برای عملیات delete )cut): کلید d رو می‌زنیم
dd: دوتا d یعنی کل خط رو cut کن
۳dd: یعنی از اینجا ۳ تا خط رو cut کن
d$: یعنی از محل مکان نما تا اخر خط رو cut کن. تمام کاراکتر‌ها و syntax هاش مثل copy هست. مثل dw که کلمه رو cut می‌کنه d^ که از محل مکان نما تا اخر خط رو cut می‌کنه.

برای paste کردن (put) هم کلید p رو می‌زنیم و paste رو در محل مکان نما انجام می‌ده.

تا اینجا توی حالت command mode عملیات کپی پیست رو انجام دادیم.‌یه راه آسون‌تر دیگه که میشه به راحتی متن رو هم انتخاب کرد حالت visual mode ویرایش‌گر vim هست.

کپی پست در vim
کپی پست در vim

برای ورود به این مد توی حالت command mode مکان نما رو ببرید اول متنی که می‌خواین انتخاب کنید، کلید v رو بزنید تا وارد حالت visual mode بشید. با کلید‌های جهت نما و حرکت به جلو ، متن رو انتخاب می‌کنید، بعد انتخاب متن کلید y رو برای کپی بزنید. حالا برین محلی که می‌خواین متن رو paste کنید و کلید p رو بزنید.

اگر V حروف بزرگ رو بزنید میشه visual line mode و می‌تونید چند خط رو باهم انتخاب کنید و کلید ctrl +v هم visual block mode هست و بصورت بلاک متن رو انتخاب می‌کنه.

نکته آخر. اگر هر جا نیاز داشتین عملیات تون رو undo کنید(مثل ctrl+z) فقط کافیه کلید u رو بزنید.


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