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).


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.

9
Atau :&&untuk mengulangi subtitusi terakhir dengan bendera yang sama.
Antony

@Antony: Perintah keren saya tidak tahu itu.
statox
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.