Tôi đã tìm cách lập bản đồ toán tử mới trong Vim lấy tham số bổ sung.Xác định toán tử Vim mới với tham số
Ví dụ, chúng ta biết rằng ciw
sẽ "cắt từ bên trong" và sẽ đưa bạn vào chế độ chèn, những gì tôi đang tìm kiếm là có một hành động tùy chỉnh để thay thế c
(ví dụ s
) mà sẽ đưa các phong trào như iw
nhưng đòi hỏi một tham số bổ sung.
Một ví dụ nhỏ sẽ là:
Given a line in a text file
Và thực hiện trong chế độ bình thường (cho con trỏ trên cột đầu tiên) siw*
đó sẽ bao quanh từ đầu tiên với *
như vậy:
*Given* a line in a text file
Tôi biết, đây là những gì các plugin surround.vim tuyệt vời nhất hiện. Nhưng tôi chỉ đưa ra một ví dụ ở đây, và tìm kiếm một câu trả lời như thế nào để có được ánh xạ để công việc trên.
Tôi đã thử chơi với onoremap
và opfunc
nhưng dường như không thể khiến chúng phát theo cách tôi muốn.
Vì vậy, đây là kết hợp các chuyển động cộng với ánh xạ đang chờ của nhà điều hành.
Câu hỏi thú vị :) – Rook
Vì đó là những gì mà Surround làm, bạn có nhìn vào mã của Surround không? – romainl
Đó là loại Surround làm, ngoại trừ nó thêm (các) chuyển động sau hành động Vim như 'y',' d' và 'c'.Một lần nữa, lưu ý rằng tôi đưa ra một ví dụ, không nói rằng tôi muốn viết lại Surround. Và vâng, tôi đã thấy nguồn cho Surround. – alfredodeza