Похоже на ошибку: ваша версия показывает ошибку,
:execute 'try | foldopen! | catch | | endtry'
действует как
:echo 'try | foldopen! | catch | | endtry'
без складок.
Попробуйте следующий обходной путь:
:execute "try\n foldopen!\ncatch\nendtry'
Кстати, есть лучший способ, если вы хотите игнорировать все ошибки:
:silent! foldopen!
Обратите внимание, что он не будет очищать сообщения от перенаправления, если он присутствует, тогда как try...catch
будет.