Khi tôi làm việc trong vim, tôi thường có một phần tách hoặc tách, mở có chứa một tệp trợ giúp.
Nếu tôi đóng các cửa sổ khác bằng cách sử dụng :q
vim như vậy sẽ bị bỏ lại trong trạng thái chỉ có cửa sổ trợ giúp mở, vim sẽ đóng toàn bộ trình chỉnh sửa, khiến tôi mất vị trí trong các trang trợ giúp. ví dụ: tôi có bố cục này
tab1 (this is the only tab open)
+------------------+-------------+-----------------+
| | | |
| |:h usr_26.txt| |
| A normal file, | | :h change.txt|
| containing code |section 26.2 | |
| e.g. |line 47 | line 272 |
| | | |
| app_db.sql | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
+------------------+-------------+-----------------+
Nếu tôi được nhập vào cửa sổ chứa app_db.sql
một vấn đề các :q
lệnh, đáng ngạc nhiên toàn bộ biên tập viên sẽ bị mất.
Tôi thường mất nhiều thời gian - lên tới 15-20 phút - để tìm kiếm trợ giúp để cuối cùng khám phá ra nội dung trợ giúp đó, vì vậy mặc dù nó không thực sự bị mất việc, nhưng chắc chắn sẽ mất rất nhiều thời gian khi điều này xảy ra.
Làm cách nào tôi có thể ngăn vim đóng trình chỉnh sửa khi tôi đóng cửa sổ chỉ với cửa sổ trợ giúp mở?
Các giải pháp khả thi tôi đã xem xét
- Đơn giản là đừng đóng cửa sổ cuối cùng khi có cửa sổ trợ giúp mở.
- Vấn đề với điều này là tôi không chú ý đến những gì trong các cửa sổ khác khi tôi đóng cửa sổ hiện tại.
- Sử dụng
mksession
- điều này đòi hỏi bạn phải biết trước thời gian mà bạn cần
:mksession
và việc đóng trình soạn thảo luôn xảy ra bất ngờ.
- điều này đòi hỏi bạn phải biết trước thời gian mà bạn cần
- Sử dụng một plugin như vim ám ảnh liên tục cập nhật một
Session.vim
tập tin.- Hiện tại tôi đã tạm dừng sử dụng vim-obsession vì (trớ trêu thay), các
Session.vim
tập tin vim ám ảnh thường không khôi phục các tab chứa các trang trợ giúp, nhưng cácSession.vim
tệp được tạo bằng cách:mksession
khôi phục các tab bằng các cửa sổ trợ giúp. (Ngoài ra, một vấn đề khác với nhãn tab bị khớp sai với chính các tab)
- Hiện tại tôi đã tạm dừng sử dụng vim-obsession vì (trớ trêu thay), các
~/.vimrc
và theo dõi bất kỳ tác dụng phụ kỳ lạ nào
wincmd p
là nó không hoạt động vì p có thể là null. Tôi sẽ phải kiểm tra một
obsession
sẽ lưu các cửa sổ trợ giúp nếu bạn thêm help
vào sessionoptions
một thời gian trước khi lưu phiên : set sessionoptions+=help
.
QuitPre
sự kiện sẽ tập trung trở lại cửa sổ trước đó trước khi đóng cái hiện tại:autocmd QuitPre * wincmd p