У меня есть два вертикальных раздельных окна. Я хочу установить для моей линии вкладок ширину только в первом окне, чтобы вновь открытые вкладки не перекрывали второе окно. Есть способ сделать это?
2 ответа
Вероятно, вы можете манипулировать tabline
(см . :h setting-tabline
), чтобы достичь своей цели, но… tabline уже имеет очень ограниченную полезность, когда вы достигаете дюжины вкладок из-за доступной ширины, так что это будет еще менее полезно, если вы уменьшите это на 50% и более.
Какой смысл в этом поведении? Какова будет его выгода? Какова ваша конечная цель?
Вам нужно написать функцию, которая предоставляет настраиваемую табулированную строку, и установить ее в настройке 'tabline'
. (Обратите внимание, что это не относится к GVIM с его графическим таблированием.)
В справке at :help setting-tabline
есть работающий пример, который эмулирует табличную строку по умолчанию. Вам нужно манипулировать этим, чтобы ограничить ширину первого окна, которое вы можете получить с помощью winwidth(1)
. Для того, чтобы ваша табличная строка также правильно работала с символами двойной ширины, может пригодиться новая функция strdisplaywidth()
.
Видите ли, это выполнимо, но я сомневаюсь, что усилия гарантируют выгоду (которую я не вижу).