Saya sedang melakukan pemrograman pada mesin seorang kolega. Ia memiliki versi emacs (23.1.1) yang belum pernah saya gunakan sebelumnya. Masalah saya adalah ketika saya masuk ke mode shell, bash prompt saya terlihat seperti ini:
^[]0;jay@socrates:~^G[jay@socrates]$
Saya telah PS1
mengatur '[\u@\h]\$ '
di .bashrc
. Seharusnya terlihat seperti ini:
[jay@socrates]$
Ini adalah tampilannya di shell biasa. Saya juga telah memeriksa bahwa PS1 diatur ke nilai yang benar di shell emacs, jadi sekarang saya kehabisan ide. Bagaimana saya bisa mendapatkan prompt saya untuk melihat apa yang saya inginkan?
Saya telah melihat beberapa saran untuk digunakan term
atau eshell
bukan shell
. term
memiliki masalah prompt yang sama seperti di atas, dan eshell
sepenuhnya mengabaikan saya PS1
sehingga tidak terlalu membantu.
Saya menemukan masalah yang sama persis dan itu karena PROMPT_COMMAND. Saya suka judul xterm. Jadi saya menambahkan baris berikut di ~ / .emacs_bash
sumber
Mungkin ada hubungannya dengan jenis terminal dari shell emacs vs shell biasa Anda. Periksa
TERM
variabel lingkungan diatur di kedua shell. Jika mereka berbeda maka Anda harus dapat mengubah tipe terminal shell emacs atau menggunakan definisi PS1 berbeda untuk tipe terminal emacs di.bashrc
.Anda juga dapat mencoba
M-x ansi-term
(danansi-color-for-comint-mode-on
jika Anda memiliki permintaan warna).sumber
Ini dijawab dengan sangat baik di situs stackoverflow. oleh Daniel Poe.
Inilah jawabannya.
Anda dapat menggunakan AnsiTerm yang mendukung warna atau Anda dapat mengaktifkan AnsiColor untuk shell normal:
sumber