LINUX.ORG.RU

Автозакрытие буферов в vim

 ,


0

2

Такая проблема. При работе с большими (чужими) проектами часто приходится использовать навигацию по тагам. Прыгнул, посмотрел, вернулся. Удобно. Однако при прыгании на таг вим открывает буфер файла, содержащего этот таг. Со временем открытых буферов становится очень много, вручную закрывать их неудобно. Хочется чтобы буферы, вновь открытые с помощью с-]/g] либо закрывались после c-t, либо как-то помечались, не смешиваясь с буферами, которые я сам открыл (собственно, с которыми я и работаю). Как-то так.

★★★★★

Последнее исправление: vvviperrr (всего исправлений: 1)

Хочется чтобы буферы, вновь открытые с помощью с-]/g] либо закрывались после c-t, либо как-то помечались, не смешиваясь с буферами, которые я сам открыл (собственно, с которыми я и работаю). Как-то так.

Да, я бы тоже хотел узнать, как такое сделать. Думаю, что ремапинг с закрытием буфера тут может помочь. Нужно только как то определять, что буфер был открыт именно по g], а не по, скажем, e.

Найдете решение, кастаните меня в тему.

andreyu ★★★★★
()

У меня BufExplorer, когда открытых буферов слишком много - я wipe'аю давно неиспользованные, пачками

tri10bit
()
Ответ на: комментарий от tri10bit

а с интеллектуальным закрытием можно и перемудрить

tri10bit
()
Ответ на: комментарий от dmitry_malikov

вполне чОтко сформулировано. разрешаю двигаться дальше.

mos ★★☆☆☆
()

Как вариант:

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

Возможны нюансы — в первом пункте — например, необходимость при нажатии комбинации клавиш создать автокоманду на вход в буфер, и уже там запоминать, иначе имя его будет не известно. И тут же удалить эту автокоманду.

В принципе, подготовленному вимеру, написать будет не очень сложно.

habamax ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.