Есть ли способ записать результаты «: ls» в файл?

9

У меня есть куча разделений прямо сейчас, и мне потребовалось некоторое время, чтобы найти эти файлы (в основном я выслеживаю ошибку через 50 взаимосвязанных файлов).

Есть ли такая команда :ls > /tmp/filelist, которая запишет текущие сплиты / буферы, которые я открыл для файла?

user2635263
источник
1
Я изначально неправильно понял ваш вопрос, но я считаю, что это то, что вы ищете: stackoverflow.com/questions/2573021/…
jmathew
Это то, что вы хотите: Как сохранить макет окна, разделения и буфера ? Или вам нужен только список буферов?
Мартин Турной
@jmathew это именно то, что я искал. Я никогда не знал о функции redir, это очень полезно
user2635263

Ответы:

9

Вы можете попробовать следующие 3 команды:

:redir > filelist.txt | :ls | :redir END

redi[r][!] > {file}Перенаправить сообщения в файл {file}. Сообщения, являющиеся выходом команд, записываются в этот файл до тех пор, пока не завершится перенаправление.

Чтобы сообщения и команды не отображались на экране, поместите команды в функцию и вызовите ее с помощью :silent call Function(). Альтернативой является использование verbosefileопции, которую можно использовать в сочетании с :redir. Разница в :redirтом, что подробные сообщения не отображаются, когда verbosefileустановлено.

См: :help redir.

kenorb
источник