Các lệnh :bufdo
và:vimgrepadd
Câu trả lời này dựa trên /programming//a/11976158/1057593 .
Tuy nhiên, tôi muốn thêm một vài bit. Một lần nữa lệnh cơ bản là
:bufdo vimgrepadd pattern %
Nếu danh sách quickfix của bạn không trống, có lẽ bạn muốn xóa nó trước (xem /programming//q/27385970/1057593 ). Điều này có thể được thực hiện với
:cexpr []
vim-unimpaired cung cấp các ánh xạ ]q
và [q
xoay vòng qua các trận đấu.
cmdline-lịch sử
Đó là một quy trình công việc tốt để nhập riêng mẫu tìm kiếm /pattern
. Điều này cho phép bạn sử dụng một lệnh chung từ lịch sử dòng lệnh của bạn bằng cách sử dụng mẫu tìm kiếm hiện tại. Điều này sẽ trông giống như
/pattern
:bufdo vimgrepadd // %
Một tìm kiếm bộ đệm mới điển hình sẽ là
/pattern2
:bufdo<up><up>...
Tôi đã thêm các ánh xạ sau vào vimrc của mình để sử dụng <C-N>
và <C-P>
thay vì các phím mũi tên
cmap <C-P> <Up>
cmap <C-N> <Down>
Để tìm kiếm lịch sử lệnh sử dụng q:
, sau đó /bufdo<CR>
và gọi một lệnh với <CR>
. Để biết thêm chi tiết, hãy xem https://vim.fandom.com/wiki/Using_command-line_history và các trang trợ giúp :h history
và :h cmdline-window
.
Bạn có thể thêm vào lệnh tái sử dụng :copen
để xem ngay danh sách quickfix theo cách sau:
:execute "bufdo vimgrepadd // %" | copen
Đề xuất từ stackoverflow :bufdo vimgrepadd // % | copen
đã mở một số cửa sổ ngoài ý muốn trong trường hợp của tôi.