كيفية زيادة vim تحت النوافذ (حيث لا يعمل CTRL-A...)

StackOverflow https://stackoverflow.com/questions/66919

  •  09-06-2019
  •  | 
  •  

سؤال

بينما كنترولX يعمل بشكل جيد في vim تحت النوافذ، كنترولأ يختار الكل (دوه).

هل هناك طريقة لزيادة رقم بضغطة زر تحت النوافذ؟

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

المحلول

جرب Ctrl-NumPad + ؟

(من هنا)

نصائح أخرى

تستطيع فعل كنترولأ لزيادة عدد النوافذ عن طريق فتح ملف "mswin.vim" في دليل vim الخاص بك والعثور على القسم الذي يبدو كالتالي:

" CTRL-A is Select all
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG

علق على كل هذه السطور بما يلي:

" CTRL-A is Select all
"noremap <C-A> gggH<C-O>G
"inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
"cnoremap <C-A> <C-C>gggH<C-O>G
"onoremap <C-A> <C-C>gggH<C-O>G
"snoremap <C-A> <C-C>gggH<C-O>G
"xnoremap <C-A> <C-C>ggVG

و ال كنترولأ سوف تزيد ضغطة المفتاح.

يعد هذا خيارًا رائعًا عندما لا تحتوي لوحة المفاتيح على لوحة أرقام حقيقية.

أدرك أن هذا سؤال قديم، لكنني واجهت خيارًا آخر اليوم بناءً على السؤال التالي.إن جعل gvim يتصرف كما يفعل على Linux سيسمح لـ CTRL-A بالعمل كما تتوقع:

كيفية جعل gvim على النوافذ تتصرف تمامًا مثل vim لوحدة التحكم في Linux؟

يوجد قسم في _vimrc يحتوي على العناصر التالية.يؤدي ذلك إلى قيام العديد من أحرف التحكم بالتصرف كما تفعل على نظام التشغيل Windows.

set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

لقد علقت (مع ") خطوط mswin و set nocompatible خط.ومن هناك أضفت set compatible.يؤدي هذا إلى قيام gvim بالتصرف كما يفعل على Linux.وبالتالي، يبدو لي شيء مثل:

set compatible
source $VIMRUNTIME/vimrc_example.vim
"set nocompatible
"source $VIMRUNTIME/mswin.vim
"behave mswin

لقد تعلمت هذه الخدعة اليوم، لذا إذا لم أكن صحيحًا تمامًا في معلوماتي، فيرجى إبلاغي بذلك.

لقد قمت بتعديل حل TMealy بحيث كنترولأ لا يزال يحدد كافة (أجد هذا مفيداً)، في حين كنترولأنا الزيادات (مفيدة أيضا).

noremap <C-I> <C-A>

" CTRL-A is Select all
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG

تحدث مشكلة مماثلة في نظام GNU/Linux عند استخدام Vim مع mswin.vim.إعادة رسم الخرائط بديل+X ل كنترول+أ قبل استحضاره mswin.vim حل مشكلتي.

execute "set <A-x>=\ex"
noremap <A-x> <C-A>
source $VIMRUNTIME/mswin.vim
behave mswin

الآن، بديل+X و كنترول+X زيادة ونقصان الأرقام على التوالي في Vim.

رسم الخرائط ل بديل غالبًا ما لا تكون مجموعات المفاتيح واضحة في Vim؛اقرأ المزيد عن هذا هنا.

أنا أستخدم شاشة cygwin Terminal +، لذلك يتم التقاط <c-a> بواسطة معدد الإرسال الطرفي.لقد استخدمت هذا التعيين:

:noremap <c-i> <c-a>

ويبدو أن كنترولأ حصلت على تعيين في مكان ما في بدء التشغيل.كما اقترح من قبل، استخدم:

إلغاء الخريطة <c-x>

سأستخدم unmap وليس nunmap.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top