2013-03-22 2 views
1

Как вы предотвращаете загрузку плагина в командной строке vim, но разрешите его загружать в gvim?Плагины только для gvim?

Я пытаюсь использовать gitgutter, который имеет следующие строки: в верхней части

if exists('g:loaded_gitgutter') || !executable('git') || !has("gui_running") || &cp 
     finish 
    endif 

Однако каждый раз, когда я начинаю вверх Vim в командной строке в каталоге мерзавца с поддержкой, я получаю все это ханч:

"plugin/gitgutter.vim" 416L, 11964C 
Error detected while processing function GitGutter..<SNR>35_init..<SNR>35_define_signs: 
line 7: 
E319: Sorry, the command is not available in this version:  sign define GitGutterLineAdded   text=+ texthl=lineAdded linehl=NONE 
line 8: 
E319: Sorry, the command is not available in this version:  sign define GitGutterLineModified  text=~ texthl=lineModified linehl=NONE 
line 9: 
E319: Sorry, the command is not available in this version:  sign define GitGutterLineRemoved   text=_ texthl=lineRemoved linehl=NONE 
line 10: 
E319: Sorry, the command is not available in this version:  sign define GitGutterLineModifiedRemoved text=~_ texthl=lineModified linehl=NONE 
Error detected while processing function GitGutter..<SNR>35_find_other_signs: 
line 2: 
E319: Sorry, the command is not available in this version: :sign place file=/Users/adam/.vim/plugin/gitgutter.vim 
Error detected while processing function GitGutter..<SNR>35_show_signs..<SNR>35_add_sign: 
line 3: 
E319: Sorry, the command is not available in this version: :sign place 3000 line=1 name=GitGutterLineModified file=/Users/adam/.vim/plugin/gitgutter.vim 

Что я делаю неправильно?

EDIT: Мой вопрос был несколько недействителен - оказывается, мое отредактированный if заявление было правильным и работало, но была копия gitgutter в моем расслоении/директории, нагружали вместо plugin/gitgutter.vim

ответ

1

Вы должны испытывать has('signs') и не has('gui_running')

:h +signs 
+0

Добавление этого теста не было никакого эффекта; Я думаю, что проблема может быть не в моем тестировании на знаки vs gui_running, но что команда завершения, похоже, игнорируется. – keflavich

+1

Что я нашел нечетным, так это то, что vim говорит вам: 'sign' не поддерживается в вашей версии vim. Что означает ': echo (' знаки ') 'говорит вам? Думаю, вы увидите 0, что должно привести к завершению 'finish'. Не стесняйтесь добавлять следы с помощью ': echomsg' в свой плагин. Вы быстро увидите, какое из ваших предположений было ложным. –

+0

Оператор 'if' должен определенно оценивать' true': 'has ('gui_running')' и 'имеет ('знаки')' оба 0. Но я все еще получаю сообщения 'E319'. – keflavich

Смежные вопросы