Prompt kustom gagal saat histori dan mengontrol-a di Terminal.app OS X menggunakan Bash

7

Saya mengubahsuaikan prompt saya di .bash_profile agar terlihat seperti ini:

export PS1="\w \e[0;32m\$(vcprompt -f '[%n:%b]')\e[m\$ "

Sekarang, ketika saya menekan panah untuk kembali melalui sejarah, menemukan yang saya inginkan, lalu tekan control-a untuk pergi ke awal baris, itu sering menghentikan saya pada karakter ke-5 alih-alih pergi jauh ke awal . Beberapa karakter pertama kemudian "dibekukan" di tempatnya. Jika saya panah ke atas atau ke bawah dari sana seolah-olah karakter itu adalah $ baru.

Saya menekan kembali dan kembali normal, tetapi cukup menjengkelkan jika karakter-karakter itu tertahan di sana! Apakah saya mengacaukan sesuatu dalam penyesuaian? Terima kasih!

Jed
sumber

Jawaban:

9

Anda perlu menandai bagian yang tidak tercetak dari prompt dengan \[... \]jadi bash dapat mengatakan bahwa mereka tidak akan menghabiskan ruang di layar. Mencoba:

export PS1="\w \[\e[0;32m\]\$(vcprompt -f '[%n:%b]')\[\e[m\]\$ "
Gordon Davisson
sumber