Как вы перезагрузите все окна Vim одновременно? - PullRequest
60 голосов
/ 22 сентября 2010

У меня есть несколько файлов, открытых в vim, в нескольких окнах.Есть ли команда типа: e, которая перезагрузит буферы для всех файлов, которые у меня есть?Мне это нужно, потому что я иногда изменяю некоторые файлы в другом редакторе, когда они также открыты в vim.

Ответы [ 3 ]

93 голосов
/ 22 сентября 2010

Команда: windo делает для Windows то, что: bufdo делает для буферов.То есть:

 :windo e

должен циклически проходить по всем видимым окнам (т. Е. Не окнам на других вкладках, если таковые имеются) и выполнять команду ': e'.Аналогично:

 :bufdo e

будет циклически перебирать все буферы в списке буферов (т.е. без «скрытых» буферов) и выполнять ту же команду.

Обратите внимание, что в буфере могут быть буферысписок, который в данный момент не отображается ни в одном окне.Так что использовать «: windo e» или «: bufdo e» зависит от того, что вы хотите.

Соответствующая помощь здесь: http://vimdoc.sourceforge.net/htmldoc/windows.html#list-repeat

9 голосов
/ 22 сентября 2010

Vim автоматически перезагрузит буферы, которые были изменены извне (и не имеют несохраненных изменений), если вы установите параметр 'autoread' .

3 голосов
/ 22 сентября 2010

А как же

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