Notepad ++ Nhiều chỉnh sửa


112

Làm cách nào để có nhiều con trỏ trong Notepad ++?

Tôi sẽ có một vài giá trị được phân cách bằng tab. Tôi cần viết một truy vấn cho tất cả các giá trị này. Ví dụ: nếu tôi nhận được tệp Excel có các giá trị như sau:

1234 xyz pqr
2345 sdf kkk
...

Tôi muốn sao chép toàn bộ phần dữ liệu này vào Notepad ++ và viết truy vấn, chèn tất cả các giá trị cùng một lúc.

Như thế này:

Insert into tbl (1234, xyz) where clm = 'pqr'
Insert into tbl (2345, sdf) where clm = 'kkk'
...

Tôi đã từng làm điều đó với trình soạn thảo văn bản Ultraedit trước đây của mình. Điều này có thể được thực hiện bằng Notepad ++ không?


2
Er ... Sử dụng SublimeText. :)
Praveen Kumar Purushothaman

Tôi làm việc này mọi lúc với Notepad ++, nhưng lại gặp khó khăn với UltraEdit trong công việc này ... Làm cách nào để thực hiện việc này với UltraEdit? :)
Ron Jensen - Chúng ta đều Monica

Câu trả lời:


166

Có: chỉ cần nhấn và giữ Altphím, nhấp và kéo để chọn các dòng có cột bạn muốn chỉnh sửa và bắt đầu nhập.

Bạn cũng có thể đi tới Cài đặt> Tùy chọn ... và trong tab Chỉnh sửa , bật nhiều chỉnh sửa, để cho phép chọn nhiều vùng hoặc cột văn bản riêng biệt để chỉnh sửa cùng một lúc.

Nó trực quan hơn nhiều, vì bạn có thể thấy các chỉnh sửa của mình trực tiếp khi bạn nhập.


2013 tại đây, v5.2: Không còn (còn là) tab Chỉnh sửa hoặc tùy chọn nhiều chỉnh sửa.
Wouter

@Wouter: Nó vẫn ở đó đối với tôi trong v6.2 ... nếu nó không có trong v5.2 thì có thể có gì đó sai khác, nhưng tôi không thể bình luận thêm.
BoltClock

@BoltClock: Tuyệt! Ở đâu đó giữa phiên bản v5.2 và v6.2, tính năng đó phải được thêm vào. Hoặc có thể nó đã bị lạc trong giây lát ở đâu đó trước đó :)
Wouter

1
Bạn có thể xem bản demo tại đây: notepad-plus-plus.org/features/multi-editing.html . Nó trông giống như một phiên bản cũ, nhưng tôi đã thử nó trong v6.4.5 và nó hoạt động tốt.
brazilianldsjaguar

10
alt+up/downkhông làm việc cho tôi. Tôi đã phải sử dụng alt+shift+up/downthay thế. v6.9.1
AXO

51

Ở vị trí bạn muốn thêm văn bản, hãy thực hiện:

Shift+ Alt+down arrow

và chọn dòng bạn muốn. Sau đó gõ. Văn bản bạn nhập sẽ được chèn trên tất cả các dòng bạn đã chọn.


1
Thực sự là câu trả lời tốt nhất ở đây.
Etienne Gautier

đây là câu trả lời thậm chí còn tốt hơn! hãy nhớ sử dụng shift + alt cho bất kỳ hành động nào như cắt, sao chép!
gaurav

Tôi đã tìm kiếm tính năng này trong một thời gian dài, cảm ơn!
michal.hubczyk

46

Bạn có thể thêm / sửa nội dung trên nhiều dòng bằng cách sử dụng nút điều khiển. Đây là tính năng đa chỉnh sửa trong Notepad ++, chúng ta cần bật tính năng này từ cài đặt. Nhấn và giữ điều khiển, chọn những nơi bạn muốn nhập văn bản, nhả điều khiển và bắt đầu nhập, thao tác này sẽ cập nhật văn bản ở tất cả những nơi đã chọn trước đó.

nhập mô tả hình ảnh ở đây

Tham khảo: http://notepad-plus-plus.org/features/multi-editing.html


1
Tôi thích ảnh gif mà bạn đã tạo. Cảm ơn vì điều đó.
Julien

Đây chính xác là những gì tôi muốn. Cảm ơn bạn.
Sol

23

Notepad ++ hiện cũng xử lý nhiều con trỏ.

Vào Cài đặt => Tùy chọn => Chỉnh sửa và chọn "Bật" trong "Nhiều cài đặt chỉnh sửa" Sau đó, chỉ cần sử dụng Ctrl + nhấp để sử dụng nhiều con trỏ.

Bản demo tính năng trên trang web chính thức tại đây : https://notepad-plus-plus.org/features/multi-editing.html


câu trả lời hoàn hảo 2
gaurav

22

Bạn có thể sử dụng Edit > Column Editor...để chèn văn bản ở dòng hiện tại và dòng sau. Các phím tắt là Alt + C.


8

Notepad ++ có công cụ regex mạnh mẽ, có khả năng tìm kiếm và thay thế các mẫu theo ý muốn.

