Tôi muốn tối ưu hóa quy trình "tìm và thay thế" của mình trong Vim. Đó là điều tôi thường làm, vì tôi chắc rằng hầu hết các bạn cũng vậy. Thông thường một cái gì đó dọc theo dòng - sao chép một khối và thay đổi tên của một biến ở một vài nơi. Tôi biết, tôi biết, điều đó có thể kích hoạt phản xạ "tại sao bạn sao chép và dán mã", nhưng chúng ta đừng đi vào con đường đó ... Có rất nhiều trường hợp sử dụng hợp lệ :)
Tôi nhận thức rõ về các lệnh tìm kiếm và thay thế: :s
hoặc :%s
tôi không thích chúng. Nó buộc tôi phải gõ cả tên biến đầy đủ mà tôi đang tìm kiếm và tôi đang thay đổi nó thành gì. Có lẽ có một cách tốt hơn để sửa số lượng gõ bằng :%s
? Tôi thường sử dụng tên biến mô tả dài, vì vậy đó thực sự là một công cụ đối phó với tôi. Tôi cũng không thích cách gõ một tên biến từ đầu dễ bị lỗi chính tả và có thể tiêu tốn thời gian và trí tuệ để săn lùng lỗi chính tả. Tôi rất thích gõ nó một lần, sau đó sao chép và dán để tránh điều này hoàn toàn nếu có thể.
Quy trình công việc hiện tại của tôi sử dụng một số kết hợp của chuyển động / yank / select / search / put để di chuyển xung quanh tệp và thay thế từng cái một. Nó không tuyệt vời nhưng có lợi ích là tránh gõ tên đầy đủ. Tôi có thể chỉ cần nhập một vài chữ cái đầu tiên bằng /
hoặc sử dụng một lệnh di chuyển khác (ví dụ fx
) tùy thuộc vào những gì xung quanh và sau đó nhấn ve
để chọn toàn bộ từ. Tôi cũng không bận tâm rằng tôi phải lặp lại cho mọi trường hợp. Tôi không bao giờ thực hiện thay thế đầy đủ mà không xác nhận từng thay đổi. Nhưng sẽ tốt hơn nhiều nếu tôi có thể lặp lại hành động thay thế bằng một lần nhấn phím (điều mà tôi không thể làm với phương pháp này). mỗi thay thế thường là một cái gì n
đó ve
sau đó p
(hoặc thậm chí tệ hơn "0p
)
Có cách nào nhanh hơn không?
n
ve
"0p
. Thật không may, không thể được sao chép chỉ với một.
n ce ctrl-r 0 <esc> n.n.n.n.n.n.
.
lặp lại "khối lệnh" cuối cùng (không chắc chắn về thuật ngữ chính xác. ví dụ: di chuyển + hành động + văn bản. ví dụ:cwtoto<Esc>
(thay đổi từ con trỏ sang cuối từ bằng "toto"),c/foo<enter>bar<Esc>
(thay đổi từ con trỏ sang trước " foo "và thay thế bằng" bar "). sau đó bạn có thể di chuyển (bằng con trỏ, hjkl hoặc số + hjkl (thực hiện n lần), G (đi đến cuối tệp), / cái gì đó (đi ngay trước" một cái gì đó "), v.v.) và sau đó nhấn.
để làm lại" khối lệnh "tương tự