Nếu tôi có x hoặc nhiều cửa sổ mở trong một phiên VIM và tôi muốn nhanh chóng ẩn tất cả trừ cửa sổ đang hoạt động trong giây lát rồi trả lại các cửa sổ cho bố cục tôi đã có chúng thì tôi sẽ làm thế nào?
Nếu tôi có x hoặc nhiều cửa sổ mở trong một phiên VIM và tôi muốn nhanh chóng ẩn tất cả trừ cửa sổ đang hoạt động trong giây lát rồi trả lại các cửa sổ cho bố cục tôi đã có chúng thì tôi sẽ làm thế nào?
Câu trả lời:
Trong Vim 7 trở lên, bạn có thể sử dụng trang tab tab của Google cho mục này (ví dụ: tab kiểu GUI GUI). Bạn có thể sử dụng :tab
lệnh với một trong hai :split
hoặc :sbuffer
:
:tab split
:tab sp " shorter version
:tab sbuffer
:tab sb " shorter version
Cả hai split
và sbuffer
thực hiện gần như cùng một thứ khi được sử dụng mà không cần thêm đối số (tách bộ đệm hiện tại). Bạn có thể sẽ muốn sử dụng split
nếu bạn dự đoán muốn tải một số tên đường dẫn (có thể chưa được tải) ( split path/to/some/file
mặc dù bạn chỉ có thể sử dụng :tabe
thay vì vì đây là trong bối cảnh mở một tab mới); sbuffer
làm cho nó dễ dàng hơn để chuyển sang một bộ đệm hiện có ( sb {bufnum}
hoặc sb {bufname}
).
Khi bạn mở tab mới, bạn có thể sử dụng gT
và gt
chuyển đổi giữa các tab kết quả (hoặc điều khiển GUI nếu bạn đang sử dụng phiên bản GUI của Vim). Khi bạn kết thúc với tab một cửa sổ, chỉ cần :q
đóng cửa sổ (và do đó là tab) và quay lại tab ban đầu (với bố cục cửa sổ ban đầu của nó), hoặc sử dụng :tabclose
( :tabc
) hoặc quay lại tab ban đầu của bạn và sử dụng :tabonly
( :tabo
).
Tôi sử dụng CTRL-W _ để "đẩy" các cửa sổ khác ra khỏi đường khiến cho cửa sổ hiện tại mở rộng ra khu vực có sẵn lớn nhất. Sử dụng CTRL-W | để làm tương tự theo chiều dọc. Tôi chắc chắn có thể có một cách để làm cả hai cùng một lúc, nhưng tôi đã không chú ý hoặc tìm kiếm nó. Nhìn vào: giúp CTRL-W
Để khôi phục chúng, hãy làm CTRL-W =. Một điều lưu ý là họ không được khôi phục cấu hình ban đầu. CTRL-W = thực sự tính toán lại mức phù hợp nhất cho tất cả các cửa sổ trên màn hình.
Theo tôi biết, không có cách nào để chuyển đổi đơn giản giữa hai bố cục cửa sổ khác nhau, nhưng bạn có thể ẩn tất cả các cửa sổ khác bằng cách ban hành lệnh :only
(hoặc :on
). Xem trợ giúp Vim cho lệnh này .