2009-01-01 45 views
45

Nếu trình chỉnh sửa mã nguồn miễn phí Notepad++ có tính năng "Tìm trong tệp ...", không có tệp đang được mở trong trình chỉnh sửa, hãy thực hiện cũng có tính năng "Thay thế tệp ..."?Cách thay thế nhiều dòng "Thay thế tệp ..." trong Notepad ++

Notepad ++ được dựa trên thành phần chỉnh sửa Scintilla - trong đó SourceForge có phản hồi cho yêu cầu đối với tính năng này: "Không cần bao gồm điều này trong SciTE vì bạn có thể thêm lệnh này vào menu Công cụ bằng cách sử dụng Hộp thoại tham số. " Vì vậy, có thể làm nhiều dòng thay thế trong các tệp trong Notepad ++?

+0

Câu hỏi đặt ra là "Thiếu/các tính năng mong muốn trong Notepad ++", nhưng điều đó sẽ làm sao lãng quá nhiều so với những gì tôi đặc biệt đang cố gắng tìm ra và có thể câu hỏi đã bị đóng. –

+0

Hãy cầu nguyện cho biết câu hỏi không mang tính xây dựng như thế nào .. –

Trả lời

59

Thật dễ dàng để thực hiện multiline thay thế trong Notepad ++. Bạn phải sử dụng \n để thể hiện dòng mới trong chuỗi của mình và nó hoạt động cho cả chuỗi tìm kiếm và chuỗi thay thế. Bạn phải đảm bảo chọn chế độ tìm kiếm "Mở rộng" ở góc dưới cùng bên trái của cửa sổ tìm kiếm.

Tôi tìm thấy một bài viết tốt mô tả các tính năng ở đây: http://markantoniou.blogspot.com/2008/06/notepad-how-to-use-regular-expressions.html

+0

Đây là một tệp đã được mở. Câu hỏi đặt ra là làm thế nào để làm điều đó trong các tập tin mà không cần mở chúng trong trình soạn thảo. ví dụ. Thay thế tất cả các lần xuất hiện của foo bằng thanh trong các tệp * .c trong thư mục bas. –

+4

Bạn cũng có thể làm điều đó cho các tệp chưa mở. Đó là tùy chọn "Tìm kiếm-> Tìm trong tệp" trong trình đơn hoặc sử dụng phím tắt Ctrl-Shift-F – Alex

+0

Đây là câu trả lời, điều này phải được đánh dấu là câu trả lời +1 –

1

Đây là một ý kiến ​​chủ quan, nhưng tôi nghĩ rằng một trình soạn thảo văn bản không nên làm mọi thứ và bồn rửa nhà bếp. Tôi thích các trình chỉnh sửa linh hoạt và mạnh mẽ hơn (trong lĩnh vực chuyên môn của họ). Mặc dù chủ yếu là người dùng Windows, tôi thích triết lý Unix có nhiều công cụ chuyên dụng mà bạn có thể kết nối với nhau (như UnxUtils) thay vì một con quái vật đang làm mọi thứ, nhưng không nhất thiết như bạn muốn!

Tìm trong tệp nằm trên đường viền của các tính năng bổ sung này, nhưng hữu ích khi bạn có thể nhấp đúp vào một dòng được tìm thấy để mở tệp ở dòng bên phải. Lưu ý rằng ban đầu, trong SciTE nó chỉ là một công cụ gọi để grep hoặc tương đương!
FTP rất gần với chủ đề, mặc dù nó có thể được xem như một hộp thoại mở/lưu mở rộng.
Thay thế trong tệp quá nhiều IMO: rất nguy hiểm (bạn có thể gây nhiều tệp cùng một lúc) nếu bạn không có bản xem trước, v.v. Tôi muốn sử dụng công cụ chuyên biệt mà tôi đã chọn, có lẽ trong số đó là Multi line search and replace tool.

Để trả lời câu hỏi, nhìn vào N ++, tôi thấy menu Run nơi bạn có thể khởi chạy bất kỳ công cụ nào, với gán tên và phím tắt. Tôi cũng thấy Plugins> NppExec, có vẻ như có thể khởi chạy những thứ như sed (không thử nó).

+0

Đây là một tính năng nguy hiểm, có lẽ đó là lý do tại sao nó không được bao gồm. Tôi sử dụng tìm kiếm nhiều dòng và thay thế thường xuyên đủ để tôi có thể tự tay đưa vào trình chỉnh sửa. –

7

Cách giải quyết là

  1. tìm kiếm và thay thế \ r \ n để thisismynewlineword

(điều này sẽ loại bỏ tất cả các dòng mới và phải có toàn bộ một dòng)

  1. nay thực hiện thay thế của bạn

  2. tìm kiếm và thay thế thisismynewlineword để \ r \ n

(để khôi phục trở lại bước 1)

+0

Trong khi không phải là một giải pháp thanh lịch, tôi đã phải sử dụng chính xác phương pháp này khi thực hiện tìm kiếm lớn, nhiều dòng và thay thế trong trình soạn thảo văn bản của Windows. – siliconpi

+0

Nếu văn bản thay thế của bạn không chứa ký tự thoát được phân tích bằng phương pháp mở rộng ('\ n',' \ r', '\ t' vv) thì bạn có thể dễ dàng hơn bằng cách thay thế' \ r \ n' với '\\ r \\ n' mà không cần thay đổi gì cả. –

32

Trên thực tế đó là cách dễ dàng hơn để sử dụng ToolBucket plugin cho Notepad ++ để multiline thay thế.

Để kích hoạt nó chỉ cần đi đến N ++ menu:

Plugins> Plugin Manager> Hiển thị Plugin Manager> Kiểm tra ToolBucket> Install.

Khởi động lại N ++ và nhấn ALT + SHIFT + F để chỉnh sửa nhiều dòng.

+0

Làm việc hoàn hảo và tôi không cần cài đặt trình chỉnh sửa khác! Tôi đã ngạc nhiên rằng không phải VS hoặc emacs thực hiện điều này một cách dễ dàng. – sandos

+7

Điều này hoạt động tốt hơn câu trả lời. – sojim2

+2

Câu hỏi đặt ra là thay thế trong [nhiều] tệp. –

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