VIM: Bagaimana Anda mendapatkan perintah ex terakhir yang Anda gunakan?

10

Saya menemukan bahwa kadang-kadang saya menulis perintah mode ex sangat panjang yang melakukan banyak hal. Mereka semacam "skrip mini" yang saya tulis di editor teks lalu saya mulai mode ex dan menyalinnya ke baris ex dan jalankan. Tapi kemudian saya selalu berakhir mengedit dalam mode ex dan kemudian saya merasa sulit untuk mendapatkan perubahan yang saya lakukan dalam mode ex kembali ke sesi pengeditan teks saya.

Dengan menggunakan keyboard, bagaimana Anda menyalin perintah ex terakhir yang Anda gunakan dan menempelkannya ke editor teks Anda?

(Catatan: Ini adalah kebalikan dari pertanyaan ini " bagaimana cara menyalin / menempel dalam mode ex vim " di mana pengguna bertanya "bagaimana Anda menyalin dari editor teks dan menempel ke mode ex?". Pertanyaan saya adalah sebaliknya karena saya ingin menyalin dari mode ex dan menempel ke editor teks saya.)

Trevor Boyd Smith
sumber
Saya punya kludge yang melakukan ini ... tetapi ia membutuhkan mouse untuk memilih ... gvim pull down menu untuk menyalin ... dan jika baris ex adalah dua baris, paste memiliki baris baru yang mengganggu. (tapi yang lebih menjengkelkan adalah kenyataan bahwa saya menggunakan mouse dan gui untuk menyalin / menempel ...).
Trevor Boyd Smith

Jawaban:

16

The :register terdiri terakhir: -command (ex perintah) Anda berlari, sehingga Anda cukup mengetik perintah ":p(dengan kutipan ganda) untuk menyisipkan register yang ke dalam buffer saat. Lihat:

:help registers
:help ":

Perhatikan bahwa ada register untuk pencarian terakhir, nama buffer saat ini, dll.

Heptite
sumber
17

Coba q:perintahnya. (Itu adalah dua karakter, pertama qdan kemudian :.) Ini adalah perintah mode normal yang akan membuka riwayat ex-command Anda dalam buffer Vim khusus. Anda dapat meninjau riwayat, menarik apa pun yang Anda inginkan seperti biasa, dan / atau mengedit garis dan menekannya <enter>untuk menjalankannya.

Herbert Sitz
sumber
Berhati-hatilah untuk tidak mengetik :q, yang mana ingatan otot saya mencoba memaksaku!
frabjous
7
q:bekerja dari mode normal. Jika Anda sudah dalam mode baris perintah (ex), ketik Ctrl-F untuk membuka jendela baris perintah itu.
garyjohn
Hmm .... Ctrl + F tidak lain hanya mencetak "^ F" di baris perintah ex-mode saya. Apakah saya melewatkan beberapa saus ajaib?
Stabledog