Lakukan penggantian sebelumnya untuk pemilihan yang berbeda dengan penekanan tombol tunggal

8

Saya melakukan perintah berikut

:'<,'>s/2/digit/g

pada kode di bawah ini dipilih secara manual:

return _.round(this.getTotalAbs(), 2).toFixed(2);

Dan itu berfungsi sebagaimana dimaksud

return _.round(this.getTotalAbs(), digit).toFixed(digit);

Sekarang saya ingin mengulangi perintah pengganti yang sama pada potongan kode lain yang dipilih secara manual melalui mode pemilihan visual, dengan satu penekanan tombol (jika mungkin).

WitVault
sumber
Anda dapat mengetik :'<,dan lalu panah atas. Ini akan menampilkan pengganti sebelumnya. Apakah Anda baik-baik saja dengan pemetaan?
SibiCoder
@ SibiCoder Saya tidak ingin membuat pemetaan. Saya ingin menggunakan perintah asli jika tersedia dalam vim.
WitVault
Anda harus membuat pemetaan jika ingin satu penekanan tombol.
Antony

Jawaban:

15

Saya pikir Anda ingin melakukan @:yang memutar ulang perintah ex terakhir.

Lihat :h @:

Perhatikan bahwa perintah ini dapat dipanggil dari mode normal dan dari mode visual. Juga dalam hal ini tidak berguna tetapi Anda juga bisa awalan dengan hitungan.


Sunting Di komentar @Antony menunjukkan perintah yang menarik: :&( :h :&):

  • & dapat digunakan dalam mode normal untuk mengulang perintah pengganti terakhir tanpa benderanya
  • :&& dapat digunakan dalam mode ex untuk mengulang perintah pengganti terakhir menjaga bendera.
statox
sumber
9
Atau :&&untuk mengulangi subtitusi terakhir dengan bendera yang sama.
Antony
@Antony: Perintah keren saya tidak tahu itu.
statox