Setelah memperbaiki masalah ini sejak lama, saya mengalami masalah yang sama, di mana Vim tidak memiliki masalah ini, tetapi less
memang demikian. Ini memengaruhi semua program yang menggunakan less
juga, seperti man
. Penyebabnya, saya temukan, adalah LESS
variabel lingkungan, yang mendaftar argumen untuk secara otomatis diteruskan ke less
setiap kali dipanggil. Opsi di dalam LESS
yang 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-screen
tanpa --no-init
” bahwa jika Anda menonaktifkan -X
/ --no-init
, Anda harus menonaktifkan -F
/ --quit-if-one-screen
juga (jika sudah diatur).
Untuk memperbaikinya less
agar selalu mengembalikan layar Anda saat keluar, ubah nilai LESS
dalam file inisialisasi shell yang sesuai. Ini .bashrc
untuk Bash, .zshenv
untuk Zsh, dan .config/fish/config.fish
untuk 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 $LESS
sebelumnya untuk melihat flag yang ada untuk disalin ke export
/ set
pernyataan Anda.