Câu hỏi Trình chỉnh sửa với tìm kiếm muti-line và thay thế


Tôi đang tìm trình soạn thảo văn bản cho Windows có khả năng thực hiện tìm kiếm và thay thế hoạt động của khối văn bản nhiều dòng.

Nó sẽ có thể chạy hoạt động này trên một thư mục hoặc các tập tin hiện đang mở.

Lý tưởng nhất là nó hỗ trợ các biểu thức chính quy, nhưng nó không cần thiết.

Cảm ơn!


4
2017-10-04 23:01


gốc




Các câu trả lời:


Tôi đã sử dụng Notepad ++ trong một thời gian khi tôi vẫn phải làm công cụ trên máy tính Windows; nó có hỗ trợ phong nha cho các biểu thức chính quy. Nó có một giao diện trực quan, và bạn sẽ không phải nhớ các tổ hợp phím tắt.


8
2017-10-05 00:17



Cố gắng notepad, hoạt động tốt, chỉ có vấn đề nhỏ là văn bản nhiều dòng không được hiển thị chính xác trong khu vực văn bản nhỏ dành riêng cho câu tìm kiếm. (các ký tự lạ trong đó tab và \ r \ n phải là). Nếu không yêu nó! Đặc biệt là nhóm kết quả tìm kiếm. - Art
Hmm nó đã được một thời gian kể từ khi tôi sử dụng nó, nhưng tôi nghĩ rằng có những lựa chọn cho cách newlines, vận chuyển trở lại, và các tab nhìn. Bạn có thể muốn chơi xung quanh với các thiết lập một chút. Tôi sử dụng để chuyển đổi giữa các biểu tượng có thể nhìn thấy cho những người và một hình thức thông thường hơn tùy thuộc vào những gì tôi đã làm. - Shane
Notepad ++ cũng là một gói sẵn sàng sử dụng trong trình quản lý phần mềm Ubuntu. Tôi đang sử dụng nó cho multiline của tôi thay thế và nó hoạt động rất độc đáo. - Felix Dombek


Vim

Các khối được chọn với v, Ctrl-V hoặc Shift-V (trong số các cách khác). Sau khi được chọn, các lệnh thay thế được chạy theo khối theo mặc định.


2
2017-10-04 23:19



Bạn có thể tìm kiếm khối đã chọn trong các tệp đã mở trong vim không? - Art
@ Có, nhưng tôi không có ý tưởng như thế nào offhand. - quack quixote
Tôi không hiểu câu hỏi. - wfaulk
Về cơ bản, tôi chọn khối văn bản có chữ "V" và sau đó tôi muốn tìm kiếm văn bản đã chọn (không nằm trong nó) trong tệp / thư mục đã cho. Vim có thể làm điều đó không? - Art
@Art - bạn muốn tìm một khối văn bản được chọn trong các tệp trong một thư mục, phải không? Không phải bên trong, nhưng vim dựa vào một số công cụ cho loại điều đó (grep và tương tự), vì vậy hãy bắt đầu và xem những gì bạn cần. - Rook


emacs

Sử dụng C-q C-j để chỉ định dòng mới trong mẫu để khớp hoặc thay thế bằng. Văn bản thuần và regexp được hỗ trợ, tất cả cùng một lúc hoặc trong chế độ truy vấn (nhận xác nhận cho mỗi kết quả phù hợp).

Các chức năng bạn muốn là

replace-string
query-replace-string
replace-regexp
query-replace-regexp

và tất cả chúng có thể được gọi với M-x <function name>. Một số có ràng buộc mặc định.

Sử dụng C-h f <function-name> để tìm hiểu ràng buộc nào hiện được gán cho bất kỳ hàm nào.

Để chọn một khối từ văn bản để sử dụng

  1. Thêm điểm vào một đầu của khối. Đánh C-<space>.
  2. Di chuyển điểm đến đầu kia. Đánh C-w mà sẽ hút toàn bộ khối C-y để trả lại khối yanked hoặc là gọi copy-region-as-kill.
  3. M-x <function> sau đó C-y để dán khối vào không gian tìm kiếm. Các dòng mới được xử lý tự nhiên.
  4. tiến hành như bình thường.

2
2017-10-04 23:39



Bạn cũng có thể chọn một khối văn bản bằng cách đánh dấu nó bằng một con chuột. Tôi biết điều này nghe có vẻ hiển nhiên, nhưng một số người không biết Emacs là một ứng dụng GUI. - Richard Hoskins


EditPadPro để giành chiến thắng!  Nó làm mọi thứ bạn yêu cầu:

  1. Đa dòng Tìm kiếm và thay thế
  2. Thay thế trên tất cả các tệp đang mở
  3. Hỗ trợ Regex

Thực ra tôi nghĩ phiên bản miễn phí làm tất cả những điều đó.

Nó nghiêm túc là trình soạn thảo văn bản tốt nhất mà tôi từng sử dụng. Nó có tất cả các tính năng bạn có thể cần. Tôi thường thấy nó vượt ra ngoài cuộc gọi của nhiệm vụ.


1
2017-10-05 02:33





Khi tôi cần tìm kiếm nhiều dòng thay thế, tôi sử dụng Microsoft Word. Tôi không bao giờ sử dụng Microsoft Word như một trình soạn thảo văn bản trừ khi tôi cần tính năng này. Bạn có thể sử dụng ^ p để tìm kiếm các dấu ngắt dòng.

Thông thường tôi làm điều này:

I edit a text file in my favorite text editor, but I need multi-line search-replace
Ctrl-A, Ctrl-C to select and copy all text editor
Start Microsoft Word
Ctrl-V
Search/Replace "First line^pSecond line" with "New first line^pNew second line"
Ctrl-A, Ctrl-C to select and copy all from Word
Switch back to text editor
Ctrl-V to paste newly fixed-up text
Continue editing document in my favorite editor

Điều này làm việc cho tôi.


0
2017-10-05 00:22





Không phải là trình soạn thảo văn bản, nhưng bạn nên cung cấp TextCrawler một shot. Nó là công cụ rất nhẹ và mạnh mẽ để thực hiện tìm kiếm và thay thế trong các tập tin. Một giao diện người dùng đơn giản và tốt để đặt văn bản nhiều dòng.

Nó cho phép tìm kiếm chuẩn, biểu thức chính quy, tìm kiếm mờ và lệnh lô.


0
2018-01-15 14:45