Trong kịch bản của bạn:

  1. Nhấp vào mục menu Tìm kiếm \ Thay thế ...

  2. Điền vào trường 'Tìm gì' với mẫu tìm kiếm:

    ^(\d{4})\s+(\w{3})\s+(\w{3})$
    
  3. Điền vào mẫu thay thế:

    Insert into tbl (\1, \2) where clm = \3
    
  4. Bấm vào Replace Allnút.

Và đó là nó.

NotePad ++ thay thế ảnh chụp màn hình cửa sổ


Tôi đã sử dụng regex cho các loại chỉnh sửa cho 10+ năm, nhưng nhiều người sửa chữa regex khó hiểu hoặc khó học
raider33

6

Phương pháp dễ nhất để giải quyết vấn đề của bạn (mà không cần đến một trình soạn thảo khác hoặc học regex) là ghi lại một macro.

  • Đặt con trỏ ở đầu văn bản, nhấp vào nút 'ghi' trong ruy-băng, sau đó chỉ chỉnh sửa một dòng văn bản đó. Bạn chỉ có thể sử dụng phím mũi tên hoặc ctrl + phím mũi tên để di chuyển xung quanh các ký tự / từ thay vì nhấp bằng chuột. Các phím 'home' và 'end' cũng rất hữu ích.
  • Khi bạn hoàn thành một dòng đó, hãy di chuyển con trỏ của bạn (một lần nữa mà không cần sử dụng chuột) đến đầu dòng tiếp theo.
  • Nhấp vào nút 'dừng ghi âm'.
  • Nhấp vào nút 'phát macro' để kiểm tra xem nó có hoạt động trên dòng tiếp theo như mong đợi hay không.
  • Nhấp vào 'chạy macro nhiều lần' để thực hiện lại, lặp đi lặp lại ...: P
Một ưu điểm của điều này so với con trỏ 'đa chỉnh sửa' là bạn không phải nhấp và đặt con trỏ theo cách thủ công trên mỗi hàng. Ưu điểm thứ hai là bạn có thể làm việc với dữ liệu được phân cách bằng tab không có kích thước / độ dài nhất quán - chỉ cần sử dụng ctrl + trái / phải để bỏ qua các từ.

Thành thật mà nói, macro trong N ++ đã cứu khoảng một năm cuộc đời tôi.


1

Notepad ++ chỉ có chức năng chỉnh sửa cột. Điều này không hoàn toàn giống với nhiều con trỏ.

Sublime Text có một triển khai tuyệt vời về điều này, có thể đáng để thử ...
Đây là một trình soạn thảo tương đối mới (2011) đang trở nên phổ biến khá nhanh: http://www.google.com/trends/explore#q=Notepad% 2B% 2B% 2C% 20Sublime% 20Text & cmpt = q

Chỉnh sửa: Rõ ràng đâu đó xung quanh Notepad ++ phiên bản 6.x chỉnh sửa nhiều con trỏ đã được thêm vào, nhưng vẫn có một vài tính năng nâng cao hơn cho nó trong Sublime, như "chọn lần xuất hiện tiếp theo".


chỉnh sửa nhiều con trỏ của npp không ở đâu tốt bằng chỉnh sửa đa dòng của siêu phẩm.
th1rdey3

1
Chỉnh sửa: chỉnh sửa nhiều con trỏ của npp không tốt bằng chỉnh sửa nhiều dòng của sublime theo mặc định . Thư viện scintilla cho phép tất cả các chức năng mà sublime hỗ trợ. Bất kỳ người dùng nào cũng có thể tải xuống một plugin như nppscripts hoặc pythonscript để truy cập vào khung npp bên dưới và ánh xạ các tập lệnh đó thành các phím tắt, mô phỏng tất cả các lệnh siêu phàm. Đối với những người không muốn định cấu hình trình chỉnh sửa của họ, bằng mọi cách, hãy trả tiền cho sự xuất sắc.
dùng2867288

Tôi hiểu bạn đến từ đâu nhưng không công bằng khi yêu cầu một người dùng thông thường phải viết kịch bản cho khung trình chỉnh sửa cơ bản cho một tính năng bình thường. Tôi đồng ý với bạn nếu một plugin đã làm được điều này (nếu có thêm thời gian, tôi sẽ tạo một plugin). Ngoài ra, bài đăng gần đây sourceforge.net/p/scintilla/feature-requests/1085 này nói rằng "highlight next" có thể dễ thực hiện, nhưng bạn vẫn không thể có chức năng phím mũi tên. Tôi tự hỏi "bỏ qua" sẽ dễ dàng thực hiện như thế nào? Đánh dấu tiếp theo, bỏ qua tiếp theo và các mũi tên đều có thể hữu ích đôi khi.
ShawnFumo

0

Bạn có thể sử dụng plugin ConyEdit để thực hiện việc này. Với ConyEdit chạy trong nền, hãy làm theo các bước sau:

  1. sử dụng dòng lệnh cc.spc /\t/ ađể chia văn bản thành các cột và lưu trữ chúng trong một mảng hai chiều.
  2. sử dụng lệnh cc.pđể in, sử dụng nội dung của mảng.
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.