Рассмотрите следующий код vim.Vim говорит «отсутствует: endif», но я уверен, что его там
function! s:foo()
if s:bar()
let a = 1
endif
endfunction
function! s:bar()
python << EOF
vim.command('echoerr "blabla"')
EOF
endfunction
command! Foo call s:foo()
map <F7> :Foo<CR>
Открыть сеанс vim и нажать F7. Vim wil then throw error E171: Missing :endif
. Как это возможно и как я могу правильно отправить сообщение об ошибке внутри части python?
На стороне записки: ' ! empty (string) 'очень неэффективен, так как он сначала должен преобразовать' string' в список. Вместо этого используйте 'len (string)' или просто 'string! = # '''. Это распространенная ошибка ... – lcd047
Извините, 'len (string)' должен быть 'strlen (string)'. – lcd047
@ lcd047: Вы действительно измерили его? Я не вижу какой-либо заметной разницы, и я не думаю, что будет явное преобразование в Список. О, и 'len()' и 'strlen()' идентичны для строк. –