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.