Konfigurasi
Semua opsi Zshell yang tersimpan, fungsinya, dan lokasi penyimpanannya.
Sebagian besar pengaturan Zshell yang tersimpan berada dalam satu berkas:
~/.config/zshell/config.tomlJendela Pengaturan (Cmd+,) menulis berkas yang sama. Beberapa pengaturan milik macOS, yaitu bahasa dan pembaruan otomatis, disimpan di tempat lain dan dijelaskan di akhir halaman.
Konfigurasi baru mengaktifkan petunjuk perintah Vim, pemulihan riwayat sesi, dan notifikasi perintah gagal. Unduhan pembaruan otomatis juga aktif secara bawaan. Konfigurasi yang ada dan pilihan tersimpan tetap dipertahankan.
Perilaku berkas
Sebelum menyunting secara manual, perhatikan:
- Perubahan dibaca saat aplikasi berjalan. Suntingan eksternal yang valid diterapkan otomatis; pengaturan untuk terminal baru tetap memerlukan panel baru. Berkas tak terbaca atau sintaks salah mempertahankan pengaturan valid terakhir. Berkas yang sengaja kosong memulihkan nilai bawaan setelah jeda singkat.
- Zshell menulis ulang berkas saat pengaturan yang disimpan di dalamnya berubah. Berkas dibuat ulang dari awal, sehingga komentar dan kunci yang tidak dikenali akan hilang ketika kontrol tersebut digunakan lagi. Pilih satu cara menyunting, atau simpan salinan utama di dotfiles Anda.
- Sebagian besar nilai bawaan tidak ditulis.
font-size,terminal.vim-command-hints,terminal.restore-history,terminal.notify-on-errorselalu disimpan. Menghapus salah satu dari tiga kunci terminal tersebut dalam berkas yang ada mematikan fiturnya; menghapus kunci lain memulihkan nilai bawaan. - Parser sengaja sederhana. Parser mendukung kunci datar, kunci bertitik, judul
[table], komentar#, serta nilai string/angka/boolean. Array, tabel sebaris, dan string multibaris tidak didukung. - Nilai salah menggunakan cadangan yang aman. Ukuran di luar rentang, backend tidak dikenal, atau salah eja tema tidak menghalangi Zshell untuk dibuka.
Penyimpanan mempertahankan tautan simbolis berkas dan direktori, memperbarui target secara atomik serta menjaga izinnya. Suntingan eksternal tidak menulis ulang komentar atau kunci tak dikenal; penyimpanan berikutnya dari Pengaturan tetap membuat ulang berkas seperti dijelaskan di atas.
Tampilan aplikasi
app-presence
"dock" · "dock-and-menu-bar" · "menu-bar" — bawaan "dock"
Pilih Pengaturan → Umum → Tampilkan Zshell di untuk langsung beralih. "dock" hanya menampilkan ikon Dock, "dock-and-menu-bar" menampilkan keduanya, dan "menu-bar" hanya menampilkan ikon bilah menu.
Bilah menu membuka ruang kerja saat ini, Terminal Cepat, pengaturan, dan pemeriksaan pembaruan. Pada kedua mode bilah menu, menutup jendela ruang kerja terakhir menyembunyikannya sementara terminal dan tugas tetap berjalan. Buka ruang kerja mengembalikan jendela, proyek, dan sesi yang sama. Menutup jendela lain, panel, atau proyek tetap mengakhiri tugasnya. Keluar mengikuti terminal.preserve-sessions; Keluar dan akhiri semua sesi mengakhiri semuanya. Mode disimpan saat aplikasi dijalankan ulang.
Tampilan
theme
"system" · "light" · "dark" — bawaan "system"
Memilih tampilan aplikasi. "system" mengikuti macOS; dua pilihan lainnya menetapkan satu tampilan untuk Zshell.
theme-dark dan theme-light
String — bawaan "Default Dark" dan "Default Light"
Tema warna untuk setiap tampilan. Tema mewarnai panel terminal, bingkai jendela, bilah samping, editor, dan tampilan perbedaan sekaligus. Tema bawaan mempertahankan bilah samping tembus pandang; tema lain mewarnainya sesuai palet.
Pengaturan menampilkan katalog tema pilihan yang digunakan kedua backend. Nama yang ditulis manual harus sama persis dengan nama tampilannya, termasuk huruf besar/kecil, atau Zshell memakai tema bawaan yang sesuai.
toolbar.visibility
"hide" · "auto" · "always" — bawaan "hide"
Mengontrol bilah alat ringkas di bawah tab aktif:
"hide"menyembunyikannya dari jendela."auto"menampilkannya hanya jika direktori proyek adalah repositori Git."always"mempertahankan akses Git di setiap proyek, termasuk status Tidak Ada Repositori Git.
Lihat Bilah alat Git untuk isinya.
Teks
font-family
String — bawaan "", yang berarti JetBrains Mono bawaan
Terminal, editor, dan penampil perbedaan memakai keluarga huruf Latin yang sama. Berikan nama keluarga, bukan gaya: "IBM Plex Mono", bukan "IBM Plex Mono Regular". Keluarga yang tidak dikenal atau tidak monospace digantikan font bawaan.
Urutan cadangan terminal adalah keluarga Latin, keluarga CJK opsional di bawah, Symbols Nerd Font bawaan, lalu cadangan sistem backend. Editor dan penampil perbedaan tetap memakai cadangan macOS/WebKit biasanya.
terminal.font-fallback-family
String — bawaan "", berarti cadangan backend/sistem
Menambahkan satu keluarga CJK terpasang ke urutan cadangan terminal. Pemilih Pengaturan memuat keluarga dengan contoh glif Mandarin, Jepang, atau Korea. Keluarga itu tidak wajib sepenuhnya monospace karena hanya memasok glif yang tidak ada dalam font Latin utama.
font-size
Angka, 8–32 — bawaan 13
Ukuran font bersama untuk terminal, editor, dan perbedaan dalam poin. Ini satu-satunya kunci yang ditulis Zshell meskipun bernilai bawaan.
interface.scale
Angka, 0.9–1.5 — bawaan 1
Mengubah skala tab, ikon, tombol, bilah samping, dan antarmuka lain. Konten terminal, editor, dan perbedaan mempertahankan ukuran font terpisah di atas.
sidebar.font-size
Angka, 9–24 — bawaan 14
Ukuran teks dasar kedua bilah samping. Judul bagian, baris, metadata, dan kontrol mempertahankan hierarki relatif ketika ukuran dasar berubah.
terminal.font-thicken
Boolean — bawaan false
Merender glif terminal dengan goresan sedikit lebih tebal, mirip penghalusan font macOS klasik. Kedua backend mendukungnya, dan pratinjau Pengaturan memperlihatkan hasilnya. Konfigurasi lama font-thicken masih dibaca, lalu ditulis ulang memakai kunci bertitik yang baru.
terminal.font-thicken-strength
Bilangan bulat, 0–255 — bawaan 255
Mengatur penebalan ketika terminal.font-thicken bernilai true. Nol adalah penebalan paling ringan, bukan mati. Ghostty menggunakan kekuatan asli macOS; Alacritty memetakan rentang yang sama ke goresan CoreText. Arah dan batasnya sama, tetapi piksel hasil rasterisasi bisa berbeda.
terminal.line-height
Angka, 0.75–2 — bawaan 1
Mengalikan tinggi sel alami masing-masing backend, sambil menjaga glif terpusat vertikal. Hanya baris terminal yang berubah, bukan jarak editor atau perbedaan.
Zshell tidak menyediakan kontrol bobot font dasar. Ghostty memilih gaya bernama atau sumbu variasi, sedangkan Alacritty/CoreText menentukan wajah reguler dan tebal berdasarkan atribut. Satu nilai bersama tidak akan menjaga perbedaan reguler/tebal dan bobot cadangan secara konsisten di font statis maupun variabel.
editor.wrap-lines
Boolean — bawaan true
Membungkus baris panjang sesuai lebar panel dalam editor berkas. Jika false, baris panjang digulir horizontal. Pembungkusan terminal dan perbedaan tidak berubah.
Terminal
terminal.startup-program / terminal.startup-arguments
String — bawaan tidak diatur
Memilih executable dan vektor argumen untuk terminal yang dibuat setelah perubahan. Tanpa terminal.startup-program, Zshell tetap memakai shell login akun dengan -l. Program harus berupa jalur absolut yang dapat dieksekusi; jalur hilang atau tidak executable akan kembali ke shell login, bukan membuka panel yang tidak berfungsi.
terminal.startup-arguments dipecah menjadi argumen tanpa menjalankan shell. Tanda kutip dan garis miring terbalik mempertahankan batas, termasuk spasi dan argumen kosong, tetapi variabel, glob, dan substitusi perintah tidak diperluas. Kutipan tidak valid juga kembali ke shell login. Argv eksplisit dari CLI Zshell tetap didahulukan untuk terminal itu.
terminal.backend
"libghostty" · "alacritty" — bawaan "libghostty"
Memilih emulator untuk terminal yang dibuat setelah perubahan. Panel yang sudah ada mempertahankan backend awalnya. Keduanya native, dipercepat GPU, mendukung gambar, dan menggunakan tema Zshell yang sama; Alacritty biasanya memakai memori lebih sedikit.
Lihat Backend terminal untuk variabel lingkungan dan ketentuan kompatibilitas.
terminal.macos-option-as-alt
Boolean — bawaan false
Jika true, kombinasi Option dikirim ke program terminal sebagai pintasan Alt/Meta. Bawaan membiarkan Option pada sumber input macOS aktif agar tata letak seperti Polish Pro dapat mengetik karakter gabungan.
terminal.bell
Boolean — bawaan true
Mengontrol suara peringatan dan perhatian visual macOS saat program terminal membunyikan bel. Jika false, Zshell tidak memutar suara, mengirim notifikasi bel terminal, atau meminta perhatian di Dock. Teknologi aksesibilitas tetap menerima bel sebagai pengumuman semantik. Kedua backend mendukungnya.
terminal.vim-command-hints
Boolean — bawaan true
Menampilkan perintah Vim / Neovim sesuai mode di bawah informasi sesi dalam bilah samping Info. Berlaku segera pada kedua backend, termasuk editor melalui SSH yang dapat dikenali. Lihat Petunjuk perintah Vim untuk persyaratan deteksi mode.
terminal.restore-history
Boolean — bawaan true
Memulihkan keluaran sebelumnya di atas shell baru saat aplikasi dibuka kembali. Konten yang dipulihkan adalah teks statis, bukan proses yang masih berjalan.
Riwayat disimpan di disk, sehingga rahasia yang tampil di terminal mungkin ikut tersimpan. Proyek, tab, dan tata letak panel tetap dipulihkan dalam kedua keadaan.
Otomatisasi
ai.enabled
Boolean — bawaan true
Memungkinkan agen pemrograman yang didukung mengoordinasikan panel Zshell di latar belakang melalui permintaan bahasa biasa, serta menampilkan status siklus hidup dari penyedia. Zshell tidak menyimpulkan status dari teks terminal. Sebaiknya gunakan sakelar Pengaturan karena kesalahan ditampilkan langsung dan konfigurasi lama yang berkonflik dibiarkan utuh.
Alur pengguna dijelaskan dalam Bekerja dengan agen AI.
Saat berbagi app-server Codex, Zshell mencocokkan ID percakapan terverifikasi dengan panel latar depan. Kecocokan ambigu tidak ditautkan. Integrasi terkelola menambahkan session-id ke judul terminal Codex tanpa menghapus item judul lain.
ai.resume-conversations
boolean — bawaan true
Saat panel terminal dipulihkan dan PTY asal tidak tersedia, melanjutkan percakapan asli yang tepat dan tercatat dari Claude Code, Codex, Pi, atau OpenCode. Memerlukan ai.enabled = true. Panel tanpa percakapan terverifikasi membuka shell baru; Zshell tidak pernah memilih percakapan terbaru berdasarkan direktori.
Atur melalui Pengaturan → Otomatisasi → Lanjutkan percakapan agen. Opsi ini terpisah dari terminal.restore-history.
Pengaturan tambahan
| Kunci | Bawaan | Nilai / rentang | Efek |
|---|---|---|---|
app-icon | "default" | "default" / "light" / "dark" | Ikon aplikasi |
editor.external-editor | "default" | "default" / "vscode" / "zed" / "cursor" | Editor eksternal untuk berkas dan folder |
terminal.theme-only | false | Boolean | Terapkan palet hanya pada terminal |
terminal.cursor-shape | "bar" | "bar" / "block" / "underline" | Bentuk kursor terminal |
terminal.cursor-blinking | true | Boolean | Kedipan kursor |
terminal.copy-on-select | true | Boolean | Salin teks terminal yang dipilih |
terminal.focus-follows-mouse | false | Boolean | Fokus mengikuti mouse |
terminal.shift-enter-newline | true | Boolean | Kirim urutan baris baru yang diperluas lewat Shift+Enter; memerlukan dukungan aplikasi |
terminal.background-opacity | 1 | 0.2–1 | Opasitas latar terminal |
terminal.background-blur | false | Boolean | Buramkan latar tembus pandang |
terminal.notify-finish-seconds | 0 | 0 / 5 / 10 / 30 / 60 | Beri notifikasi saat perintah yang berjalan minimal selama durasi ini selesai di terminal zsh baru; 0 menonaktifkan |
terminal.notify-on-error | true | Boolean | Notifikasi kegagalan perintah di terminal zsh baru |
quick-terminal.mode | "reuse" | "reuse", "fresh" | Gunakan kembali ruang kerja / Ruang kerja baru setiap kali |
quick-terminal.size | 0.75 | 0.35–0.95 | Ukuran Terminal Cepat relatif terhadap layar |
quick-terminal.opacity | 0.5 | 0.05–1 | Opasitas latar Terminal Cepat |
quick-terminal.shortcut | Cmd+I | Rekam di Pengaturan | Rekam pintasan global di Pengaturan; kode tombol disimpan otomatis |
panes.show-focus-ring | true | Boolean | Tampilkan bingkai fokus di panel aktif |
panes.focus-ring-opacity | 0.85 | 0.05–1 | Opasitas bingkai fokus |
Pencadangan dan migrasi
Gunakan Zshell → Ekspor Pengaturan… untuk menyimpan berkas TOML dan Impor Pengaturan… untuk memuatnya. Impor meminta konfirmasi penggantian dan mencoba mencadangkan berkas saat ini sebagai config.toml.bak di direktori yang sama.
Impor membaca semua pengaturan yang didukung. Kunci yang dihilangkan mengikuti nilai bawaan pembaca; tanpa ai.enabled, pengaturan AI saat ini tetap digunakan. Bahasa dan variabel lingkungan proyek atau tab disimpan terpisah.
Contoh lengkap
theme = "dark"
theme-dark = "Catppuccin Mocha"
theme-light = "Catppuccin Latte"
font-family = "IBM Plex Mono"
font-size = 14
interface.scale = 1.25
sidebar.font-size = 13
toolbar.visibility = "auto"
terminal.font-fallback-family = "PingFang SC"
terminal.font-thicken = true
terminal.font-thicken-strength = 180
terminal.line-height = 1.15
terminal.macos-option-as-alt = false
terminal.bell = false
terminal.startup-program = "/opt/homebrew/bin/fish"
terminal.startup-arguments = "--no-config"
terminal.backend = "alacritty"
terminal.restore-history = true
editor.wrap-lines = true
ai.enabled = true
ai.resume-conversations = trueSemua kunci opsional. Hapus kunci untuk mengembalikan pengaturannya ke nilai bawaan.
Pintasan keyboard
Buka Pengaturan → Pintasan untuk merekam pintasan baru bagi perintah inti. Zshell menolak kombinasi yang berkonflik dan menyebutkan perintah yang sudah memakainya. Pulihkan Pintasan Bawaan menghapus semua penggantian. Referensi keyboard mencantumkan pintasan bawaan.
Pengaturan di luar berkas ini
- Bahasa. Pengaturan menyediakan Bawaan Sistem dan 17 bahasa yang sama dengan situs. Perubahan berlaku langsung sambil sesi terminal tetap berjalan. Pilihan menggunakan preferensi bahasa per aplikasi macOS, sehingga disimpan dalam preferensi Zshell, bukan TOML. Bawaan Sistem mengikuti urutan bahasa macOS.
- Pembaruan otomatis. Sakelar pemeriksaan, unduhan, dan pemasangan otomatis di Pengaturan → Pembaruan memakai preferensi aplikasi di luar TOML dan mengingat pilihan antarpeluncuran. Pemasangan hanya ditampilkan selama unduhan otomatis aktif. Lihat Instalasi.
- Status jendela dan tata letak. Ukuran jendela, lebar bilah samping, panel yang dipilih, proyek, tab, panel konten, URL browser, dan preferensi kontrol perbedaan tersimpan dalam preferensi macOS dan cuplikan sesi Zshell.
- Berkas konfigurasi backend. Zshell tidak membaca
~/.config/ghosttyatau konfigurasi Alacritty. Pengaturan Zshell adalah cara yang didukung untuk keduanya.