Bash
memiliki PROMPT_DIRTRIM
opsi, misal ketika saya atur PROMPT_DIRTRIM=3
, maka path panjang seperti:
user@computer: /this/is/some/silly/path
akan ditampilkan sebagai:
user@computer: .../some/silly/path
Apakah ada opsi serupa zsh
?
Untuk mendapatkan efek yang serupa bash
, termasuk ...
, coba:
%(4~|.../%3~|%~)
Ini memeriksa, jika path setidaknya 4 elemen panjang ( %(4~|true|false)
) dan, jika benar, mencetak beberapa titik dengan 3 elemen terakhir ( .../%3~
), jika path lengkap dicetak %~
.
Saya perhatikan bahwa bash
tampaknya mempersingkat jalur di direktori home secara berbeda, misalnya:
~/.../some/long/path
Untuk efek yang serupa, Anda mungkin ingin menggunakan:
%(5~|%-1~/…/%3~|%4~)
Ini memeriksa, apakah path lebih panjang dari 5 elemen, dan dalam kasus itu mencetak elemen pertama ( %-1~
), beberapa titik ( /…/
) dan 3 elemen terakhir. Ini tidak persis sama dengan jalur, yang tidak ada di direktori home Anda, juga akan memiliki elemen pertama di awal, sementara bash
hanya mencetak titik-titik dalam kasus itu. Begitu
/this/…/some/silly/path
dari pada
.../some/silly/path
Tapi ini mungkin bukan hal yang buruk.
~/a/b
sebagai.../a/b
ganti~/a/b
. Untuk memperbaikinya, Anda bisa menggunakan%(5~|…/%3~|%~)
.PROMPT
variabel lingkungan di Anda.zprofile
, misalnya:EXPORT PROMPT="%(5~|%-1~/…/%3~|%4~)"
.zshrc
dan benar-benar tidak perluexport
parameter internal shell sepertiPROMPT
.Selain jawaban lain yang diberikan di sini, Anda juga dapat menggunakan
%<
untuk memotong jalur ke sejumlah karakter tertentu . Saya menemukan ini lebih baik daripada menggunakan%<n>d
, karena masing-masing elemen path mungkin cukup panjang dalam dirinya sendiri. Menggunakan%<
hasil, panjang prompt maksimum yang jauh lebih dapat diprediksi.Misalnya, untuk memotong-kiri elemen path dengan ekspansi tilde (
%~
) hingga 15 karakter, menggantikan karakter yang dihapus dengan..
, Anda dapat melakukan sesuatu seperti ini:Ini didokumentasikan dalam manual Zsh di bawah Ekspansi Prompt , tepat di akhir halaman.
sumber
Anda dapat menggunakan
%3d
ekspansi cepat :Bentuk umumnya adalah
%d
, jika ada bilangan bulat positif yang mengikutid
menentukan komponen tambahan untuk menunjukkan lintasan saat ini, nol berarti menunjukkan seluruh lintasan, bilangan bulat negatif berarti lintasan terkemuka untuk menunjukkan:sumber
Lihat http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html atau
man zshmisc
Jadi untuk mendapatkan sesuatu yang mirip
PROMPT_DIRTRIM=3
, Anda bisa menggunakan%3d
atau%3~
, missumber