Как вы предотвращаете загрузку плагина в командной строке 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
Добавление этого теста не было никакого эффекта; Я думаю, что проблема может быть не в моем тестировании на знаки vs gui_running, но что команда завершения, похоже, игнорируется. – keflavich
Что я нашел нечетным, так это то, что vim говорит вам: 'sign' не поддерживается в вашей версии vim. Что означает ': echo (' знаки ') 'говорит вам? Думаю, вы увидите 0, что должно привести к завершению 'finish'. Не стесняйтесь добавлять следы с помощью ': echomsg' в свой плагин. Вы быстро увидите, какое из ваших предположений было ложным. –
Оператор 'if' должен определенно оценивать' true': 'has ('gui_running')' и 'имеет ('знаки')' оба 0. Но я все еще получаю сообщения 'E319'. – keflavich