Coc.nvim: مشكلة في الضغط على علامة التبويب في نهاية الكلمة

تم إنشاؤها على ١٦ مارس ٢٠١٩  ·  5تعليقات  ·  مصدر: neoclide/coc.nvim

أنا أستخدم المثال 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 معين

كيف يمكنني إصلاحه دون تغيير السلوك العادي عندما لا تكون قائمة المرشحين النهائية فارغة؟ شكرا!

question

التعليق الأكثر فائدة

يجب أن يحرك المؤشر إلى موضع علامة التبويب التالي.

ماذا يعني موضع علامة التبويب التالية؟

يعني إدراج حرف جدولة.

أنا أستخدم المثال 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 أحصل على السلوك الذي وصفته. إنه يعيد تعيين علامة التبويب إلى علامة التبويب عندما لا تكون هناك نافذة إكمال مفتوحة.

ال 5 كومينتر

يجب أن يحرك المؤشر إلى موضع علامة التبويب التالي.

ماذا يعني موضع علامة التبويب التالية؟

المؤشر في نهاية الكلمة لا يعني أن طلب الإكمال سيعرض نتائج فارغة ، فهو في بعض الأحيان.

يجب أن يحرك المؤشر إلى موضع علامة التبويب التالي.

ماذا يعني موضع علامة التبويب التالية؟

يعني إدراج حرف جدولة.

أنا أستخدم المثال 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 !

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات