Làm thế nào để dán văn bản vào cuối mỗi dòng? Tuyệt vời 2


159

Tôi tò mò liệu có cách nào để dán văn bản vào cuối mỗi dòng trong Sublime 2 không? Và ngược lại, đến đầu mỗi dòng.

kiểm tra dòng một

kiểm tra dòng hai

kiểm tra dòng ba

kiểm tra dòng bốn

...

Giả sử bạn có 100 dòng văn bản trong trình chỉnh sửa và bạn muốn dán dấu ngoặc kép vào đầu và cuối của mỗi dòng.

Có một cách dễ dàng để làm điều này hoặc một plugin mà bất cứ ai cũng sẽ biết? Điều này thường sẽ giúp tôi tiết kiệm rất nhiều thời gian cho các dự án khác nhau.

Cảm ơn.


4
Hiện tại đây là bản demo thứ hai trên trang chủ ... sublimetext.com
TWiStErRob

Câu trả lời:


28

Bạn có thể sử dụng tính năng Tìm kiếm & Thay thế với biểu thức chính quy này ^([\w\d\_\.\s\-]*)$để tìm văn bản và văn bản được thay thế là "$1".


7
Tuyệt vời! Vì vậy, tôi đã tìm thấy những điều sau đây có hiệu quả với tôi: Sử dụng regex: (?> \ X0D \ x0A? | [\ X0A- \ x0C \ x85 \ x {2028} \ x {2029}]) sẽ tìm thấy kết thúc của mỗi dòng. Và sử dụng regex: ^ [a-zA-z0-9! @ # $ ") (* &! + _-] sẽ tìm thấy phần đầu của mỗi dòng (với điều kiện tất cả các ký tự được thêm vào regex để tìm kiếm ở đầu mỗi của các dòng). Cảm ơn @yohann!
Tony H.

5
Nếu bạn đang làm điều này với một regex trong một trình soạn thảo mạnh mẽ như Vim hoặc ST2 thì bạn đang thiếu đầu mối. Tại sao làm giảm một biên tập viên tốt vào sed?
sehe

Cảm ơn bạn đã cứu 3 giờ trong cuộc đời tôi
F. Mayoral

571

Yeah Regex rất tuyệt, nhưng có những cách khác.

  • Chọn tất cả các dòng bạn muốn tiền tố hoặc hậu tố
  • Menu Goto Lựa chọn -> Chia thành Dòng ( Cmd/ Ctrl+ Shift+ L)

Điều này cho phép bạn chỉnh sửa nhiều dòng cùng một lúc. Bây giờ bạn có thể thêm * Báo giá (") hoặc bất cứ điều gì * ở đầu và cuối của mỗi dòng.


36
Điều này là rất dễ dàng để làm.
Yada

6
Đây là một câu trả lời tốt hơn nhiều. Bạn cũng có thể sử dụng shift (Windows / Linux) hoặc phím tùy chọn (Mac) trong khi chọn một vùng bằng chuột để có kết quả tương tự.
dbn

5
Bạn có thể thường thấy mình chỉnh sửa nhiều dòng như được mô tả ở trên, nhưng sau đó muốn nối chúng lại với nhau thành một dòng. Phím tắt để tham gia nhiều dòng: ctrl / cmd + J
fionbio

3
Đây là một câu trả lời tốt, nhưng đối với số lượng dòng rất lớn, nó có thể khá tốn nhiều CPU hơn so với sử dụng find & thay thế.
Cá trần

2
Tôi nghĩ rằng đây xứng đáng là câu trả lời ưa thích
Michael Osofsky

77

Đây là quy trình làm việc tôi sử dụng mọi lúc, chỉ sử dụng bàn phím

  1. Ctrl/ Cmd+ AChọn tất cả
  2. Ctrl/ Cmd+ Shift+ LChia thành dòng
  3. ' Bao quanh mỗi dòng với dấu ngoặc kép

Lưu ý rằng điều này không hoạt động nếu có các dòng trống trong lựa chọn.


3
không hoạt động với tôi trong st2, bước 3 đã xóa tất cả các dòng và thay thế nó bằng "bước 3 nên là Home" End"
andrej

@andrej - Nghe có vẻ như một lỗi. Hãy chắc chắn rằng bạn đang sử dụng phiên bản mới nhất của st2 và nếu vậy, hãy báo cáo lỗi tại sublimetext.userecho.com
dbn

1
@dbw chạy văn bản siêu phàm 2.0.1 build 2217. Được đăng dưới dạng lỗi tại sublimetext.userecho.com/topic/184875-
andrej

@andrej Tôi có thể tái tạo vấn đề của bạn nếu tôi có bất kỳ dòng trống nào trong lựa chọn
Patrick McDonald

52
  1. Chọn tất cả các dòng mà bạn muốn thêm tiền tố hoặc hậu tố. (Nhưng nếu bạn muốn thêm tiền tố hoặc hậu tố vào chỉ các dòng cụ thể, bạn có thể sử dụng ctrl+ Left mouse buttonđể tạo nhiều con trỏ.)
  2. Đẩy Ctrl+ Shift+ L.
  3. Nhấn Homephím và thêm tiền tố.
  4. Nhấn Endphím và thêm hậu tố.

Lưu ý, vô hiệu hóa wordwrap, nếu không nó sẽ không hoạt động chính xác nếu các dòng của bạn dài hơn chiều rộng siêu phàm.


2
Đây là sửa chữa thực tế. phím home và phím kết thúc rất quan trọng để nó hoạt động bình thường
Phil

Trong Sublime Text 3 (dành cho Mac), phím home và end không hoạt động với tôi. Nếu bạn gặp khó khăn này, kiểm tra: coderwall.com/p/upolqw/...
Avance

Không thực sự @Phil. Bạn cũng có thể sử dụng Cmd + mũi tên trái / phải để điều hướng là tốt. Tôi nghĩ điều tương tự cũng sẽ hoạt động trên các cửa sổ
Claud H

33

Giả sử bạn có những dòng mã này:

test line one
test line two
test line three
test line four

Sử dụng Tìm kiếm và Thay thế Ctrl + Hbằng Regex, hãy tìm điều này: ^và thay thế bằng ", chúng tôi sẽ có điều này:

"test line one
"test line two
"test line three
"test line four

Bây giờ hãy tìm kiếm cái này: $và thay thế nó bằng ", bây giờ chúng ta sẽ có cái này:

"test line one"
"test line two"
"test line three"
"test line four"

làm việc rất tốt trong văn bản siêu phàm 3, tiết kiệm hàng tấn thời gian
jamescampbell

22

Sử dụng lựa chọn cột . Lựa chọn cột là một trong những tính năng độc đáo của Sublime2; nó được sử dụng để cung cấp cho bạn nhiều con trỏ phù hợp ( hướng dẫn ở đây ). Để có được nhiều con trỏ, hãy thực hiện một trong các cách sau:

Chuột:

  • Giữ phím shift (Windows / Linux) hoặc phím tùy chọn (Mac) trong khi chọn vùng bằng chuột.

  • Nhấp vào nút chuột giữa (hoặc cuộn) cũng sẽ chọn làm cột.

Bàn phím:

  • Chọn vùng mong muốn.
  • Nhập control+ shift+ L(Windows / Linux) hoặc command+ shift+ L(Mac)

Bây giờ bạn có nhiều dòng được chọn, vì vậy bạn có thể nhập dấu ngoặc kép ở đầu và cuối của mỗi dòng. Sẽ tốt hơn nếu tận dụng các khả năng của Sublime và chỉ cần gõ " . Khi bạn thực hiện việc này, Sublime sẽ tự động trích dẫn văn bản đã chọn.

Nhập escđể thoát nhiều chế độ con trỏ.


3
Bạn cũng có thể kích hoạt lựa chọn cột bằng cách nhấp và kéo giữa.
Curtis Gibby

2
Đây là cách cụ thể nhất của Văn bản cao siêu để giải quyết vấn đề và sử dụng một tính năng cơ bản của Văn bản cao siêu. Khi OP hỏi về Văn bản cao siêu trong tiêu đề, nó sẽ là câu trả lời được chấp nhận.
lừa bó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.