Iterm Vim ColorCheme لا يعمل
سؤال
عندما أقوم بتشغيل 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 لاستخدام 256 لونًا. محاولة
$ echo $TERM
في سطر الأوامر ، وإذا كنت لا ترىxterm-256color
ثم اتبع الإرشادات في هذه الإجابة.إعداد الخاص بك
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 ، حيث تنتمي) ، وكل شيء يعمل بشكل صحيح بالنسبة لي منذ ذلك الحين.