Cara membiarkan shell kembali ke baris sebelumnya setelah keluar dari proses layar penuh seperti Vim

2

Saya terhubung ke Z-Shell pada mesin Red Hat Enterprise Linux 6.2 via Putty . Setelah saya keluar dari proses layar penuh, misalnya Vim dan kurang, di shell Unix, prompt shell dimulai di baris terakhir layar. Layar di atas masih menunjukkan konteks proses itu, jadi saya kehilangan semua hal yang ditunjukkan shell sebelum saya membuka proses itu.

Ini tidak terjadi di kotak Ubuntu saya sendiri, di mana setelah keluar dari proses, saya kembali ke baris di bawah perintah terakhir yang saya ketikkan.

Opsi apa yang dapat saya ubah (mungkin di zshrc?) Untuk membuatnya berperilaku seperti kotak Ubuntu saya?

Wei Shi
sumber

Jawaban:

1

Saya sudah melihat masalah ini juga. Periksa pengaturan Putty Anda di bawah Terminal-> Fitur. Jika "Nonaktifkan beralih ke layar terminal alternatif" dicentang, hapus centang. (Semua pengaturan saya pada halaman itu tidak dicentang.) Bantuan untuk opsi itu terlihat menjanjikan.

Jika gagal, laman yang saya temukan di Google ini mungkin memberi Anda beberapa ide. Anda mungkin dapat mengatur beberapa hal terminfo agar berfungsi dengan benar.

David Pope
sumber
1

Setelah memperbaiki masalah ini sejak lama, saya mengalami masalah yang sama, di mana Vim tidak memiliki masalah ini, tetapi lessmemang demikian. Ini memengaruhi semua program yang menggunakan lessjuga, seperti man. Penyebabnya, saya temukan, adalah LESSvariabel lingkungan, yang mendaftar argumen untuk secara otomatis diteruskan ke lesssetiap kali dipanggil. Opsi di dalam LESSyang menyebabkan ini adalah -X:

-X atau --no-init

Menonaktifkan pengiriman inisialisasi termcap dan deinitialisasi ke terminal. Ini kadang-kadang diinginkan jika string deinitialization melakukan sesuatu yang tidak perlu, seperti membersihkan layar.

Saya juga belajar dari Unix & Linux - “ less --quit-if-one-screentanpa --no-init bahwa jika Anda menonaktifkan -X/ --no-init, Anda harus menonaktifkan -F/ --quit-if-one-screenjuga (jika sudah diatur).

Untuk memperbaikinya lessagar selalu mengembalikan layar Anda saat keluar, ubah nilai LESSdalam file inisialisasi shell yang sesuai. Ini .bashrcuntuk Bash, .zshenvuntuk Zsh, dan .config/fish/config.fishuntuk Ikan. Untuk file ini, tambahkan perintah export LESS='<all the flags you want, without -X or -F>', atau set -gx LESS <flags>untuk ikan. Anda dapat menjalankan echo $LESSsebelumnya untuk melihat flag yang ada untuk disalin ke export/ setpernyataan Anda.

Rory O'Kane
sumber
0

Saya menemukan jawabannya! Semua harus saya lakukan adalah mengatur $TERMuntuk xterm. Dululinux

export TERM=xterm 

Terima kasih atas tautan dan isyaratnya, David!

Wei Shi
sumber