考慮下面的vim代碼。Vim說'missing: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將會提示E171: Missing :endif
。 這是怎麼可能的,我怎麼才能正確地發送一個錯誤信息在Python部分?
在一個側面說明:' !empty(string)'效率很低,因爲它必須首先將'string'轉換爲列表。考慮使用'len(string)'而不是'string!=#'''。這是一個普遍的錯誤...... – lcd047
對不起,'len(string)'應該是'strlen(string)'。 – lcd047
@ lcd047:你真的測過它了嗎?我沒有看到任何顯着的差異,我不認爲會有明確的轉換到列表。哦,對於字符串,'len()'和'strlen()'是相同的。 –