Saya melakukan banyak pekerjaan di terminal jadi saya telah belajar banyak tentang cangkang pilihan saya, zsh. Fitur zsh apa yang Anda gunakan untuk membuat diri Anda jauh lebih produktif di tempat kerja? Salah satu favorit saya adalah autocomplete multi-dir. Jadi, alih-alih mengetik, cd /fo{tab}/ba{tab}/ba{tab}
saya bisa melakukan cd /fo/ba/ba{tab}
dan menyimpan banyak penekanan tombol!
command-line
shell
zsh
Frew Schmidt
sumber
sumber
Jawaban:
Baru saja menemukan permata kecil ini:
Bentuk ini
cd
menggantikan semua kejadianold
dalam path lengkap dari direktori sekarang dengannew
dan mencoba untuk mengubah direktori kerja ke path yang dihasilkan.Misalnya, jika direktori kerja
/home/larry/code/backrub/server
Anda dan Anda ingin beralih ke/home/sergei/code/backrub/server
, yang perlu Anda lakukan adalah:sumber
Saya akan menyimpan hal-hal yang, sejauh yang saya tahu, bash tidak bisa lakukan.
Selesai mewah. Ya, bash memiliki beberapa di antaranya, tetapi zsh telah mengetahui lebih banyak perintah, seringkali lebih tepat, dan memiliki lebih banyak kemungkinan konfigurasi.
The
**
gumpal, misalnya,**/foo
terlihat untuk file yang disebutfoo
dalam subdirektori secara rekursif. (Dan***/foo
juga mengikuti symlink.) Dua karakter bukannya panjangfind
perintah (yang sulit untuk diperbaiki jika beberapa nama file menyertakan karakter khusus seperti spasi dan tanda kutip).Lebih jarang, kualifikasi glob seperti pada
foo*(*)
(sepertifoo*
, tetapi hanya menyimpan file yang dapat dieksekusi),foo(.)
(hanya file biasa, bukan direktori),foo(-@)
(hanya tautan yang menggantung),foo*(m-5)
(hanya file yang dimodifikasi dalam 5 menit terakhir),foo*(om[1])
(file yang paling baru dimodifikasi) , dll.autocd
: Mengetik nama direktori sebagai perintah berubah menjadi itu (cd
ataupushd
tergantung pada bagaimana Anda mengkonfigurasinya). Thecd
perintah tiga karakter terlalu lama! Saya tidak bisa menggunakan bash selama lebih dari tiga puluh detik tanpa merasakan sakit. Saya juga memiliki beberapa fungsi karakter tunggal, sepertizmv
builtin, danSementara saya melakukannya,
noglob
builtin.Fungsi
precmd
andpreexec
hook: Saya gunakanpreexec
untuk mengatur judul terminal saya untuk memasukkan perintah yang sedang berjalan, danprecmd
untuk mengganti perintah dengan kode keluarnya. Sesuatu sepertibg
(sehingga Ctrl + Z Ctrl + Z menunda program dan segera melanjutkannya di latar belakang).setopt append_history autocd extended_glob no_match
sumber
Kemampuan zsh untuk melengkapinya secara otomatis di samping file dan direktori.
Sebagai contoh, dengan paket git diinstal, git-sh {tab} menampilkan:
sumber
Saya sangat suka alias global
biarkan aku melakukan hal-hal seperti
dan paging.
sumber
Seperti yang disebutkan oleh orang lain, autocomplete zsh sangat bagus.
Anda dapat mengatur autocomplete sendiri untuk perintah kustom tanpa terlalu banyak kesulitan juga. Untuk tab melengkapi nama pengguna sebagai argumen untuk jari:
Opsi lain yang saya ingin atur:
Pushd dan popd juga sangat berguna.
Mengganggu tombol home dan end tidak secara default berfungsi pada zsh seperti pada shell lainnya, tetapi Anda dapat memperbaikinya.
sumber
Aktifkan pelengkapan otomatis saat menggunakan
scp
ke server jauh.Prompt yang tepat untuk menampilkan info tambahan.
sumber