Có loại hoàn tất không được liệt kê trong tệp trợ giúp vim (đáng chú ý: insert.txt), nhưng theo bản năng tôi cảm thấy cần phải thay đổi thường xuyên. Giả sử tôi có từ "Awesome" và "SuperCrazyAwesome" trong tệp của tôi. Tôi tìm thấy một trường hợp của Awesome mà thực sự nên là SuperCrazyAwesome, vì vậy tôi bắt đầu từ, nhập chế độ chèn, và sau đó phải gõ "SuperCrazy".hoàn thành mã nội bộ trong vim
Tôi cảm thấy mình có thể nhập "S", tạo "Scrazy", và sau đó chỉ cần nhấn phím nóng hoàn thành hoặc hai để tìm nó ở bên trái con trỏ ("S"), cái gì là bên phải ("Crazy"), regex này chống lại tất cả các từ trong tập tin ("/ S \ w * Crazy /"), và cung cấp cho tôi một menu popup hoàn thành, hoặc chỉ thay thế nếu chỉ có một trận đấu.
Tôi muốn sử dụng hệ thống hoàn thành thực tế cho việc này. Có tồn tại một "người dùng xác định" hoàn thành trong đó sử dụng một chức năng, và có một ví dụ tốt trong sự giúp đỡ để thay thế từ một danh sách nhất định. Tuy nhiên, tôi không thể theo dõi nhiều thông tin cụ thể mà tôi cần phải thực hiện điều này, bao gồm:
- Làm cách nào để có danh sách tất cả các từ trong tệp từ hàm vim?
- Tôi có thể liệt kê các từ từ tất cả các bộ đệm (có tên tập tin), khi vim hoàn thành không?
- Làm cách nào để, ở chế độ chèn, nhận văn bản trong từ trước/sau con trỏ?
- Có thể hoàn thành thay thế toàn bộ từ và không chỉ lên đến con trỏ không?
Tôi đã ở đây trong vài giờ. Tôi tiếp tục đánh các đầu cụt, như this one, giới thiệu tôi với \% # để phù hợp với vị trí con trỏ, điều này dường như không hiệu quả đối với tôi. Ví dụ: tìm kiếm \ w * \% # chỉ trả lại ký tự đầu tiên của từ tôi đang truy cập, bất kể tôi đang ở đâu trong đó. Các \% # dường như không neo.
Không liên quan chặt chẽ, nhưng bạn có thể nhận được một số gợi ý từ câu trả lời [this] (http://stackoverflow.com/questions/6548541/camelcase-expansion-in-vim-like-intellij-idea/6550628#6550628). Có các hàm mẫu để tạo danh sách các từ từ tệp hiện tại và hàm hoàn thành tùy chỉnh. Tôi sẽ thử và đăng câu trả lời sau vào ngày hôm nay. –
Liên kết của bạn trông thú vị và giàu dữ liệu. Tôi sẽ đào qua nó. Cảm ơn bạn đã giúp đỡ. –