Khi tôi cần làm việc trên các dự án khác nhau cùng một lúc, tôi có quy trình làm việc theo sau:
- Tôi tạo một tab cho mỗi dự án.
- Trong mỗi tab tôi mở các tệp mà tôi muốn chỉnh sửa, tạo ra một số bộ đệm.
- Tùy chọn nếu tôi cần xem hai (hoặc nhiều) tệp cùng lúc tôi tạo các cửa sổ tách để tôi có một tab chứa các cửa sổ khác nhau hiển thị một bộ đệm.
Để điều hướng giữa các bộ đệm của tôi, tôi không thực sự sử dụng :lsvà :b [name or number of buffer]thay vào đó tôi đã tạo một số ánh xạ thuận tiện cho phép tôi chuyển đổi giữa các bộ đệm với :bnextvà:bprevious
Cách này để làm việc là khá tốt nhưng một điều làm phiền tôi: bộ đệm được chia sẻ giữa các tab.
Nếu tôi mở file1và file2vào tab1và file3vào tab2, nếu tab1tôi sử dụng nhiều lần :bnexttôi sẽ thấy file3trong tab này mà tôi không muốn. Quy trình công việc tôi muốn nhận là folowing :
- Bắt đầu vim (Tôi có một tab đầu tiên có bộ đệm trong đó):
$ vim foo - Thêm một bộ đệm vào tab này:
:e bar - Mở một tab mới và chuyển sang nó:
:tabnew - Mở một bộ đệm mới trong tab này:
:e baz - Nếu tôi ở trong bộ đệm này và làm
:bnexthoặc:bprevioustôi sẽ ở trênbazbộ đệm (vì nó là cái duy nhất trong tab này) - Nếu tôi đi vào tab trước
:tabpreviousvà thực thi nhiều lần:bnexttôi sẽ chỉ chuyển đổi giữafoovàbarbộ đệm nhưng sẽ không thấybaz
Vì vậy, đây là câu hỏi của tôi: Có thể liên kết một bộ đệm vào một tab và làm cho vim không cho phép truy cập vào một số bộ đệm từ một tab khác so với bộ đệm mà chúng có nghĩa là gì?
Lưu ý: Tôi biết rằng sử dụng :b [myBuffer]sẽ là một cách để giữ bộ đệm trong tab nhưng khi tôi có 3 hoặc 4 tệp để chỉnh sửa, tôi cảm thấy như mình thực sự sử dụng ánh xạ của mình nhanh hơn so với việc nhập tên bộ đệm (ngay cả khi tôi có thể chỉ nhập một số ký tự để khớp với tên bộ đệm) .
alt+tab(hoặc thậm chí tệ hơn là chuột) cảm thấy dễ dàng hơn nhiều so với chuyển đổi tab trong vim.
