2012-03-08 18 views
5

Tôi muốn chạy lệnh shell và lấy đầu ra của nó trong bộ đệm có thể nhấp trong các emacs. Lệnh này là một kịch bản lệnh shell mà cuối cùng sẽ chạy nhanh trên các tập tin nguồn. Sản lượng của nó trông giống như đầu ra của grep. Nó bao gồm tên tập tin và số dòng. Tôi muốn có thể bấm vào một tập tin hoặc nhập trong khi đứng trên nó và cho emacs để đưa tôi đến dòng đó trong tập tin. Tôi cho rằng tôi cần một số chức năng tùy chỉnh để làm điều đó, nhưng tôi mới làm quen với emacs vì vậy tôi chưa biết cách lập trình nó.Chạy lệnh trong emacs, nhận đầu ra trong bộ đệm có thể nhấp

Trả lời

7

M-x grep nhập lệnh của bạn thay vì mặc định.

M-x apropos "grep. * Null" thấy grep-use-null-device nếu bạn cần để không gửi "/ dev/null"

+0

Điều này có vẻ giống như một hướng thú vị. Vấn đề là emacs gắn thêm/dev/null làm đối số cuối cùng cho lệnh của tôi. Tôi giả sử nó mong grep để chạy trên một số tập tin và kể từ khi lệnh của tôi không bao gồm bất kỳ tập tin trong các đối số của nó, nó gắn thêm/dev/null như là một tập tin mặc định. –

+1

M-x apropos "grep. * Null" tìm 'grep-use-null-device'. –

+0

Có, nó hoạt động. Cảm ơn rất nhiều! –

1

Một phương pháp khác là chạy lệnh sử dụng shell-commandM! và thay đổi chế độ bộ đệm đầu ra thành compilation-mode sử dụng Chế độ biên dịch M-x.

Một cách khác là chạy lệnh bằng cách sử dụng Biên dịch M-x. Nhược điểm của điều này là, Emacs chỉ cho phép một bộ đệm biên dịch hoạt động theo mặc định.