Sublime Text 2: Cara menghapus baris kosong / kosong

272

Katakanlah saya memiliki file teks dengan sembilan baris berikut:

foo

bar

baz

qux

quux

Bagaimana saya bisa menggunakan Sublime Text 2 untuk menghapus keempat baris kosong / kosong, hanya menyisakan lima baris?

Nick
sumber

Jawaban:

658

Pilih teks

Tekan:

  • Ctrl+ Hdi PC, atau
  • Command+ Alt+ Fdi Mac atau
  • Klik Temukan-> Ganti.

Pastikan Anda telah memilih 'ekspresi reguler' dengan menekan:

  • Alt+ Rdi PC atau
  • Command+ Alt+ Rdi Mac atau
  • Klik .*di kotak Temukan.

Menemukan apa: ^\n

Ganti Dengan: (tidak ada, biarkan kosong).

Hugo Corrá
sumber
3
Itu berhasil, terima kasih! Apakah ada cara untuk mengikat yang menemukan / mengganti ke pintasan keyboard atau entah bagaimana menyimpannya untuk akses cepat? Saya mencari di Google dan tidak dapat menemukan apa pun
Nick
46
Saran kecil digunakan ^(\r|\n\r?)untuk mencakup semua kemungkinan jeda baris.
Haris Krajina
5
Bagi saya (Sublime Text 2) pintasan adalah (Alt + Cmd + F) kemudian seperti yang dijelaskan oleh Hugp Corra
Maxence
24
Cara yang lebih baik untuk menemukan semua baris kosong (termasuk yang memiliki spasi) adalah: ^[\s]*?[\n\r]+
Crates
5
@ Krat Anda tidak perlu ?, karena *juga cocok dengan nol kejadian dan \s*akan cocok dengan tambahan '\ r' ketika misalnya mengedit teks windows di lingkungan linux, begitu ^\s*$juga triknya.
drevicko
67

Regexp dalam jawaban Hugo benar ketika tidak ada spasi di baris. Dalam hal jika ada ruang regexp bisa^\s+$

signalpillar
sumber
32
Itu mengasumsikan bahwa ada ruang putih. Juga, itu tidak akan berhasil untuk benar-benar mengganti garis dengan apa pun. Coba ^[\s]*?[\n\r]+saja. Saya sudah menguji itu, dan itu berhasil.
Crates
24

Ada juga beberapa ST2 / ST3 Plugins untuk tugas-tugas tersebut. Saya suka keduanya:

Yang pertama memiliki dua metode untuk menghapus baris kosong / tidak perlu. Salah satunya disebut Delete Surplus Blank Linesyang keren. Ini hanya menghapus baris-baris yang diikuti oleh baris kosong lainnya

V-Light
sumber
10

Solusi Temukan / Ganti:

Temukan Regex:\s+

Ganti dengan: // ruang tunggal

Usersbs
sumber
3
Sebenarnya, ini: $ \ s +
kris
8

Bahkan tidak tahu bagaimana semua ini bekerja, tetapi saya mencoba ^\s*$dan tidak berhasil (masih menyisakan beberapa baris kosong).

Ini malah ^\s*berfungsi untuk saya

{teks luhur 3}

abs
sumber
7

Saya harus menggunakan:

ganti \ n ^ \ s * \ n dengan \ n

The https://github.com/NicholasBuse/sublime_DeleteBlankLines Plugin melakukan apa-apa.

Bruce Edge
sumber
2
Pastikan Anda memilih area yang Anda inginkan untuk efek dan kemudian gunakan tombol pintas masing-masing Windows : Ctrl + Alt + Backspace (Hapus Baris Kosong) Ctrl + Alt + Shift + Backspace (Hapus Surplus Baris Kosong) OSX : Ctrl + Alt + Delete (Hapus Baris Kosong) Ctrl + Alt + Shift + Delete (Hapus Baris Kosong) Linux : Ctrl + Alt + Backspace (Hapus Baris Kosong) Ctrl + Alt + Shift + Backspace (Hapus Surplus Blank Lines)
Xtremefaith
5

Teks Sublime 2 & 3

Komentar dari @crates bekerja untuk saya,

Langkah 1: Cukup tekan ctrl+H

