2013-12-18 26 views
6

Tôi đang sử dụng wgrep khá thường xuyên để tái cấu trúc và thường nó hoạt động khá tốt. Tuy nhiên, có một số phiền toái nhỏ mà tôi hy vọng có thể được giải quyết:Tối ưu hóa khả năng sử dụng của wgrep

  1. Sau khi thực hiện một tìm kiếm rgrep, thay đổi để wgrep và thực hiện những thay đổi trong bộ đệm rgrep, wgrep sẽ mở tất cả các file đó sẽ được thay đổi và thực hiện các sửa đổi. Tuy nhiên, khi làm như vậy, các tệp được mở bình thường trong các emacs, do đó chúng sẽ trải qua các công cụ tải chế độ bình thường, có thể mất một thời gian nếu hành động này liên quan đến các tệp nguồn lớn được phân tích cú pháp.

    Có thể sửa đổi wgrep như vậy mà nó mở ra các file trong chế độ cơ bản nhất (tôi đoán cơ bản chế độbình thường-mode) để thay thế?

  2. Sau khi thực hiện thay đổi, wgrep sẽ không đóng bất kỳ bộ đệm mới được mở nào.

    Có thể thay đổi wgrep như vậy mà nó sẽ tự động đóng bất kỳ bộ đệm đã được mở trong giai đoạn thực hiện (ví dụ: bộ đệm mà không được mở trước khi wgrep thủ tục bắt đầu).

Cuối cùng, meta câu hỏi: Đây có phải là thay vì một vấn đề được niêm yết để theo dõi vấn đề của wgrep developer hoặc là nó một StackOverflow câu hỏi thích hợp?

+0

Về câu hỏi "meta": đăng bài ở đây có thể giúp người khác tìm câu trả lời và/hoặc tìm hiểu về các nội dung hữu ích. Sử dụng trình theo dõi nhà phát triển và/hoặc vấn đề là imho ok nếu đây là vấn đề hoặc yêu cầu nổi bật (bạn đã điều tra và không có cách nào để làm những gì bạn muốn). StackOverflow có thể giúp điều tra này cho một số người dùng. – juanleon

+0

FYI, 'normal-mode' là hàm xác định chế độ chính thích hợp để sử dụng, gọi và sau đó thiết lập tất cả các biến tập tin và thư mục cục bộ (tất cả những thứ bạn muốn tránh, nói cách khác) . 'chế độ cơ bản' là những gì bạn muốn. – phils

+0

@phils - Nó không chỉ là 'chế độ cơ bản' mà là cần thiết, nếu bạn muốn tránh chi phí truy cập tập tin thông thường: Bạn cũng muốn tránh móc chế biến và các biến tập tin cục bộ. Có một số tiền hợp lý của không quan trọng để làm và chăm sóc để có. Và sau đó, nếu bạn muốn thực sự truy cập một số tệp, bạn cần phải cẩn thận để gọi tất cả nội dung đó đúng cách (nếu không thì hãy xóa bộ đệm và sau đó chỉ truy cập vào tệp đó đúng cách). Xem 'icicle-find-file-of-content-action-1' và 'icicle-find-file-of-content-1', trong' icicles-cmd1.el', ví dụ về mã như vậy. – Drew

Trả lời

3

Từ những gì tôi thấy trong nguồn wgrep.el, bạn cần phải sửa đổi (hoặc tích cực defadvice) một số chức năng của wgrep.el.

Cụ thể, trong wgrep-get-file-buffer đối số RAWFILE của find-file-noselect phải là t, trong trường hợp của bạn và bộ đệm phải được thêm vào danh sách bộ đệm để xóa. Trong wgrep-finish-edit một dolist trên danh sách mới có thể được sử dụng để xóa bộ đệm wgrep được mở.

Vì vậy, một yêu cầu tính năng cho tác giả có thể được theo thứ tự :-)

Trong khi đó, những thay đổi bạn cần là dễ thực hiện (chỉ cần ghi đè ngắn wgrep-get-file-buffer và "defadvice sau" wgrep-finish-edit), nhưng bạn sẽ dễ bị tổn thương khi nâng cấp gói.

[Và tất nhiên một bản vá/kéo theo yêu cầu có thể được gửi cho tác giả, nhưng trong trường hợp đó có thể là một biến cấu hình mới nên được bổ sung (wgrep-auto-kill-buffer hoặc một cái gì đó như thế)]

Các vấn đề liên quan