Самый простой способ заставить NERDTree работать так, как ожидается с сеансами, - это, вероятно, исправить NERD_tree.vim, добавив автокоманду в группу автокоманд NERDTree (сразу после строки augroup NERDTree
):
exec "autocmd BufEnter ". s:NERDTreeBufName ."* call <SID>initNerdTreeInPlace(\"\")"
Это не всесторонне протестировано, но мне кажется, что это работает для меня с несколькими раскладками и с различным количеством открытых окон NERDTree.
Edit: На самом деле, это не так хорошо работает, потому что NERDTree имеет первичное и вторичное окна, и в файле сеанса нет указания, является ли буфер NERDTree одним или другим. Похоже, что добавление надежной поддержки для этого плагина не будет такой большой проблемой, но это более чем тривиально. Между тем, для простых случаев добавление следующей автокоманды (вместо приведенной выше) может сделать то, что вы хотите:
exec "autocmd BufEnter ". s:NERDTreeBufName ."* :NERDTreeToggle | :NERDTreeToggle"