Perubahan terbaru dalam dokumentasi menyebutkan cara berbeda untuk menghapus opsi default untuk less("opsi default" menjadi FRSX).
Untuk pertanyaan ini, ini akan menjadi (git 1.8+)
git config --global --replace-all core.pager 'less -+F -+X'
Misalnya, Dirk Bester menyarankan di komentar :
export LESS="$LESS -FRXK"
sehingga saya mendapatkan diff berwarna dengan Ctrl-Ckeluar dari less.
Wilson F menyebutkan dalam komentar dan dalam pertanyaannya bahwa:
kurang mendukung pengguliran horizontal, jadi ketika garis-garis dipotong, lebih sedikit penonaktifan berhenti-jika-satu-layar sehingga pengguna masih dapat menggulir teks ke kiri untuk melihat apa yang terpotong.
Modifikasi itu sudah terlihat di git 1.8.x, seperti yang diilustrasikan dalam " Selalu gunakan pager untukgit diff " (lihat komentar). Tetapi dokumentasinya baru saja ditulis ulang ( untuk git 1.8.5 atau 1.9, Q4 2013 ).
Penampil teks untuk digunakan oleh perintah Git (misalnya, 'kurang').
Nilai ini dimaksudkan untuk ditafsirkan oleh shell.
Urutan preferensi adalah:
- yang
$GIT_PAGERvariabel lingkungan,
- lalu
core.pagerkonfigurasi,
- lalu
$PAGER,
- dan kemudian default dipilih pada waktu kompilasi (biasanya 'kurang').
Ketika LESSvariabel lingkungan tidak disetel, Git mengaturnya FRSX
(jika LESSvariabel lingkungan disetel, Git tidak mengubahnya sama sekali).
Jika Anda ingin secara selektif menimpa pengaturan default Git untuk LESS, Anda dapat mengatur core.pagerke misless -+S .
Ini akan diteruskan ke shell oleh Git, yang akan menerjemahkan perintah terakhir ke LESS=FRSX less -+S. Lingkungan memberi tahu perintah untuk mengatur Sopsi untuk memotong garis panjang tetapi baris perintah mengatur ulang ke default untuk melipat garis panjang.
Lihat komit 97d01f2a untuk alasan di balik kata-kata dokumentasi baru:
config: menulis ulang core.pagerdokumentasi
Teks menyebutkan core.pagerdan GIT_PAGERtanpa memberikan gambaran keseluruhan tentang prioritas. Pinjam deskripsi yang lebih baik dari git var(1) dokumentasi.
Penggunaan mekanisme untuk memungkinkan file konfigurasi sistem, global, dan per-repositori tidak terbatas pada variabel khusus ini. Hapus itu untuk memperjelas paragraf.
Tulis ulang bagian yang menjelaskan bagaimana variabel lingkungan LESSdiatur ke nilai default Git, dan bagaimana menyesuaikannya secara selektif.
Catatan: commit b327583 ( Matthieu Moymoy , April 2014, untuk git 2.0.x / 2.1, Q3 2014) akan menghapus S secara default:
pager: hapus 'S' dari $ KURANG secara default
Secara default, Git digunakan untuk mengatur $LESSke -FRSXjika $LESStidak diatur oleh pengguna.
The FRXbendera sebenarnya masuk akal untuk Git ( Fdan Xkarena kadang-kadang output Git pipa kurang pendek, dan Rkarena pipa Git berwarna output).
The Sflag (memotong garis panjang), di sisi lain, tidak berhubungan dengan Git dan merupakan masalah preferensi pengguna. Git seharusnya tidak memutuskan untuk pengguna untuk mengubah LESSdefault .
Lebih khusus lagi, Sflag membahayakan pengguna yang meninjau kode yang tidak dipercaya dalam pager, karena sebuah tambalan terlihat seperti:
-old code;
+new good code; [... lots of tabs ...] malicious code;
akan tampak identik dengan:
-old code;
+new good code;
Pengguna yang lebih suka perilaku lama masih dapat mengatur variabel lingkungan $ KURANG untuk -FRSXsecara eksplisit, atau mengatur core.pager ke ' less -S'.
Dokumentasi akan berbunyi:
Lingkungan tidak mengatur Sopsi tetapi baris perintah tidak, menginstruksikan lebih sedikit untuk memotong garis panjang.
Demikian pula, pengaturan core.pageruntuk less -+Fakan menonaktifkan Fopsi yang ditentukan oleh lingkungan dari baris perintah, menonaktifkan " quit if one screen" perilaku less.
Seseorang dapat secara khusus mengaktifkan beberapa flag untuk perintah tertentu: misalnya, pengaturan pager.blameuntuk less -Smengaktifkan pemotongan baris hanya untuk git blame.
core.pager 'less -+F -+X'akan menjadi cara yang lebih baru untuk menghapus opsi-opsi itu. Lihat jawaban saya di bawah ini .