Sublime Text 2 multiple line edit

147

Saya ingin mengedit beberapa baris dan setiap "kata" di dalam baris itu. Sebagai contoh:

45 28 42 65
24 87 47 95
01 25 87 98

Saya ingin memilih semua angka di semua baris dan meletakkan "0x" sebelum sehingga akan terlihat seperti:

0x45 0x28 0x42 0x65
0x24 0x87 0x47 0x95
0x01 0x25 0x87 0x98

Saya tahu Ctrl+ shift+ Luntuk mendapatkan kursor di setiap baris, tetapi bagaimana saya bisa mendapatkan kursor di depan setiap nomor untuk diedit sekaligus sekaligus?

Syperus
sumber
Mungkin terlambat untuk menjawab pertanyaan ini, tetapi di sini ada tautan di mana Anda mungkin menemukan jawaban untuk pertanyaan. sublimetext.com/docs/3/…
Alexander

Jawaban:

282

Sorot garis dan gunakan:

  • Windows: Ctrl+ Shift+L
  • Mac: Cmd ⌘+ Shift+L

Anda kemudian dapat memindahkan kursor ke isi hati Anda dan mengedit semua baris sekaligus.

Ini juga disebut "Split menjadi Lines" di menu "Selection".

Owen
sumber
Ya, tetapi bagaimana saya bisa mengedit setiap angka pada baris sekaligus? Jadi seperti jika saya hanya melakukan baris pertama saya bisa mengedit setiap angka pada baris pertama sekaligus? Jika itu masuk akal
Syperus
Anda tidak bisa - Anda hanya dapat memiliki kursor di satu tempat pada baris tertentu. Tetapi Anda dapat memindahkannya ke awal baris, tambahkan 0x, gunakan alt> untuk berpindah satu kata dan tambahkan 0x lagi.
Owen
28
Itu tidak benar - Anda dapat memiliki kursor sebanyak yang Anda inginkan pada satu baris. Yang perlu Anda lakukan adalah Ctrl-click(di Windows) untuk menempatkannya.
MattDMo
3
@ Matto YA !! Itulah tepatnya yang saya cari. Apakah Anda secara kebetulan mengetahui cara pintas keyboard untuk memilih semuanya seperti itu? Saya akan melihat-lihat dan melihat apakah saya dapat menemukannya.
Syperus
ketika saya menggunakan Ctrl+ Shift+ L, ini akan memilih semua baris, tetapi kursor pada setiap baris adalah di awal atau di akhir baris. jika saya kemudian menekan panah kiri, dalam upaya untuk mendapatkan semua kursor kembali ke awal setiap baris, kursor bergerak mundur relatif terhadap di mana mereka berada, sehingga mereka masih tidak seragam di posisi yang sama di baris. bagaimana cara mendapatkan semua kursor di awal baris? (untuk konteks, saya hanya mencoba menambahkan [space]*[space]di awal setiap baris).
user1063287
84

Gunakan banyak kursor dan pemilihan kolom.

Dalam kasus Anda, Anda hanya perlu menempatkan kursor di awal setiap kolom yang berisi "kata-kata".

Linux dan Windows

  • Klik & seret untuk memilih kolom: Shift+RightMouseBtn
  • Tambahkan kolom lain ke pilihan dengan mengklik & seret: Ctrl+ Shift+RightMouseBtn
  • Kurangi kolom dari pilihan: Alt+ Shift+RightMouseBtn
  • Tambahkan kursor individual: Ctrl+LeftMouseBtn
  • Hapus kursor individual: Alt+LeftMouseBtn

Mac

  • Klik & seret untuk memilih kolom: Option⌥+LeftMouseBtn
  • Tambahkan kolom lain ke pilihan dengan mengklik & seret: Option⌥+LeftMouseBtn
  • Kurangi kolom dari pilihan: Cmd⌘+ Option⌥+ shift+LeftMouseBtn
  • Tambahkan kursor individual: Cmd⌘+LeftMouseBtn
  • Hapus kursor individual: Cmd⌘+ Option⌥+ shift+LeftMouseBtn

Kemudian edit sesuai kebutuhan. Dalam kasus Anda, ketik 0, x.

Anda juga dapat menavigasi sesuai kebutuhan ke akhir atau awal kata-kata, pilih kata-kata dan dikelilingi dengan tanda kutip atau tanda kurung, dan sebagainya.


Referensi:

elomage
sumber
10

Bekerja untuk saya di OS X + Sublime build 3083:

OPTION (ALT) + select lines
Jose Alban
sumber
3

Saya tidak yakin itu mungkin "di luar kotak". Dan, sayangnya, saya juga tidak tahu plugin yang sesuai. Untuk mengatasi masalah yang Anda sarankan Anda bisa menggunakan ekspresi reguler.

  1. Cmd + F (Temukan)
  2. Regexp: [^ ]+(atau \d+, atau apa pun yang Anda inginkan)
  3. Opsi + F (Temukan Semua)
  4. Edit itu

Tombol cepat dapat bervariasi tergantung pada Anda OS dan preferensi pribadi (milik saya untuk OS X).

FreeNickname
sumber
Tidak diperlukan plugin. Gunakan Alt + Enter di akhir untuk Linux.
elomage
2

Saya menghadapi masalah yang sama di Linux, yang saya lakukan adalah memilih semua konten (ctrl-A) dan kemudian tekan ctrl + shift + L, Ini memberi Anda kursor pada setiap baris dan kemudian Anda dapat menambahkan konten serupa ke setiap kolom .

Anda juga dapat melakukan operasi lain seperti memotong, menyalin, dan menempel kolom dengan bijak.

PS: - Jika Anda ingin memilih satu set data persegi panjang dari teks, Anda juga dapat menekan shift dan tahan tombol Mouse Kanan dan kemudian pilih data dalam mode persegi panjang. Kemudian tekan CTRL + SHIFT + L untuk mendapatkan kursor pada setiap baris.

StuckWithSpring
sumber
2

Windows: Saya lebih suka Alt + F3 untuk mencari string dan mengubah semua instance string pencarian sekaligus.

http://www.sublimetext.com/docs/selection

kucing jantan
sumber
Alt + F3 juga berfungsi di Linux, dan dengan Sublime Text 3. Ini adalah cara cepat dan mudah untuk mengedit string yang sama dalam file.
kiamlaluno
2

Di Windows, saya lebih suka Ctrl+ Alt+ Down.

Ini memilih garis satu per satu dan secara otomatis memulai mode editor multi-baris. Ini sedikit lebih cepat dengan cara ini. Jika Anda memiliki banyak baris untuk diedit, maka pilih teks dan Ctrl+ Shift+ Ladalah pilihan yang lebih baik.

Semih Sezer
sumber
0

ctrl + shift + klik kanan itu berfungsi lebih baik seperti itu

chris_cx
sumber
-1

Tidak apa-apa memilih secara manual setiap angka untuk satu set angka kecil seperti dalam contoh Anda, tetapi untuk koleksi yang lebih besar Anda dapat melakukan pencarian regex yang akan melakukan pekerjaan untuk Anda.

Ctrl+ Fakan membuka bilah pencarian.

Pencarian Regex diaktifkan dengan mengklik tombol ". *" Di paling kiri.

Ketik "\ d +" untuk mencari semua kemunculan 1 atau lebih digit. Mengklik tombol "Temukan Semua" akan memilih masing-masing angka ini secara terpisah.

Kemudian Anda dapat menggunakan Ctrl+ Shift+ Luntuk mengubah pilihan menjadi beberapa kursor. Dari sini Anda bisa melakukan apa saja.

Nolan Luckett
sumber