Relatif sering, saya mendapati diri saya ingin berhenti less
tetapi meninggalkan apa yang saya lihat di layar, untuk merujuk kembali. Apakah ada cara untuk melakukan ini? Penanganan masalah?
(Solusi saya saat ini adalah berhenti, lalu gunakan more
. Jadi solusi apa pun yang lebih baik daripada yang disambut. Idealnya akan menjadi sesuatu yang dapat saya gunakan setelah saya sudah di dalam less
, mungkin dengan pengaturan shell atau beberapa skrip.)
Desktop saya adalah OSX, tetapi saya menggunakan server RHEL dan Ubuntu.
git diff
ataugit log
)less -X
akan mengambil buffer gulir di terminal saya dan mengusir banyak output sebelumnya. Saya akan senang jikaless
hanya bisa keluar dengan layar penuh keluaran pada saat keluar; yaitu tidak lebih dari satu halaman buffer gulir akan diambil setelah berhentiless
. Ada ide?-R
biasanya merupakan pilihan yang lebih aman daripada-r
.-R is "Like -r, but only ANSI "color" escape sequences are output in "raw" form. Unlike -r, the screen appearance is maintained correctly in most cases."
-c
adalah tentang cara memperbarui layar ketika Anda bergerak di dalamless
.Jawaban:
Ini sebenarnya adalah fungsi dari emulator terminal yang Anda gunakan (xterm, gnome-terminal, konsole, layar). Layar alternatif, atau layar alts, diluncurkan ketika program seperti
less
atauvim
dipanggil. Layar altscreen ini tidak memiliki buffer riwayat dan segera keluar saat Anda keluar dari program, beralih kembali ke layar asli yang mengembalikan riwayat dan penempatan konten jendela sebelumnya.Anda dapat mencegah
less
peluncuran di layar altscreen dengan memberikan argumen "-X".less -X /path/to/some/file
Anda juga dapat melewatkan "-X" sebagai variabel lingkungan. Jadi, jika Anda menggunakan
bash
, letakkan ini di~/.bashrc
:Namun, ini menghilangkan inisialisasi dan deinitialisasi termcap (kemampuan terminal), sehingga tampilan lain saat Anda menggunakan
less
mungkin tampak tidak aktif.Opsi lain adalah menggunakan
screen
dan mengatur opsialtscreen off
di~/.screenrc
.less
tidak akan menghapus layar dan harus mempertahankan pemformatan warna. Agaknyatmux
akan memiliki opsi yang sama.Entri blog ini menjelaskan masalah dan menawarkan beberapa solusi berbeda khusus untuk
gnome-terminal
kesuksesan yang berbeda-beda.sumber
git log
(dan mungkin perintah berwarna lainnya) kacau.alias les="/usr/bin/less -X"
git log
masalah di atas:export LESS="-r -X"
. (Tidak tahu apa efek samping dari yang adalah ...)git
setelLESS
variabel keFRSX
jika tidak disetel ketika menjalankan pager, jadi Anda bisa membiarkannyaLESS
tidak disetel danless
secara otomatis akan dijalankan-FRSX
. Carilahcore.pager
digit-config(1)
untuk informasi lebih lanjut.Solusi George tidak berhasil untuk saya, tetapi solusi ini berhasil (dari entri blog yang ditautkan dalam jawabannya).
$ infocmp -I xterm > ~/xterm-noclear.src
Edit ~ / xterm-noclear.src
ganti nama pada baris kedua dari 'xterm' menjadi 'xterm-noclear', atau apa pun yang cocok untuk Anda (juga ubah 'xterm-debian' jika ada)
hapus instruksi 'smcup' dan 'rmcup' (mis. "smcup = \ E [? 1049h," dan "rmcup = \ E [? 1049l,")
$ mkdir ~/.terminfo
$ tic ~/xterm-noclear.src
(x / xterm-noclear akan muncul di direktori ~ / .terminfo Anda)$ export TERM=xterm-noclear
(sekarang periksa perilaku kurang dan, jika puas, tambahkan baris petunjuk ekspor ke profil ~ /.)(Saya menyalin instruksi-instruksi ini langsung dari hasil edit jawaban George yang ditolak @ jah.)
sumber
Cara saya ingat ini adalah
less -SEX
ketika saya harus membuang output ke layar tetapi tidak ingin garis untuk membungkus. Misalnyadocker ps | less -SEX
Apa yang dilakukan adalah ini:-S
-E
, Anda dapat menggunakan tombol panah untuk menggulir-E
-X
Jika Anda tidak dapat mengingatnya
less -SEX
, tidak ada banyak harapan untuk Anda. Re-google saja setiap kali saya kira.sumber