Bagaimana cara mengganti empat spasi dengan tab di Sublime Text 2?

310

masukkan deskripsi gambar di sini

Saya ingin mengganti semua "empat spasi" yang ditulis oleh editor teks lain dengan tab. Bagaimana saya bisa melakukannya?

Mohsen
sumber

Jawaban:

639

Sudut kanan bawah pada bilah status, klik Spaces: N(atau Tab Width: N, di mana N adalah bilangan bulat), pastikan ia mengatakan Tab Width: 4untuk mengkonversi dari empat spasi, lalu pilih Convert Indentation to Tabsdari menu kontekstual yang akan muncul dari klik awal.

Demikian pula, jika Anda ingin melakukan yang sebaliknya, klik Spacesatau Tab Widthteks pada bilah status dan pilih dari menu yang sama.

masukkan deskripsi gambar di sinimasukkan deskripsi gambar di sini

ncremins
sumber
3
Meskipun semua jawaban benar, ini adalah yang termudah! Terima kasih
Mohsen
1
Harus mengakui; itu :) Tidak pernah menggunakan menu konteks status bar, saya kira saya selalu berpikir itu adalah indikator statis.
Ekin Koc
2
Mereka tidak begitu menonjol seperti yang seharusnya, saya punya beberapa bug yang harus saya ajukan agar tidak ada penghentian acara. Editor luar biasa.
ncremins
Anda juga dapat menggunakan pengaturan dalam file proyek-besar jika Anda ingin editor mengingat pengaturan ini untuk semua file dalam suatu proyek
Michael
1
@phreakhead Saya tidak yakin apakah saya sepenuhnya memahami kebutuhan Anda (pertimbangkan untuk membuka pertanyaan baru?), tetapi jika Anda memiliki translate_tabs_to_spaces disetel ke false, maka ketika Anda mengetik (teks baru) dan menekan tab, itu akan menjadi karakter tab . jika Anda memiliki file yang sudah memiliki beberapa lekukan sebagai 4 spasi (bukan tab), Anda dapat menggunakan opsi di bagian bawah menu dalam tangkapan layar untuk mengubah lekukan ke tab.
Michael
106

Pilih semua, lalu:

Windows / Linux:

Ctrl+ Shift+p

lalu ketik "indentasi"


Mac:

Shift+ Command+p

lalu ketik "indentasi"

Desainer web
sumber
Ini adalah yang tercepat sambil tetap menggunakan keyboard. +1
eduncan911
Luar biasa ... ini memberi Anda pilihan untuk "Reindent Lines" dari file-file seperti Bootstrap yang hadir dengan lekukan 2 baris
Shina
Saya pikir ini tidak melakukan persis apa yang dia minta. Ini juga menghidupkan kembali baris sehingga benar-benar mengubah lekukan, dan dia hanya bertanya tentang mengubah spasi menjadi tab. Pokoknya itu adalah jawaban yang baik tetapi dalam beberapa kasus itu dapat mengacaukan lekukan Anda (misalnya, templat templat blade)
Sergi Ramón
Ini lebih baik karena berfungsi luar biasa dengan menyalin kode yang disisipkan.
SaurabhM
45

Untuk mengkonfigurasi Sublime agar selalu menggunakan tab, coba tambahkan yang berikut ke preferensi-> pengaturan-pengguna:

{
    "tab_size": 4,
    "translate_tabs_to_spaces": false
}

Informasi lebih lanjut di sini: http://www.sublimetext.com/docs/2/indentation.html

Simon
sumber
5
Ini adalah jawaban yang benar, karena bahkan setelah memilih "Indent using spasi", opsi itu akan diatur ulang saat restart.
mvd
1
OP meminta kebalikannya. Yang anehnya, tidak ada pilihan untuk. Pembenci tab.
phreakhead
26

Di menu utama;

View -> Indentation -> Convert Indentation to Tabs / Spaces

Ekin Koc
sumber
9

Lakukan regex "Cari" untuk \t(backslash-t, a tab), dan ganti dengan empat spasi.

Entah menu utama, atau menu spasi status-kanan bawah melakukan hal yang sama, dengan sedikit kerja.

Dave Newton
sumber
3
Ini adalah kebalikan dari apa yang diminta poster
Max Nanasy
3
@ MaxNanasy Jadi begitu. Saya kira ketidaksukaan saya pada karakter tab begitu dalam hingga bawah sadar.
Dave Newton
2
Jawaban ini sama sekali tidak relevan dengan pertanyaan yang diajukan. Harap pertimbangkan untuk mengubahnya ke jawaban yang benar atau menghapus jawaban Anda.
Randy the Dev
2
@AndrewDunn "Lengkap"? Betulkah? Bagaimana kebalikan dari sesuatu menjadi "sepenuhnya" tidak terkait? Menurut definisi itu terkait, dan perbaikannya jelas. Kalau saja kita memiliki kemampuan untuk mengedit jawaban.
Dave Newton
6

buat pengikat kunci untuk cara tercepat

{ "keys": ["super+alt+t"], "command": "unexpand_tabs", "args": { "set_translate_tabs": true } }

tambahkan ini ke Preferensi> Ikatan Kunci (pengguna) ketika Anda menekan super+ alt+ titu akan mengubah spasi menjadi tab

Ibrahim Benzer
sumber
2

Anda dapat menambahkan ikatan kunci mudah:

Preferensi> Pengikatan kunci - pengguna:

[
    { "keys": ["super+l"], "command": "reindent"},
]

Sekarang pilih baris atau file dan tekan: command + l

star18bit
sumber
0

Jika Anda ingin menerapkan perubahan ini secara rekursif ke semua file dalam directoy, Anda dapat menggunakan modal Find> Find in Files ...:

Temukan di Modal file

Sunting Saya tidak menyorotnya pada gambar, tetapi Anda harus mengklik tombol. * Di sebelah kiri agar Sublime menafsirkan bidang Temukan sebagai regex / Sunting

Sunting 2 Saya lalai menambahkan awal jangkar string ke regex. Saya memperbaiki itu di bawah, dan akan memperbarui gambar ketika saya mendapatkan kesempatan / Edit

Regex di bidang Temukan ^[^\S\t\n\r]{4}akan cocok dengan karakter spasi putih di grup yang terdiri dari 4 (tidak termasuk tab dan karakter baris baru). Bidang ganti \tmenunjukkan Anda ingin menggantinya dengan tab.

Jika Anda mengklik tombol di sebelah kanan bidang Di mana, Anda akan melihat opsi yang akan membantu Anda menargetkan pencarian Anda, ganti. Add FolderOpsi akan memungkinkan Anda memilih folder yang ingin Anda cari secara rekursif. The Add Include Filterpilihan akan membiarkan Anda membatasi pencarian ke file dari ekstensi tertentu.

BobbyA
sumber