سؤال

عندما أقوم بتشغيل VIM من سطر الأوامر في ITERM ، لا يبدو أن تسليط الضوء على بناء الجملة يعمل محليًا.

في VIM على سبيل المثال ، قمت بتثبيت ColorCheme لطيف يعمل بشكل جيد في Macvim ، لكن سيكون من الرائع أن أظهر نفس الشيء في Iterm.

أي أفكار كيف يمكنني تشغيل هذا؟

هذا هو نظام الألوان الذي أحاول استخدامهhttp://www.vim.org/scripts/script.php؟script_id=2340

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

المحلول

يبدو أن مخطط الألوان هذا يدعم فقط 256 محطة. إذا اعتقد Vim أن المحطة الخاصة بك تدعم فقط 8 ألوان ، فلن ترى نظام الألوان المحدد.

يمكنك التحقق من ذلك في VIM بواسطة:

:echo &t_Co

إذا كان ذلك يعود 8, ، هذا قد يكون مشكلة. حاول ضبطه على 256 في الخاص بك ~/.vimrc ومعرفة ما إذا كان ذلك يساعد:

let &t_Co=256

نصائح أخرى

من أجل تشغيل تمييز الكود في VIM ، حاول تمكين المكون الإضافي بناء الجملة:

:syntax enable

لأولئك الذين ما زالوا لديهم مشكلة.

Iterm 2 -> التفضيلات -> ملفات تعريف -> الألوان -> الحد الأدنى من التباين -> أدنى مستوى

setup

لقد واجهت هذه المشكلة من قبل ، وكذلك بعض المشكلات ذات الصلة ، لذلك سألخص ما وجدته.

  1. تأكد من تعيين ITERM لاستخدام 256 لونًا. محاولة $ echo $TERMفي سطر الأوامر ، وإذا كنت لا ترى xterm-256color ثم اتبع الإرشادات في هذه الإجابة.

  2. إعداد الخاص بك vimrc للتعامل مع المحطات الأخرى كذلك. تدعم المحطة العادية في Snow Leopard 8 ألوان فقط على سبيل المثال وستومض في وضع وميض إذا حاولت استخدام نظام ألوان 256 (أنا لا أقوم بتعيين واحد في هذه الحالة). هذا ما لدي:

    " enable 256 colors in GNOME terminal (for my Ubuntu VM)
    if $COLORTERM == 'gnome-terminal'
        set t_Co=256
    endif
    
    " set your color scheme (replace wombat with whatever yours is called)
    " if you're using a gvim or macvim, then your color scheme may have a version
    " that uses more than 256 colors
    if has("gui_running")
        colorscheme wombat
    elseif &t_Co == 256
        colorscheme wombat256
    endif
    
    " turn on language specific syntax highlighting
    syntax on
    

على الرغم من اتباع كل النصائح في هذه الأسئلة (وغيرها ، مماثلة) ، وجدت في النهاية مشكلتي في جزء منسي من VIMRC أخذته من مكان ما على شبكة الإنترنت منذ سنوات (لأنه كان منظمًا بشكل جيد) ، ثم تم تعديله على نطاق واسع لأغراض بلدي.

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

   " GVIM- (here instead of .gvimrc)
   if has('gui_running')
          set guioptions-=T               " remove the toolbar
          set lines=40                    " 40 lines of text instead of 24,
   else
           set term=builtin_ansi       " Make arrow and other keys work
   endif

مما لا يثير الدهشة (في الماضي) ، يعيد خط "المصطلح" المصطلح "الأشياء بحيث بغض النظر عن النوع الذي تقوم عليه محطةك بالإبلاغ عن متغير البيئة المصطلح ، فأنت تنتهي بمحطة ANSI عام 8 ألوان. من المحتمل أن يكون تحديد "المصطلح" بشكل صريح داخل .VIMRC فكرة سيئة للغاية ، تمامًا مثل تعيين T_CO مباشرة.

لقد أزلت هذه الكتلة بأكملها (ووضعت إعدادات GVIM في .gvimrc ، حيث تنتمي) ، وكل شيء يعمل بشكل صحيح بالنسبة لي منذ ذلك الحين.

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