Bagaimana cara menempelkan teks ke akhir setiap baris? Luhur 2

161

Saya ingin tahu apakah ada cara untuk menempelkan teks ke akhir setiap baris di Sublime 2? Dan sebaliknya, ke awal setiap baris.

garis uji satu

garis uji dua

garis uji tiga

garis uji empat

...

Katakanlah Anda memiliki 100 baris teks di editor, dan Anda ingin menempelkan tanda kutip ke awal dan akhir setiap baris.

Apakah ada cara mudah untuk melakukan ini atau plugin yang akan diketahui orang? Ini sering menghemat banyak waktu di berbagai proyek.

Terima kasih.

Tony H.
sumber
4
Saat ini, ini adalah demo kedua di beranda ... sublimetext.com
TWiStErRob

Jawaban:

28

Anda dapat menggunakan fitur Cari & Ganti dengan regex ini ^([\w\d\_\.\s\-]*)$untuk menemukan teks dan teks yang diganti adalah "$1".

Yohann
sumber
7
Luar biasa! Jadi saya menemukan hal berikut ini berfungsi untuk saya: Menggunakan regex: (?> \ X0D \ x0A? | [\ X0A- \ x0C \ x85 \ x {2028} \ x {2029}]) akan menemukan akhir setiap baris. Dan menggunakan regex: ^ [a-zA-z0-9! @ # $ ") (* &! + _-] akan menemukan awal setiap baris (asalkan semua karakter ditambahkan untuk regex untuk mencari di setiap awal terima kasih @yohann!
Tony H.
5
Jika Anda melakukan ini dengan regex di editor yang kuat seperti Vim atau ST2 Anda kehilangan petunjuk. Mengapa menurunkan editor yang layak sed?
lihat
Terima kasih telah menghemat 3 jam hidup saya
F. Mayoral
572

Ya Regex itu keren, tetapi ada alternatif lain.

  • Pilih semua baris yang ingin Anda awali atau sufiks
  • Pilihan menu Goto -> Split menjadi Lines ( Cmd/ Ctrl+ Shift+ L)

Ini memungkinkan Anda untuk mengedit beberapa baris sekaligus. Sekarang Anda dapat menambahkan * Kutipan (") atau apa pun * di awal dan akhir setiap baris.

palaniraja
sumber
36
Ini jauh lebih mudah dilakukan.
Yada
6
Ini jawaban yang jauh lebih baik. Anda juga dapat menggunakan shift (Windows / Linux) atau tombol opsi (Mac) sambil memilih wilayah dengan mouse Anda untuk mendapatkan hasil yang sama.
dbn
5
Anda mungkin sering menemukan diri Anda mengedit beberapa baris seperti dijelaskan di atas, tetapi kemudian ingin menggabungkannya kembali menjadi satu baris. Cara pintas untuk bergabung dengan beberapa baris: ctrl / cmd + J
fionbio
3
Ini adalah jawaban yang bagus, tetapi untuk jumlah baris yang sangat besar, bisa jadi lebih banyak CPU yang lebih intensif daripada menggunakan find & replace.
Ceilingfish,
2
Saya pikir ini pantas menjadi jawaban yang disukai
Michael Osofsky
79

Inilah alur kerja yang saya gunakan sepanjang waktu, hanya menggunakan keyboard

  1. Ctrl/ Cmd+ APilih Semua
  2. Ctrl/ Cmd+ Shift+ LMembagi menjadi Garis
  3. ' Kelilingi setiap baris dengan kutipan

Perhatikan bahwa ini tidak berfungsi jika ada garis kosong dalam seleksi.

Patrick McDonald
sumber
3
tidak bekerja untuk saya di st2, langkah 3 menghapus semua baris dan menggantinya dengan "langkah 3 harus Home" End"
andrej
@andrej - itu terdengar seperti bug. Pastikan Anda menggunakan versi terbaru dari st2, dan jika demikian, laporkan bug di sublimetext.userecho.com
dbn
1
@dbw menjalankan teks luhur 2.0.1 build 2217. Diposting sebagai bug di sublimetext.userecho.com/topic/184875-
andrej
@andrej Saya dapat mereproduksi masalah Anda jika saya memiliki garis kosong dalam seleksi
Patrick McDonald
52
  1. Pilih semua baris yang ingin Anda tambahkan awalan atau sufiks. (Tetapi jika Anda ingin menambahkan awalan atau akhiran ke baris tertentu saja, Anda dapat menggunakan ctrl+ Left mouse buttonuntuk membuat beberapa kursor.)
  2. Tekan Ctrl+ Shift+ L.
  3. Tekan Hometombol dan tambahkan awalan.
  4. Tekan Endtombol dan tambahkan suffix.

Catatan, nonaktifkan wordwrap, jika tidak maka tidak akan berfungsi dengan baik jika garis Anda lebih panjang dari lebar sublime.

Harry
sumber
2
ini adalah perbaikan yang sebenarnya. kunci rumah dan ujung sangat penting agar ini berfungsi dengan baik
Phil
Dalam Sublime Text 3 (untuk Mac), tombol home dan end tidak berfungsi untuk saya. Jika Anda memiliki masalah ini, periksa: coderwall.com/p/upolqw/…
avance
Tidak juga @Phil. Anda juga dapat menggunakan Cmd + Panah Kiri / Kanan untuk bernavigasi juga. Saya pikir hal yang sama juga akan bekerja pada windows
Claud H
33

Katakanlah Anda memiliki baris kode ini:

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

Menggunakan Cari dan Ganti Ctrl + Hdengan Regex mari kita temukan ini: ^dan ganti dengan ", kita akan memiliki ini:

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

Sekarang mari kita cari ini: $dan ganti dengan ", sekarang kita akan memiliki ini:

"test line one"
"test line two"
"test line three"
"test line four"
Tomatrox
sumber
bekerja sangat baik dalam teks luhur 3, menghemat banyak waktu
jamescampbell
22

Gunakan pemilihan kolom . Pemilihan kolom adalah salah satu fitur unik dari Sublime2; ini digunakan untuk memberi Anda beberapa kursor yang cocok ( tutorial di sini ). Untuk mendapatkan beberapa kursor, lakukan salah satu dari yang berikut:

Mouse:

  • Tahan tombol shift (Windows / Linux) atau tombol opsi (Mac) saat memilih wilayah dengan mouse.

  • Mengklik tombol tengah mouse (atau gulir) akan memilih sebagai kolom juga.

Papan ketik:

  • Pilih wilayah yang diinginkan.
  • Ketik control+ shift+ L(Windows / Linux) atau command+ shift+ L(Mac)

Anda sekarang memiliki beberapa baris yang dipilih, sehingga Anda bisa mengetikkan tanda kutip di awal dan akhir setiap baris. Akan lebih baik untuk mengambil keuntungan dari kemampuan Sublime, dan cukup ketik " . Ketika Anda melakukan ini, Sublime secara otomatis mengutip teks yang dipilih.

Ketik escuntuk keluar dari beberapa mode kursor.

dbn
sumber
3
Anda juga dapat memicu pemilihan kolom dengan mengklik tengah dan menarik.
Curtis Gibby
2
Ini adalah cara Teks Sublime paling spesifik untuk menyelesaikan masalah dan menggunakan fitur mendasar Teks Sublime. Ketika OP bertanya tentang Teks Sublime dalam judul, itu harus menjadi jawaban yang diterima.
Dribbler