Làm thế nào để nắm bắt lỗi từ make trong cửa sổ terminal


8

Ghi chú phát hành của Vim 8.1 dường như cho thấy rằng bạn có thể cung cấp đầu ra từ việc chạy trong cửa sổ đầu cuối sang danh sách quickfix, nhưng tôi không thể tìm thấy bất kỳ lời giải thích chi tiết nào. Có cách nào để thực hiện việc này một cách tự động hay tôi phải thêm thủ công vào danh sách quickfix bằng cách sử dụng :caddbuffer?


Đây có phải là phổ biến? Đây là loại nhiệm vụ gì? Các cách sử dụng quickfix phổ biến nhất là linting và grepping. Nếu bạn đang linting thì sử dụng :makehoặc ALE . Nếu bạn đang tìm kiếm, sau đó sử dụng :grep. Nếu không, bạn có thể sẽ cần phải làm một cái gì đó giống :cgetbufferhoặc nhiều khả năng <c-w>Nsau đó kéo ra đầu ra,:cexpr @@
Peter Rincker

1
"Các lỗi được phát hiện có thể được bắt và thêm vào danh sách quickfix, vì vậy bạn có thể chuyển thẳng đến nguyên nhân của vấn đề." OP chỉ muốn biết người viết bài này (Bram?) Có nghĩa là gì.
Thánh lễ

@PeterRincker Tôi thường sử dụng :make:grep, nhưng điều đó làm phiền tôi về cách nó chặn toàn bộ trình soạn thảo trong khi nó đang chạy. Sử dụng cửa sổ đầu cuối như trong ghi chú phát hành trông giống như một sự thay thế đầy hứa hẹn. Đoạn văn trong ghi chú phát hành mà @Mass đã nói dường như gợi ý rằng có một cách dễ dàng để làm điều này, nhưng tôi không thực sự chắc chắn.
Sora Minazuki

Câu trả lời:


2

Tôi đã thực hiện một vpager plugin nhỏ . Điều đó cho phép kết xuất đầu ra trở lại vào Vim.

Ngoài ra, cam kết cuối cùng cho phép sử dụng đầu ra và kết xuất nó vào danh sách quickfix. Vì vậy, bạn có thể chỉ cần làm :make |vpager -Qvà nó sẽ được tải lại trong Vim.

(Không cần điều chỉnh cho cài đặt lỗi, không chắc chắn).

đoạn trích từ README :

git diff | vpager -nC 'ft=diff'

  Copies the output of git diff into a buffer inside Vim. Any previous
  output in the buffer will be cleared and the filetype will be set
  to "diff", for proper syntax highlighting.

  grep -n <searchterm> files | vpager -Q

  Parses the grep -n output, copies it back into the quickfix buffer
  and opens the first result in a new window.

2

Tôi đoán caddbufferhiện tại là cách tốt nhất để đạt được những gì tôi muốn.

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.