Thực hiện thay thế trước cho lựa chọn khác nhau với tổ hợp phím đơn


8

Tôi đã thực hiện theo lệnh

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

trên mã dưới đây được chọn thủ công:

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

Và nó hoạt động như dự định

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

Bây giờ tôi muốn lặp lại cùng một lệnh thay thế trên một đoạn mã khác được chọn thủ công thông qua chế độ chọn trực quan, với một lần nhấn phím (nếu có thể).


Bạn có thể gõ :'<,và sau đó lên mũi tên. Nó sẽ hiển thị thay thế trước đó. Bạn có ổn với bất kỳ ánh xạ?
SibiCoder

@SibiCoder Tôi không muốn tạo ánh xạ. Tôi muốn sử dụng lệnh gốc nếu có trong vim.
WitVault

Bạn sẽ phải tạo một bản đồ nếu bạn muốn một lần nhấn phím.
Antony

Câu trả lời:


15

Tôi nghĩ rằng bạn muốn làm @:mà phát lại lệnh ex cuối cùng.

Xem :h @:

Lưu ý rằng lệnh này có thể được gọi từ chế độ bình thường và từ chế độ trực quan. Ngoài ra trong trường hợp này nó không hữu ích nhưng bạn cũng có thể thêm tiền tố vào nó.


Chỉnh sửa Trong các bình luận @Antony đã chỉ ra một lệnh thú vị: :&( :h :&):

  • & có thể được sử dụng trong chế độ bình thường để lặp lại lệnh thay thế cuối cùng mà không có cờ của nó
  • :&& có thể được sử dụng trong chế độ ex để lặp lại lệnh thay thế cuối cùng giữ các cờ.

9
Hoặc :&&để lặp lại sự thay thế cuối cùng với các cờ tương tự.
Antony

@Antony: Lệnh tuyệt vời Tôi không biết điều đó.
statox
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.