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 :ls
và :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 :bnext
và: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ở file1
và file2
vào tab1
và file3
vào tab2
, nếu tab1
tôi sử dụng nhiều lần :bnext
tôi sẽ thấy file3
trong 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
:bnext
hoặc:bprevious
tôi sẽ ở trênbaz
bộ đệm (vì nó là cái duy nhất trong tab này) - Nếu tôi đi vào tab trước
:tabprevious
và thực thi nhiều lần:bnext
tôi sẽ chỉ chuyển đổi giữafoo
vàbar
bộ đệ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.