Đóng tất cả danh sách vị trí hoặc sửa chữa nhanh các cửa sổ trong vim


8

Có cách nào để đóng tất cả các danh sách vị trí và các cửa sổ sửa lỗi nhanh bằng một lệnh duy nhất trong vim / gvim không?

Câu trả lời:


5
:windo if &buftype == "quickfix" || &buftype == "locationlist" | lclose | endif

Điều đó sẽ thực thi lệnh: lclose trong tất cả các cửa sổ không hiển thị quickfix hoặc danh sách vị trí. Tôi không có một bộ danh sách vị trí để kiểm tra nó, vì vậy tôi đã thử nghiệm với một loại bộ đệm khác và nó đã hoạt động cho trường hợp đó.

Bạn có thể sẽ muốn làm cho nó trở thành một lệnh hoặc phím tắt trong .vimrc của bạn.


lclosekhông đóng danh sách quickfix, vì vậy điều này sẽ không hoạt động cho những người đó.
chiến thắng

1

:ccl | lcl

Ánh xạ tới <Leader>c:

noremap <Leader>c :ccl <bar> lcl<CR>


Điều này sẽ chỉ đóng một danh sách vị trí: một cho cửa sổ hoạt động, nếu một trong đó tồn tại.
ches 6/2/2015

1

Tôi ánh xạ cái này tới <F11>:

nmap <F11> :windo lcl\|ccl<CR>

Về cơ bản: Trong mỗi cửa sổ, hãy chạy lcl(đóng danh sách vị trí) và ccl(đóng quickfix)


0
:windo if &buftype != "quickfix" | lclose | endif

Điều đó sẽ thực thi :lcloselệnh trong tất cả các cửa sổ không hiển thị quickfix hoặc danh sách vị trí. Tôi không có một bộ danh sách vị trí để kiểm tra nó, vì vậy tôi đã thử nghiệm với một loại bộ đệm khác và nó đã hoạt động cho trường hợp đó.


Đọc lại câu hỏi, anh ta yêu cầu đóng tất cả các cửa sổ sửa chữa nhanh, không đóng mọi thứ trừ chúng.
răn đe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.