Langkah 2: tekan tombol RegEX

Langkah 3: tulis ini di Temukan: ^[\s]*?[\n\r]+

Langkah 4: ganti semua

rsc05
sumber
5

Lebih sederhana dari yang saya kira. Ctrl+ ADiikuti oleh Ctrl+ HKemudian Pilih Ekspresi Reguler .*. Ganti \n\ndengan \n. Voila!

Samuel Wahome
sumber
3

Anda mencari ini:

^\n|^\s+$

itu tidak akan menghapus baris, jika ada konten dengan spasi putih atau tab di depan>

misalnya:

ini tidak akan dihapus: ... spasi ... abc

... tab ... abc

ini akan:

... ruang ... ... tidak ada yang lain ...

... tab ... ... tidak ada yang lain ...

Brian Joseph Spinos
sumber
3

Menggunakan banyak pilihan: pilih satu pasang jeda baris, lalu gunakan Cari Cepat Semua ( Alt+ F3), atau Tambah Cepat Berikutnya ( Ctrl+ D) berulang kali, untuk memilih semuanya; lalu tekan Enteruntuk menggantinya dengan jeda baris tunggal.

deltab
sumber
1
Dalam dokumen besar, saya menemukan ini crash Sublime.
Thalecress
3

Mereka adalah cara yang lebih mudah untuk melakukannya tanpa regex. Anda tinggal memilih seluruh teks. lalu pergi ke: Edit -> Permute Lines -> Unique.

Itu saja. dan semua baris kosong akan dihapus.

Dihia LANASRI
sumber
Ini akan menghapus SEMUA baris non-unik. Bukan hanya kosong. Jadi, katakan Anda memiliki HTML dengan banyak baris menjadi satu penutup </div>, itu akan menghapus semuanya kecuali yang pertama. Atau dalam kode, itu akan menghapus semua penutup Anda}. Ini tidak dapat diandalkan untuk menghapus hanya baris kosong, mengerti apa yang dilakukannya.
Ivan McA
2

Cara lain, Anda dapat menggunakan baris perintah cc.dblConyEdit (sebuah plugin) untuk menghapus baris kosong atau baris kosong.

***
sumber
1

Ada juga "Gabung baris". Jika pada OSX, pilih semua teks Anda, dan tekan CMD-J beberapa kali, dan itu akan menciutkan pilihan Anda dengan baris, menghapus jeda baris.

Sunting: Pendekatan ini akan membuat Anda memiliki segalanya dalam satu baris, yang bukan yang Anda minta.

Donncha
sumber
2
saya melihat di mana Anda akan pergi dengan ini .. saran ini menghasilkan menyeret semua konten ke dalam satu baris, tetapi makro akan membuat ini berfungsi: (tombol OSX) ctrl-q(catatan makro), cmd-j(gabung baris) down arrow,, ctrl-q(akhir makro) . Kemudian shift-ctrl-qulangi sesering yang diperlukan ...
ptim
1

Bagi mereka yang penasaran dengan editor teks luhur, dokumentasi tidak resmi mungkin menarik!

dia
sumber
0

Dalam kasus saya beberapa baris kosong berisi karakter unicode nol lebar ruang (U + 200b). Untuk menghilangkan baris kosong, termasuk yang dengan karakter unicode ini:

\s\x{200b}|^\s
MetalGodwin
sumber
0

Dengan menggunakan find / replace, coba tempelkan pilihan mulai dari akhir baris di atas baris kosong dan berakhir di awal baris setelah kosong. Ini berfungsi untuk satu baris kosong. Anda dapat mengulangi proses untuk beberapa baris kosong juga. CTRL- H, letakkan pilihan Anda di kotak temukan dan letakkan satu baris baru di kotak ganti melalui salin / tempel atau metode lain.

Clayton Loudon
sumber
0

Untuk menemukan spasi tambahan dan garis kosong, tekan Ctrl+ Shift+ F Pilih Regular Expressions Find

[\n\r]{2,}

lalu ganti dengan

\n

untuk menghapus semua jenis ruang di luhur dan dreamviewr

Naeem Ijaz
sumber
-1

Jika ^\ntidak berfungsi dengan baik ===> coba .*[^\w]\n

yuxin Zhang
sumber