2010-07-01 30 views
5

Trong Vim 7, Ctrl-X Ctrl-O hiển thị danh sách các giá trị có thể nhưng tôi thấy chuỗi khóa này quá dài khi tôi thường xuyên sử dụng tính năng tự động hoàn tất. Ví dụ: trong tệp HTML, tôi muốn xem danh sách tự động bật lên sau khi tôi nhập < theo sau bởi một hoặc hai chữ cái. Trong một tệp CSS, tôi muốn xem danh sách sau khi tôi nhấn phím ":". Có cách nào để thiết lập điều này không?Hiển thị Vim omnicomplete trên một số ký tự thay vì Ctrl-X Ctrl-O?

Trả lời

8

Để kích hoạt tính không hoàn hảo khi nhập ":", bạn có thể sử dụng ánh xạ sau.

imap : :<c-x><c-o> 

Những bất lợi là mỗi lần bạn nhấn ":" omnicompletion sẽ được kích hoạt, ngay cả khi gõ ":" trong ý kiến ​​hoặc trong bất kỳ bối cảnh khác trong đó bạn không muốn omnicompletion.

Tôi đã ánh xạ ctrl-không gian để omnicompletion hoạt động:

imap <c-space> <c-x><c-o> 

này mang lại cho tôi sự lựa chọn để kích hoạt omni bất cứ khi nào tôi cần nó.

+0

Tôi phải đồng ý với Habi về điều này. Tốt hơn hết là kích hoạt omni-completion khi bạn cần nó hơn là để nó tự động kích hoạt. Omni-hoàn thành nên là một công cụ để giúp bạn, không phải là một cái nạng mà bạn dựa vào. – jamessan

+3

Tôi có thể nói, chỉ hạn chế nó đối với loại tệp CSS (là lần duy nhất bạn nhập: là khi bạn muốn các tùy chọn đó. 'au FileType css imap:: ' – sleepynate

+0

@sleepynate Cảm ơn, đây chính xác là những gì Tôi muốn! – geoffeg

1

Một giải pháp thay thế khác mà tôi thấy dễ dàng hơn là chỉ cần nhấn tab hai lần khi bạn muốn tự động hoàn tất và một lần cho tab thông thường. Thêm dòng sau vào ~/.vimrc

imap <tab><tab> <c-x><c-o> 
Các vấn đề liên quan