Eshell: Pergi ke baris prompt pada tombol tekan


8

Kadang-kadang, ketika saya menggulir ke atas di eshell, titik meninggalkan baris prompt perintah untuk tetap berada di area yang terlihat. Ketika saya kemudian memasukkan perintah, saya tidak memasukkan perintah pada prompt, tetapi penilai memasukkan teks di suatu tempat ke dalam output dari perintah yang sebelumnya disebut. Ini sangat menjengkelkan.

Bagaimana saya bisa memastikan bahwa eshell mengembalikan menunjuk ke command prompt ketika saya memasukkan char, sama seperti di shell lain?

/ edit: Ini adalah screencast dari situasi tersebut. Saya mengetik ls, lalu saya gulir ke atas untuk meninjau output, kemudian memutuskan bahwa saya ingin melakukan cd .., tetapi karena itu hanya menyisipkan perintah pada titik, ternyata menjadi sampah.

eshell-scroll-point


Saya pikir itu tidak mengganggu. Di Eshell, Anda dapat menjalankan perintah dari mana saja dan menggunakan output sebelumnya, tidak hanya setelah prompt perintah terakhir, itu jelas fitur yang sangat keren. Bagi saya, fitur ini adalah alasan utama saya menggunakan Eshell. Untuk kebagian prompt perintah terakhir, saya menggunakan M->.
xuchunyang

Apakah ada kemungkinan untuk menyediakan tangkapan layar dari kasus di mana titik meninggalkan baris perintah dan Anda ingin mengembalikan titik ke prompt perintah dengan memasukkan karakter yang sewenang-wenang? Apakah titik kiri di baris yang sama dengan prompt terakhir? Apakah Anda ingin kembali ke prompt terakhir? Bagaimana jika ada beberapa teks yang tidak lengkap pada prompt terakhir?
Nama

@ xuchunyang: Masalahnya adalah bahwa titik tersebut menjauh dari prompt ketika saya tidak menginginkannya (yaitu, ketika saya gulir ke atas, lihat screencast). Jadi intinya tetap pada prompt kecuali saya memindahkannya sendiri akan menjadi solusi 'nyata'. Sepertinya titik harus selalu berada di area yang terlihat di emacs sekalipun.
Geier

Jawaban:



0

Saya pikir apa yang Anda cari adalah perilaku Plan 9 Smart Shell di Emacs. Mickey Peterson meliputnya di buku terbarunya Mastering Emacs , yang melibatkan penambahan ini ke file init.el Anda:

(require 'eshell)
(require 'em-smart)
(setq eshell-where-to-jump 'begin)
(setq eshell-review-quick-commands nil)
(setq eshell-smart-space-goes-to-end t)

Tidak bekerja :(
Geier

Ada tiga opsi yang sudah memiliki nilai yang sama seperti yang Anda tetapkan (setidaknya di Emacs 25 yang saya gunakan), jadi Anda mungkin tidak mengaturnya lagi sekarang.
xuchunyang
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.