Tôi đang sử dụng a"
chuyển động khá thường xuyên trong vim; ví dụ: sử dụng ca"
trong khi tái cấu trúc một đoạn mã để thay thế một đối số được mã hóa cứng bằng một tên biến. Vấn đề với cách tiếp cận này là a"
bao gồm khoảng trắng hàng đầu nếu không có khoảng trắng ở cuối :
Bất kỳ khoảng trắng kéo dài nào cũng được bao gồm, trừ khi không có khoảng trắng nào, thì khoảng trắng hàng đầu sẽ được bao gồm.
Vì vậy, khi tôi chỉnh sửa một hàm gọi như thế này:
aFunction(arg1, "toBeReplaced", arg3) #original
aFunction(arg1, replacedArg, arg3) #refactored
Tôi phải tự tái chèn không gian trước replacedArg
khi ca"
xóa nó.
Có bất kỳ chuyển động tương tự không bao gồm khoảng trắng này, hoặc có bất cứ điều gì khác tôi có thể sử dụng thay vì ca"
điều đó giúp tôi không phải gõ thêm một không gian?
Ghi chú:
cf"
thực hiện những gì tôi muốn miễn là chuỗi không chứa bất kỳ dấu ngoặc kép nào, nhưng yêu cầu tôi phải có con trỏ ở đầu chuỗi. Tôi muốn một cái gì đó tôi có thể sử dụng từ bất cứ đâu trong chuỗi, và?"<Enter>cf"
khá khó để gõ.- Nó ít hơn về
<Space>
tổ hợp phím đơn và nhiều hơn về thực tế là ban đầu tôi thường quên bao gồm không gian, khiến tôi mất ít nhất bốn lần nhấn phím thêm (bi<Space><Esc>
) và phá vỡ sự tập trung của tôi. Do đó, độ dài của lệnh thay thế không quan trọng, miễn là nó chỉ xóa văn bản giữa các ký tự đã cho và sau đó vào chế độ chèn.
?"<Enter>
để tìm kiếm một trích dẫn lạc hậu trên một dòng, bạn có thể sử dụngF"
.F
là giống nhưf
nhưng tìm kiếm ở bên trái. Các câu trả lời dưới đây có vẻ tốt hơn cho câu hỏi của bạn, nhưngF
là một lệnh hữu ích.