أنا أستخدم المثال vimrc الوارد في README.md.
السؤال هو ، عندما لا يكون هناك مرشح للإكمال ويكون المؤشر في نهاية الكلمة ، فإن النقر على علامة التبويب لا يؤدي إلى أي شيء.
في رأيي ، يجب أن يكون السلوك المثالي لهذه الحالة هو تحريك المؤشر إلى موضع علامة التبويب التالي ، بخلاف البحث عن مرشحين مكتملين في قائمة فارغة.
أعتقد أن سبب هذا هو
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
في تكوين vimrc معين
كيف يمكنني إصلاحه دون تغيير السلوك العادي عندما لا تكون قائمة المرشحين النهائية فارغة؟ شكرا!
يجب أن يحرك المؤشر إلى موضع علامة التبويب التالي.
ماذا يعني موضع علامة التبويب التالية؟
المؤشر في نهاية الكلمة لا يعني أن طلب الإكمال سيعرض نتائج فارغة ، فهو في بعض الأحيان.
يجب أن يحرك المؤشر إلى موضع علامة التبويب التالي.
ماذا يعني موضع علامة التبويب التالية؟
يعني إدراج حرف جدولة.
أنا أستخدم المثال vimrc الوارد في README.md.
أعتقد أن سبب هذا هو
...
في الواقع. تحقق من صفحة الويكي هذه: https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources#improve -completion-experience
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
يجب أن يجعل الكود أعلاه يعمل بالطريقة التي تريدها.
عندما أعلق على هذا السطر من vimrc أحصل على السلوك الذي وصفته. إنه يعيد تعيين علامة التبويب إلى علامة التبويب عندما لا تكون هناك نافذة إكمال مفتوحة.
المثال في الملف التمهيدي هو لاستكمال المشغل عندما يكون هناك حرف كلمة من قبل ، ولكن ما تحتاجه هو عدم تشغيل الإكمال ، لذلك عليك إنشاء خريطة المفاتيح الخاصة بك مقابل <Tab>
.
inoremap <silent><expr> <TAB> \ pumvisible() ? "\<C-n>" : \ <SID>check_back_space() ? "\<TAB>" : \ coc#refresh() inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>" inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
يجب أن يجعل الكود أعلاه يعمل بالطريقة التي تريدها.
عندما أعلق على هذا السطر من vimrc أحصل على السلوك الذي وصفته. إنه يعيد تعيين علامة التبويب إلى علامة التبويب عندما لا تكون هناك نافذة إكمال مفتوحة.
هذا يعمل. شكرا لك @ DzKaki !
التعليق الأكثر فائدة
يعني إدراج حرف جدولة.
في الواقع. تحقق من صفحة الويكي هذه: https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources#improve -completion-experience
يجب أن يجعل الكود أعلاه يعمل بالطريقة التي تريدها.
عندما أعلق على هذا السطر من vimrc أحصل على السلوك الذي وصفته. إنه يعيد تعيين علامة التبويب إلى علامة التبويب عندما لا تكون هناك نافذة إكمال مفتوحة.