Có thể để các dấu vim trỏ đến ký tự mà chúng được đặt ban đầu thay vì vị trí dòng / cột ban đầu của ký tự không?


1

Có thể làm cho các dấu vim (ví dụ mm) trỏ đến ký tự mà chúng được đặt ban đầu thay vì vị trí dòng / cột ban đầu của ký tự không?

Ví dụ: nếu tôi nhập mm trên chữ cái đầu tiên của từ "chính trị gia" (Dòng 1, Cột 72) trong câu ví dụ bên dưới và sau đó xóa từ "mục" và sau đó nhập `m con trỏ của tôi sẽ trở về con trỏ ban đầu vị trí (Dòng 1, Cột 72) hiện là vị trí của chữ 'a' trong từ "chính trị gia". Tôi hiểu rằng đây là hành vi được mong đợi của vim, nhưng tôi muốn thay vào đó tôi sẽ đưa tôi trở lại 'p' của các chính trị gia, mặc dù vị trí của Dòng / Cột đã thay đổi.

Câu ví dụ:

Khối 10 ngày được đưa ra sau khi những thay đổi ẩn danh được thực hiện đối với các chính trị gia và doanh nghiệp, cũng như các sự kiện như vụ ám sát Kennedy.

Tôi thấy hành vi mong muốn của mình hữu ích hơn nhiều đối với cách tôi viết / chỉnh sửa (đặc biệt là khi sử dụng Vim ngoài mục đích ban đầu là mã hóa). Viemu, một plugin bổ sung nhiều chức năng của Vim vào tay cầm Word đánh dấu cách tôi mong muốn. Thật không may, Viemu không phải là một cổng hoàn hảo của Vim và tôi muốn soạn tất cả văn bản (email, bài tiểu luận, v.v. và không chỉ mã) trong Vim. Không biết làm thế nào để Vim điều trị nhãn hiệu theo cách tôi muốn là một trong những lý do chính khiến tôi không sử dụng riêng.

Cảm ơn bạn trước

PS Đây là lần đầu tiên tôi đăng bài trên stackexchange / superuser, vì vậy xin vui lòng tha thứ cho tôi nếu tôi không tuân theo định dạng / giao thức thích hợp để đặt câu hỏi và vui lòng sửa cho tôi.


Tôi đã tự hỏi nếu có ai có bất cứ điều gì khác để thêm. Phản ứng của Ingo là hiểu biết nhưng tiếc là không đưa ra bất kỳ giải pháp nào Rất có thể không có gì, nhưng tôi đã hy vọng rằng có thể ai đó có ý tưởng khác.
George Karandinos

Câu trả lời:


0

Mặc dù các dấu sẽ được điều chỉnh cho các dòng được thêm / xóa, vị trí cột sẽ không; bạn đúng ở chỗ đó Hành vi mong muốn của bạn chắc chắn có nhiều lợi ích; Tôi đoán nó chưa được thực hiện, có lẽ vì sự phức tạp liên quan. (Và nó sẽ phá vỡ tính tương thích với các phiên bản vi và Vim trước đó, một cái gì đó không được xem nhẹ.)

Mặc dù có thể nối vào một số hành động chỉnh sửa bằng :autocmds, nhưng điều này thường không thể thực hiện được (ví dụ như những thứ như :skhông thể bị chặn), do đó, việc mô phỏng hành vi đó trong Vimscript sẽ khó khăn và tôi không biết về bất kỳ triển khai nào như vậy.

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.