Gần đây tôi đã phát hiện ra tùy chọn này switchbuf
và đã thử sử dụng nó nhưng tôi không thể nói nếu tôi không hiểu nó nên hoạt động như thế nào hoặc nếu nó thực sự không hoạt động trên Vim của tôi.
Về các giá trị khác nhau có thể, tài liệu nói:
useopen Nếu được bao gồm, nhảy đến cửa sổ mở đầu tiên
có chứa bộ đệm được chỉ định (nếu có).
usetab Giống như "useopen", nhưng cũng xem xét các cửa sổ trong các trang tab khác.
Sau đó tôi đã sử dụng set switchbuf=useopen,usetab
và các lệnh sau trong một ví dụ vim mới:
- Mở bộ đệm đầu tiên
:e file1
- Chia đôi màn hình
:split
- Mở bộ đệm thứ hai
:e file2
- Quay trở lại bộ đệm đầu tiên
:e file1
(tôi cũng đã sử dụng:bN
)
Các lệnh cuối cùng để đi đến bộ đệm đầu tiên mở nó trong phần tách thứ hai. Từ những gì tôi hiểu từ tài liệu, các lệnh sẽ đặt con trỏ đến phần tách đầu tiên nơi bộ đệm đã được mở nhờ useopen
. Ngoài ra hành vi là như nhau khi tôi thử các lệnh tương tự với các tab thay vì chia tách.
- Đây có phải là hành vi dự kiến?
- Nếu vậy bạn có thể giải thích tùy chọn này nên làm gì?
- Nếu không tôi biết rằng tôi sẽ phải gỡ lỗi
.vimrc
nhưng có lẽ có một cài đặt chung được biết là can thiệp vàoswitchbuf
không?
This option controls the behavior when switching between buffers.
và chỉ một vài dòng sau đề cập đến các lệnh quickfix vàsb
tôi nghĩ rằng đó là bổ sung cho các lệnh bộ đệm thông thường. Cảm ơn!