سؤال

لدي إدخال في .vimrc الخاص بي مما يجعله صفحة أسفل إطار العرض عندما أضغط على شريط المسافة.تبدو هكذا:

map <Space> <PageDown>

أرغب في إنشاء تعيين رئيسي آخر لصفحات إطار العرض لأعلى عند الضغط على مفتاح Shift والضغط على شريط المسافة.لقد حاولت الإدخالات التالية:

map <Shift><Space> <PageUp>
map <S-Space> <PageUp>

لا يعمل.هل يعرف أحد كيفية تحقيق هذه الوظيفة؟

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

المحلول

وأنت لا تستطيع ذلك. وحل CMS في العمل من أجل gVim، ولكن ليس في همة لمحطات لا يمكن التمييز بين <مسافة> و لعنات ترى لهم نفس الشيء. قد يكون من الممكن في المستقبل إذا مكاسب همة libtermkey الدعم والمحطة الطرفية تدعم المناسبة تسلسل (إكس تيرم يفعل إذا تكوينه بشكل صحيح؛ لا شيء آخر يفعل بعد).

نصائح أخرى

إذا كنت تستخدم vim داخل iTerm2، فيمكنك تعيين Shift-space إلى ctrl+U عن طريق إرسال المفتاح السداسي 15.وهنا لقطة الشاشة:

enter image description here

للبحث عن رمز سداسي عشري لمجموعة ctrl+letter، على سبيل المثال ctrl+u، يمكنك القيام بما يلي:

  • في vim أدخل وضع الإدراج
  • اضغط على ctrl+v ثم ctrl+u ثم ctrl+c ثم ga
  • سيتم طباعة تمثيلات رقمية مختلفة في الأسفل

يمكنك تطبيق هذه الفكرة على المحاكيات الطرفية الأخرى التي تدعم تعيين المفاتيح.

استخدم هذا:

map <Space> ^D   " Pagedown when press Space
map <S-Space> ^U " Page Up when press Shift Space

لتحصل على ^ D و ^ رمز U بشكل صحيح فقط اضغط مراقبة-V تحكم-D، ومراقبة-V تحكم-U

لOSX:

nnoremap <Space> <C-d>
nnoremap <S-Space> <C-u>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top