Количество окон в VIM - PullRequest
       1

Количество окон в VIM

6 голосов
/ 16 ноября 2010

Я хотел бы знать, сколько окон открыто на текущей вкладке из функции Vim;в частности, было бы полезно узнать, является ли конкретное окно последним, например, из autocmd, на вкладке.Есть идеи?

Ответы [ 2 ]

7 голосов
/ 17 ноября 2010

Полагаю, вы можете сделать все это с помощью команды winnr ().

winnr () сама по себе сообщает номер окна, в котором вы сейчас находитесь. Winnr ('$') сообщает вам последнее(нижнее) окно

Следующее будет возвращать '1', если вы находитесь в нижнем окне, и 0 в противном случае:

echo winnr() == winnr('$')

Используя ваш пример, вы можете выполнить что-то подобное для выполнениячто-то только в нижнем окне:

:autocmd WinEnter * if winnr() == winnr('$')|echo "Welcome to the bottom window"|endif

Предостережение: это прекрасно работает для вертикальных окон, но я не думаю, что это будет работать вообще для горизонтальных окон или для смешивания и сопоставления горизонтальных / вертикальных окон.

4 голосов
/ 18 ноября 2010

Вы также можете сделать следующее:

let window_counter = 0
windo let window_counter = window_counter + 1
echo window_counter

Команда :windo запускает команду ex в каждом окне текущей вкладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...