Когда мне нужно работать над разными проектами одновременно, у меня есть следующий рабочий процесс:
- Я создаю одну вкладку для каждого проекта.
- В каждой вкладке я открываю файлы, которые хочу отредактировать, что создает несколько буферов.
- Опционально, если мне нужно увидеть два (или более) файла одновременно, я создаю разделенные окна, поэтому у меня есть вкладка, содержащая разные окна, в которой показан один буфер.
Для навигации по моим буферам я на самом деле не пользуюсь, :ls
и :b [name or number of buffer]
вместо этого я создал несколько удобных отображений, позволяющих переключаться между буферами с помощью :bnext
и:bprevious
Этот способ работы довольно хорош, но меня что-то беспокоит: буферы распределяются между вкладками.
Если я открою file1
и file2
в tab1
и file3
в tab2
, если tab1
я использую несколько раз, :bnext
я увижу file3
в этой вкладке, что я не хочу. Рабочий процесс, который я хотел бы получить, выглядит следующим образом :
- Запустите vim (у меня есть первая вкладка с буфером):
$ vim foo
- Добавьте буфер на эту вкладку:
:e bar
- Откройте новую вкладку и переключитесь на нее:
:tabnew
- Откройте новый буфер в этой вкладке:
:e baz
- Если я останусь в этом буфере и сделаю
:bnext
или:bprevious
я останусь вbaz
буфере (так как он единственный в этой вкладке) - Если я перейду на предыдущую вкладку
:tabprevious
и выполню несколько раз,:bnext
я переключусь только между буферамиfoo
и между ними,bar
но не увижуbaz
Итак, вот мой вопрос: возможно ли привязать набор буферов к вкладке и заставить vim запретить доступ к некоторым буферам из другой вкладки, кроме той, в которой они должны быть?
Примечание: я знаю, что использование :b [myBuffer]
было бы способом сохранить буфер во вкладке, но когда у меня есть 3 или 4 файла для редактирования, я чувствую, что я действительно быстрее использую свои отображения, чем набираю имя буфера (даже если я могу введите только несколько символов, соответствующих имени буфера) .
alt+tab
(или, что еще хуже, мышь) чувствует себя гораздо менее простым, чем переключение вкладок в vim.