احتمالاً برای شما هم پیش آمده که یک فایل رو در ویرایشگر 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 هست.
برای ورود به این مد توی حالت command mode مکان نما رو ببرید اول متنی که میخواین انتخاب کنید، کلید v رو بزنید تا وارد حالت visual mode بشید. با کلیدهای جهت نما و حرکت به جلو ، متن رو انتخاب میکنید، بعد انتخاب متن کلید y رو برای کپی بزنید. حالا برین محلی که میخواین متن رو paste کنید و کلید p رو بزنید.
اگر V حروف بزرگ رو بزنید میشه visual line mode و میتونید چند خط رو باهم انتخاب کنید و کلید ctrl +v هم visual block mode هست و بصورت بلاک متن رو انتخاب میکنه.
نکته آخر. اگر هر جا نیاز داشتین عملیات تون رو undo کنید(مثل ctrl+z) فقط کافیه کلید u رو بزنید.