Проблемы с цветом MacVim при запуске из командной строки - PullRequest
3 голосов
/ 09 апреля 2011

Я относительно новичок в Vim и до сих пор пользуюсь им без проблем.Я бы либо запустил MacVim из моей док-станции, либо использовал mvim из командной строки.До сих пор это прекрасно работало, но сейчас я столкнулся с проблемой.Без видимой причины запуск MacVim из командной строки начал создавать окно MacVim, в котором все цвета были испорчены.Когда я запускаю его из док-станции, все в порядке.

enter image description here

Цветовая схема одинакова для обоих редакторов (соляризация), поэтому я действительно озадачен тем, чтопроблема в том.Мой MacVim устанавливается с помощью Homebrew, и похоже, что исполняемый файл одинаков для док-станции и командной строки.Я даже пытался запустить /Applications/MacVim.app/Contents/MacOS/MacVim напрямую, он также открывается белым.Я использую Janus, и я пытался обнулить мой .vim и воссоздать его с помощью скрипта rake, но без изменений.

Любая помощь, очень благодарна, заранее спасибо.

Редактировать

Мои .vimrc / .gvimrc файлы довольно большие, но они являются основными значениями, которые поставляются с Janus.Мои .vimrc.local / .gvimrc.local одинаковы и выглядят так:

syntax enable
set background=dark
colorscheme solarized
map f gg=G

Я также обнаружил, что это не проблема с другими темами, такими как ir_black (по умолчанию Janus по умолчанию).

Редактировать 2

Кажется, это известная проблема , по крайней мере, несколько других людей испытывают ее.Опубликует решение, когда оно будет найдено.

Ответы [ 3 ]

2 голосов
/ 09 апреля 2011

Проблема не в macvim, а в Terminal.app.Терминал Apple по умолчанию довольно древний, когда речь идет о поддержке цветов и поддерживает только 16 цветов.Большинство цветовых схем для vim определены для 256 цветов при использовании терминалов (cterm) и 16 миллионов при использовании gui.Вот что портит ваши цвета.

Я бы порекомендовал использовать iTerm2 в качестве терминала.Он поддерживает 256 цветов и обладает множеством других функций (мне нравится разделение окон!), И в целом он более стабилен, чем Terminal.app.

2 голосов
/ 09 апреля 2011

Это вызвано mvim экспортом среды терминала в MacVim.

У меня есть Solarize, проверяет, работает ли он в Terminal.app, и, если так, использую прозрачный (NONE) фон в vim, чтобы избежатьнекоторые странные проблемы с цветом.К сожалению, я не осознавал, что mvim также экспортирует свою терминальную среду в MacVim.Ранее я просил vim проверить значение $ TERM_PROGRAM, и если это строка терминала.app, то я предположил, что я в ней.Я изменил это, теперь проверяю строку и проверяю.

Должен ли MacVim выбрасывать среду терминала?Я не знаю.Я сомневаюсь.Таким образом, я бы порекомендовал наилучшую практику в тех случаях, когда в скриптах vim используются переменные envrionment, а также проверка на наличие gui_running, если это имеет отношение к проверке.

Я добавил исправление для этого с коммита d5fcacea в соляризованном проекте на github и протестировал здесь и с одним другим пользователем удаленно.

0 голосов
/ 09 апреля 2011

Можете ли вы опубликовать свой .vimrc?

Это то, что у меня есть, и у меня нет проблемы, которую вы описываете:

if has("gui_running")
    augroup RCVisual
        autocmd!
        autocmd GUIEnter *  colorscheme mycolo
    augroup END
else    
    colo desert
endif

Обратите внимание, что люди всегда кричат ​​ная делаю что-то по-другому на #vim, но они всегда работают для меня.Другими словами, это может быть не самой лучшей практикой, но это работает.

...