Terminal Mac: pengeditan perintah gaya emacs kacau

5

Ini telah menjadi masalah "kualitas hidup" bagi saya untuk sementara waktu sekarang mengedit baris perintah di terminal Mac kacau untuk saya.

Jika saya mengetik beberapa karakter, dan kemudian tekan CTRL-A untuk pindah ke awal baris, itu akan memindahkan kursor terlalu jauh. Sepertinya apa yang ada di layar tidak sinkron dengan apa yang sebenarnya dimiliki bash di "buffer" -nya.

Misalnya, saya mulai mengetik "ls-l":

tangkapan layar - mengetik

... dan kemudian tekan CTRL-A untuk memindahkan kursor, dan saya berakhir dengan yang berikut di layar:

tangkapan layar - kursor bergerak terlalu jauh

Saya pikir cuplikan berikut dari .bashrc saya relevan dengan diagnosis potensial:

export PS1="\[\h:\w\]\$ " 
export SUDO_PS1="\[\h:\w\]\\$ "
set -o emacs

FWIW, ini juga terjadi pada saya saat menggunakan iTerm2 bukan terminal default Mac.

Koma Kafein
sumber

Jawaban:

10

Jatuhkan '\ [' dan '\]'. Maksudnya "barang terlampir tidak memakan ruang pamer", dan mengacaukan hitungan, seperti yang Anda duga. Mereka biasanya digunakan untuk melampirkan string yang mengatur warna teks berikut, f / ex. Tanpa mereka, prompt - dan pengeditan emacs - akan berfungsi dengan benar.

Ini kartu referensi sintaksis cepat yang praktis .

JRobert
sumber