2012-01-30 2 views
0

У меня есть HTML-файл с CSS в голове. Обычно я открываю файл на 2 вкладках, поэтому я могу легко переключаться между HTML и CSS, но мне также хотелось бы сфотографировать большую часть кода (особенно объявления шрифтов). К сожалению, всякий раз, когда я открываю вторую вкладку, каждый однократная разблокировка.Открытие новой вкладки Undoes Code Folding in Vim

Я могу снова свернуть все сразу после этого, но если я открою другую вкладку, все будет отменено.

У меня есть код складной установить, как это в моем .vimrc:

set foldmethod=indent " fold based on indent       
set nofoldenable " don't fold by default        
set foldlevel=1 " only close/open one foldlevel at a time    
au BufWinLeave * silent! mkview " save view when closing buffer  
au BufWinEnter * silent! loadview " load view when opening buffer 

ответ

0

Попробуйте сделать :mkview в оригинальном буфере, чем перейти на тот же буфер в различных вкладке и сделать :loadview. Это должно сделать складки одинаковыми, что указывает на то, что BufWinLeave и BufWinEnter не являются событиями, которые вы хотите. , , , Возможно, это также связано с тем, что foldenable зависит от окна, и в этом случае вам также нужно включить складки в окне на новой вкладке. , ,

Кроме того, вам не нужно беспокоиться о материалах mkview/loadview, если вы просто разделите (:split или :vsplit) окно на текущей вкладке. Это должно дать вам два представления одного и того же буфера с одинаковыми настройками. Разделенные складки в каждом окне будут работать независимо. (:set winwidth=999; :set winminwidth=1 при использовании вертикальных расщеплений заставит текущее окно автоматически заполнить ширину экрана Vim ...)

+0

Разделение текущего окна - это решение, но я обычно работаю с открытым браузером и занимая половину экрана. Вкладки позволяют мне увеличить пространство экрана для каждого вида. Использование mkview/loadview вручную, похоже, работает, хотя мне бы не хотелось набирать все это каждый раз, когда я открываю вкладку. Есть ли еще одна пара событий, которые заменяют BufWinEnter/BufWinLeave в моем vimrc? –

+0

Я не уверен, но я думаю, что вы можете оставить BufWinEnter как есть и изменить 'mkview' для работы с событием WinLeave. Похоже, что проблема также может заключаться в том, что 'nofoldenable' является вашим значением по умолчанию, не уверен, что loadview автоматически изменит это или нет, но вы должны иметь' foldenable', чтобы иметь складки. –

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

  • Нет связанных вопросов^_^