سؤال

أريد أن استخدام shift-tab لاستكمال تلقائي ومواصلة كتل الرمز البصري. لقد كنت أشير إلى make_shift-tab_work . هذا الرابط يتحدث عن رسم الخرائط ^[[Z إلى shift-tab . لكني لا أحصل ^[[Z عندما أضغط shift-tab. أنا فقط أحصل على طبيعية tab في هذه الحالة.

ثم يتحدث عن استخدام xmodmap -pke | grep 'Tab' لرسم خريطة تبويب مفاتيح. حسب أن الإخراج يجب أن يكون

keycode 23 = Tab
or
keycode 23 = Tab ISO_Left_Tab

ومع ذلك أحصل

keycode  22 = Tab KP_Tab

إذا استخدمت xmodmap -e 'keycode 22 = Tab ISO_Left_Tab' وبعد ذلك xmodmap -pke | grep 'Tab', ، ما زلت أحصل

keycode  22 = Tab KP_Tab

هذا يعني الجري xmodmap -e 'keycode 22 = Tab ISO_Left_Tab' ليس له أي تأثير.

في النهاية يذكر الرابط باستخدام xev لمعرفة ماذا X يستلم عندما أضغط shift-tab. لكن ليس لدي xev على نظامي.

هل هناك أي طريقة أخرى يمكنني التقاط تبادل التحول في VIM

هل كانت مفيدة؟

المحلول

يتحدث الرابط على وجه التحديد عن الحصول على ^[[Z عندما تضغط كنترول+الخامستحول+فاتورة غير مدفوعة في وضع إدراج. إذا تركت كنترول+الخامس, ، ثم يتصرف Vim كما لو كنت قد ضغطت فاتورة غير مدفوعة.

أسهل طريقة لجعل VIM تعترف <S-Tab>, ، هو تعيين مباشرة t_kB خيار لتسلسل الهروب الذي ترسله المحطة الخاصة بك ، بدلاً من العبث بالخرائط.

كاختبار سريع ، جرب هذا في VIM الجري:

: تعيين T_KB =كنترول+الخامسخروجz
: IMAPu003CS-Tab> فو

الآن عندما تضغط تحول+فاتورة غير مدفوعة في وضع إدراج ، foo يجب إدراجها. إذا نجح ذلك ، يمكنك إجراء التغيير دائمًا عن طريق إضافة ما يلي إلى VIMRC.

exe 'set t_kB=' . nr2char(27) . '[Z'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top