Có một chuyển động tương tự như "không bao giờ bao gồm khoảng trắng hàng đầu không?


10

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

1
Thay vì sử dụng ?"<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ụng F". Flà giống như fnhư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ưng Flà một lệnh hữu ích.
Litva

Câu trả lời:



10

Có nghĩa là, trong Wellle của targets.vim plugin. Để trích dẫn phần có liên quan (bên trong phần " Trích dẫn "):

a' a" a

  • Chọn một trích dẫn.

  • Điều này ghi đè đối tượng văn bản mặc định của Vim để hỗ trợ tìm kiếm.

  • Không giống như các đối tượng văn bản trích dẫn của Vim, điều này không bao gồm khoảng trắng xung quanh .


Có vẻ như plugin này ghi đè a"và sử dụng A"cho hành vi ban đầu?
Martin Tournoij

... Trong khi đó, tôi tin rằng, cũng cho phép tìm kiếm "bên trái"
VanLaser

5

Để thay thế, bạn có thể sử dụng một đối tượng văn bản đối số / tham số. Bây giờ Vim không có các đối tượng văn bản đối số gốc nhưng có một vài bổ trợ ngoài đó thực hiện:

Cá nhân tôi sử dụng plugin riêng của mình, argumentative.vim, tuy nhiên tôi đã nghe thấy những điều hay về cả sidays.vim và Target.vim.

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.