Cara menyalin teks yang ditarik ke prompt perintah VI


118

Saya ingin tahu apakah ada cara untuk menempelkan teks yang ditarik ke jendela perintah. Misalnya jika saya telah menarik sebuah kata dan saya ingin grep di beberapa lokasi, saya tidak bisa begitu saja menempelkan kata tersebut menggunakan 'p'. Namun jika saya menyalinnya ke clipboard, Shift-Insert akan menempelkan hal yang sama.

Apakah ada tweak yang tersedia yang memungkinkan saya untuk menempelkan teks yang ditarik ke prompt perintah vim?

Saya menggunakan gvim di Windows.

Jawaban:


174

coba gunakan

<ctrl+r>"

dimana "singkatan dari register default.


7
Perhatikan bahwa ini juga berfungsi dalam mode penyisipan normal, tidak hanya pada baris perintah.
pengguna55400

25
Jika Anda menggunakan *alih-alih ", Anda akan mendapatkan konten papan klip sistem sebagai gantinya (yang mungkin berguna).
dash-tom-bang

40

<C-R>"Akan menempelkan buffer default. Bergantian, Anda dapat menggunakan q:untuk membuka buffer untuk perintah berikutnya. mencoba:help q:


10
q:
Sialan

19
  • pastikan terlebih dahulu Anda berada dalam mode normal dengan menekan Esc
  • sekali dalam mode normal, tekan :
  • lalu gunakan kombinasi keyboard ctrl-r, lalu ketik"

Catatan: jika Anda menarik baris penuh yang berisi jalur file relatif, umpan baris juga akan ditempelkan ... yaitu :! touch src/bash/script.sh^M

AKAN membuat "jalur file lucu" yang berisi "\ r" jika Anda tidak menghapus ^M...


13

Untuk menghemat langkah menarik Anda, jika kursor Anda berada pada kata yang ingin Anda gunakan di Ex, gunakan:

 <ctl-r><ctl-w>

Ini menghindari penarikan untuk menempel ke baris perintah; sebagai gantinya, seseorang menempelkan kata di bawah kursor langsung ke baris perintah. Misalnya:

:%s/<ctl-r><ctl-w>/foo/g

5

Jika hanya kata yang ingin Anda salin, Anda dapat menggunakan <C-r><C-w>

  1. Arahkan kursor ke kata tersebut
  2. Kemudian Anda dapat mengetik sesuatu seperti :vim <C-r><C-w> *

3

Anda dapat menarik ke clipboard menggunakan *buffer bernama. Misalnya, ini akan menyalin baris saat ini ke clipboard:

"*yy

Jadi Anda dapat menyalin baris menggunakan ini, lalu menempelkannya dengan shift-insert di baris perintah.

Demikian pula, Anda dapat menempelkan dari papan klip seperti ini:

"*p

2

Papan klip +, setidaknya di Mac. Jadi Anda akan menulis "+yyuntuk menarik garis ke papan klip, dan "+pmenempelkannya. Meskipun Anda selalu bisa menggunakan Command-C dan Command-V.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.