2016-12-28 4 views
1

Я пытаюсь проверить, находится ли строка кода в файле в vimscript. Мне нужно использовать возвращаемое значение grep внутри моего if, но я не знаю, как это получить.Vim использовать возвращаемое значение выполненной команды bash

Это не работает, конечно:

if $(execute '!grep -q ' . shellescape(lineToAdd) . ' ' . shellescape(g:projectPath)) 
    echom "Already added." 
    return 
endif 

ответ

1

См v:shell_error, как показано в этом Vim documentation,

Результат последней команды оболочки. При ненулевой ошибке в последней команде оболочки произошла ошибка. Когда ноль, проблем не было. Это работает только тогда, когда оболочка возвращает код ошибки в Vim. Значение -1 часто используется, когда команда не может быть выполнена . Только для чтения.

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