Misalkan saya punya beberapa kursor sepanjang beberapa baris, seperti ini:
foo|
barr|
foobar|
baz|
Bagaimana saya bisa secara otomatis mendorong spasi putih di akhir setiap baris ke tepi datar, seperti ini ?:
foo |
barr |
foobar |
baz |
(Dalam contoh ini, |
seharusnya menjadi kursor saya.)
Ketika Anda baru saja Tabatau Spacedari pengaturan awal, Anda mendapatkan ini:
foo |
barr |
foobar |
baz |
Itu berguna, tetapi bukan yang saya cari. Saya mencari beberapa jenis pintasan keyboard yang akan membuat saya lekuk dari insert multi-kursor yang kasar ke kolom lurus.
text-editing
sublime-text
Gladstone. Terus
sumber
sumber
Tab
pada akhir setiap baris membuat indentasi multi-kursor yang kasar ke kolom lurus, tetapi tidak mungkin untuk mencapai efek yang sama menggunakan regex. Saya mencari spasi tambahan:\s*$
dan menggantinya dengan karakter tab:\t
- tetapi\t
tidak mencapai efek yang sama dengan menekanTab
secara manual.Jawaban:
Anda bisa menggunakan Alignment Sublime wbond
Ini mungkin mengharuskan Anda untuk menambahkan ini ke file pengaturan Anda (Preferensi> Pengaturan Paket> Alignment> Pengaturan-Pengguna:
Ganti "|" dengan karakter apa pun yang ingin Anda selaraskan.
Sunting: Seperti mtoast telah menemukan, menambahkan
"\n"
ke "alignment_chars" memberikan efek yang diinginkan.Menambahkan karakter baris baru ke "alignment_space_chars" mungkin tidak diperlukan dan dapat menghapus teks. Namun, dengan tes terbatas saya, saya tidak melihat perbedaan.Tahan controldan klik di akhir setiap baris. Kemudian tekan hotkey pelurusan (Untuk linux defaultnya adalah ctrl+ alt+ a). Anda akan menemukan bahwa kursor berbaris dengan posisi kursor terjauh.
Sunting2: Menambahkan baris baru ke
"alignment_space_chars"
akan menghapus teks jika Anda menyorot blok teks dan Sublime Alignment tidak dapat menemukan hal lain untuk disejajarkan di baris (seperti tanda sama dengan).Juga, jika Sublime Alignment tidak dapat menemukan hal lain untuk disejajarkan, menambahkan baris baru
"alignment_chars"
akan melapisi ujung garis dengan spasi (atau tab tergantung pada pengaturan Anda) untuk mencocokkan garis terpanjang yang disorot.sumber
"\n"
(baris baru) ke saya"alignment_chars"
, dan mendapatkan hasil yang diinginkan. (Catatan: Saya tidak menambahkannya"alignment_space_chars"
, yang menyebabkan baris dihapus.) Jika Anda akan menambahkan saran khusus ("n"
) ke jawaban Anda, saya akan menerimanya.|
dengan satu `\`Anda juga dapat melakukannya tanpa paket eksternal menggunakan peretasan minor, dengan sedikit usaha. Begini caranya:
|
mewakili kursor dalam instruksi ini.Buat kursor pada semua baris yang diinginkan menggunakan Ctrl+ Klik atau dengan memilih blok teks dan menekan Ctrl+ Shift+ L. ( dokumen seleksi )
Tambahkan spasi tambahan di akhir setiap kata, sampai setiap kursor berada pada atau melewati titik di mana Anda ingin kolom Anda (tidak peduli seberapa jauh masa lalu):
( opsional 1 ) Ketikkan karakter apa saja diikuti spasi; mari kita gunakan
c
:Tekan Homeuntuk membuat kursor melewati awal baris:
Tekan → (right arrow) hingga kursor berada di tempat Anda menginginkan kolom Anda:
Tekan Ctrl+ Shift+ →untuk memilih semua spasi putih berikut dan
c
, lalu tekan Delete:( opsional 1 ) Tekan Deletelagi untuk membersihkan karakter spasi putih tambahan yang kami tambahkan pada langkah opsional.
1 Kami menggunakan
c
karakter yang diikuti oleh spasi hanya jika ada konten tambahan pada baris yang ingin kami pertahankan. Tanpa itu, Ctrl+ Shift+ →akan memilih kata pertama dari setiap konten tambahan di baris, membuat penghapusan menjadi rumit.sumber
ctrl+shift+right
tidak memperlakukan semua karakter secara konsisten sehingga mungkin akhirnya memilih lebih dari sekadar ruang putih.Shift-End
Delete
dan itu hanya berhasil. Apakah itu berfungsi dalam beberapa kasus tetapi tidak pada yang lain?c
pada satu baris sebelum akhir kata pada yang lain. Yang merupakan masalah yang saya alami sekarang. Baris tertentu tidak mengandung karakter yang cukup untuk menggulir ke kanan, jadi ketika Anda melakukannya membungkus ke baris berikutnya, meninggalkan peretasan ini sebagai hanya itu. Ini adalah retas, bukan pengganti yang berguna untuk semua.Bagi mereka yang ingin membuat indentasi pada karakter selain
=
dan|
, saya dapat menginstal paket Alignment dan memodifikasi fileSublime Text > Preferences > Package Settings > Alignment > Settings - User
agar terlihat seperti berikut:Saya kemudian memilih kode berikut:
dan tekan
Command + Ctrl + A
untuk menyelaraskannya.Semuanya dipindahkan ke kolom paling kiri yang
{create
dapat ditempati teks tersebut sementara masih disejajarkan.sumber