- Dengan berbagai fitur dan kombinasi pintasan pada perintah
less, penelusuran file, pencarian, pemfilteran, bookmark, dan pergantian opsi bisa dilakukan secara efisien
- Beberapa file dapat dibuka sekaligus, dan berpindah/menambah/menghapus file dengan perintah
:n, :p, :e, :d
- Dengan memanfaatkan fitur pencarian (
/, ?, n, N) dan pemfilteran (&, &!), pola tertentu dapat ditemukan atau dikecualikan dengan cepat
- Bookmark (
m, ') dan fitur pencocokan tanda kurung mempermudah perpindahan posisi di dokumen panjang atau file kode
- Toggle opsi saat berjalan (
-S, -R, -N, dll.) dan eksekusi perintah eksternal (!) memungkinkan penyesuaian lingkungan secara langsung tanpa keluar dari less
Menangani banyak file
less bukan hanya alat yang dipakai di akhir pipeline, tetapi juga bisa membuka beberapa file langsung sebagai argumen
- Contoh:
less file1 file2 file3
- Saat berjalan pun, file baru bisa ditambahkan dengan perintah
:e file.h
- Dengan
:n bisa pindah ke file berikutnya, dengan :p ke file sebelumnya, dan dengan :x atau :rewind bisa kembali ke file pertama
- Dengan perintah
:d, file saat ini dapat dihapus dari daftar
Fitur navigasi
- Masukkan angka+G seperti
3141G untuk berpindah ke nomor baris tertentu
- Dengan angka+% seperti
75%, bisa melompat ke posisi persentase tertentu dalam file
- Gunakan
/pola untuk pencarian maju, ?pola untuk pencarian mundur, dan n/N untuk berpindah ke hasil berikutnya/sebelumnya
!pola digunakan untuk mencari baris yang tidak cocok, * untuk pencarian lintas banyak file, @ untuk memulai pencarian dari file pertama, dan @* untuk mencari di seluruh file
Fitur pemfilteran
- Dengan
&pola, hanya baris yang cocok dengan pola tersebut yang ditampilkan, bekerja mirip grep internal
- Dengan
&!pola, hanya baris yang tidak cocok dengan pola yang ditampilkan, berguna saat menelusuri file log
Bookmark dan pencocokan tanda kurung
- Gunakan
m + karakter untuk menetapkan bookmark, dan ' + karakter untuk berpindah ke lokasi tersebut
- Contoh: tandai bagian OPTIONS dengan
mo dan bagian EXAMPLES dengan me, lalu pindah dengan 'o, 'e
- Jika tanda kurung seperti
(, [, { berada di baris pertama layar, memasukkan tanda kurung tersebut akan melompat ke pasangannya
- Sebaliknya, jika tanda kurung penutup berada di baris terakhir, akan berpindah ke tanda kurung pembuka
- Pasangan tanda kurung kustom juga bisa ditentukan dengan
alt+ctrl+b dan sejenisnya
Toggle opsi dan menjalankan perintah eksternal
- Saat berjalan, memasukkan opsi setelah
- memungkinkan pengaturan diubah seketika
-S: toggle pembungkusan baris
-G: highlight pencarian
-i/-I: pengaturan peka/tidak peka huruf besar-kecil
-R: tampilkan warna ANSI
-N/-n: tampilkan/sembunyikan nomor baris
- Dengan perintah
!, perintah eksternal dapat dijalankan (!date, !bc, dll.)
Variabel lingkungan dan fitur lainnya
- Opsi yang sering dipakai bisa disimpan di variabel lingkungan
$LESS
- Contoh:
LESS="-RNe" → tampilkan warna, tampilkan nomor baris, keluar otomatis di akhir file
- Dengan perintah
v, file saat ini dapat dibuka di editor $VISUAL
- Dengan perintah
o atau O, isi yang dibaca dari input standar bisa disimpan ke file
less mendukung fitur lompatan tag berbasis ctags, meski jarang digunakan
1 komentar
Komentar Hacker News
Agak mengejutkan fitur
followtidak disebut. Awalnya terasa seperti UX yang aneh, tetapi setelah terbiasa, dalam banyak kasus ini lebih baik daripadatailJika dijalankan dengan
less +F, ia akan mengikuti stream input atau file secara real-time sambil menampilkannya. Dengan<C-c>Anda bisa menghentikan mode follow dan menelusuri sepertilessbiasa, lalu tekanF(huruf besar) untuk melanjutkan followkubectl logs | less +F), menekan<C-c>akan mengakhiri seluruh proses pipe sehingga follow tidak bisa dilanjutkan lagi denganF.lesspunya alternatif untuk menghentikan follow dengan<C-x>, tetapi kebanyakan shell menangkap tombol initail, Anda bisa menekan Enter untuk menambahkan baris kosong di bawah baris terakhir. Ini berguna untuk membedakan hasil dari beberapa kali eksekusi, jadi saya masih memakaitailkarena fitur iniOpsi
-Xatau--no-initmembuat layar tidak dibersihkan saat keluar. Saya biasanya lebih suka mempertahankan layar agar bisa merujuk isi sebelumnya atau copy-paste-X, lihat tip di thread ini-E, program akan langsung keluar bila output lebih kecil daripada ukuran terminal. Saya sering memakai kombinasi opsi “less -SEXIER”. Mudah juga diingatSaat men-debug log panjang, saya memfilter hanya bagian yang ingin dibaca dengan
&dan mengecualikan bagian yang tidak perlu dengan&!. Regex juga didukung. Kadang lambat, tetapi berguna untuk filtering cepat di tempatAda dua tip yang berguna
Opsi
-Lmelewati prapemrosesan file input, sehingga mencegah file log dengan nama sepertilogfile.1,logfile.2yang diputar salah diperlakukan sebagainroffSelain itu, saat mencari, memasukkan
Ctrl-Rsebagai karakter pertama memungkinkan pencarian sebagai string literal, bukan regexAnda bisa mengatur key binding dengan file
~/.lesskey. Saya mengikatsuntuk scroll mundur sehingga bisa page up/down cepat dengan satu tangan menggunakanddanslessbawaan macOS tidak punya fitur ini, jadi harus dipasang lewat Homebrew (contoh konfigurasi, penjelasan terkait)Nke next-file. Tidak adanya lesskey di macOS memang sangat menyebalkanmandi OpenBSD meneruskan tag kelesssehingga Anda bisa langsung pindah ke bagian tertentu seperti:t test. Fitur ini menarik, tetapi dalam praktiknya hampir tidak pernah saya pakai.Antarmuka yang konsisten dengan sekadar mencari lewat
/terasa lebih intuitif.Sebagai referensi, keluarga BSD menggunakan set makro
mdocuntuk membuat dokumentasi berbasis semantik, dan OpenBSD memakai programmandocuntuk merendernya (dokumentasi mdoc)Dengan
^q, Anda bisa keluar darilesstanpa membersihkan layar, sementaraqbiasa tetap keluar seperti semula sambil membersihkan layarlessharus dijalankan tanpa-X, dan ini sangat berguna khususnya saat perlu merujuk output sebelumnya seperti padagit logDi
lessjuga ada fitur untuk me-pipe ke perintah eksternal.Misalnya, tetapkan mark dengan
ma, lalu gunakan|auntuk mengirim isi dari posisi saat ini sampai mark tersebut ke perintah eksternal.Ini berguna saat ingin menyimpan sebagian berita atau email.
Selain itu, opsi
-jmemungkinkan Anda mengatur berapa baris di bawah bagian atas layar hasil pencarian akan ditampilkangit log. Setelah memilih commit, saya menjalankangit showlewat shortcut, atau langsung melakukan pekerjaan fixup.Dengan debug trap di
bashdankeyd-application-mapper, saya mendeteksi perintah yang sedang berjalan, mengekstrak hash commit tersebut, lalu memprosesnya dengan skripMesin regex di
less(1)terlalu lambat. Saat menangani file besar, saya mencari dulu dengangrepatauripgrep, lalu melihat hasilnya lewatlessDengan tombol
s, data dari pipe bisa disimpan ke file. Jauh lebih nyaman daripada copy-pasteless, lalu hanya menyimpannya denganskalau hasilnya memang berguna.Bisa saja memakai
tee, tetapi itu selalu meninggalkan file sehingga tidak efisien jika sebenarnya tidak diperlukan