Mengaktifkan dan memaksimalkan syntax highlighting nano: menjelajahi daftar bahasa bawaan di /usr/share/nano, memahami deteksi otomatis berdasarkan ekstensi dan shebang, memaksa syntax dengan -Y, serta menyalakan highlighting untuk file config dan script agar kesalahan langsung terlihat

Setelah di episode 8 kalian mengatur nomor baris dan wrap, saatnya menghadirkan warna: syntax highlighting. Teks polos membuat kesalahan ketik di config sulit terlihat — tanda kutip yang tidak sepasang atau blok yang tidak ditutup baru ketahuan saat service gagal start. Dengan highlighting, kesalahan semacam itu muncul sebagai teks berwarna salah.
Mengapa episode ini penting? Karena hampir semua file yang kalian edit sebagai sysadmin adalah config atau script — dan membaca keduanya jauh lebih cepat dengan warna. Episode 22 nanti akan menulis definisi syntax sendiri; episode ini membahas memakai yang sudah ada.
Nano dikirim dengan puluhan definisi syntax di direktori syntax:
ls /usr/share/nano/Contoh yang paling sering dipakai sysadmin:
nginx.nanorc python.nanorc yaml.nanorc
apache.nanorc shell.nanorc json.nanorc
sh.nanorc ruby.nanorc sql.nanorc
man.nanorc c.nanorc systemd.nanorcBila direktori di atas kosong di distro kalian (beberapa distro memisahkan paketnya), install paket syntax tambahan:
sudo apt install nano-tiny # tidak — ini versi mini
sudo apt install nano # Debian/Ubuntu sudah termasuk /usr/share/nanoDi Debian/Ubuntu, definisi syntax ada di paket nano itu sendiri. Di Fedora/RHEL, ada di nano-default-editor atau paket nano. Jika ls kosong, cek dengan rpm -ql nano | grep nanorc.
Nano memilih syntax berdasarkan dua sinyal, secara berurutan:
.conf, .py, .json, dan pola yang didefinisikan di syntax "name" ... "*.py".#!/bin/bash dipetakan ke syntax shell.nano deploy.sh → syntax shell (dari shebang)
nano nginx.conf → syntax nginx (dari ekstensi)
nano config.yaml → syntax yaml (dari ekstensi)Tip
Untuk melihat syntax apa yang sedang aktif pada file, perhatikan title bar: nama syntax ditampilkan di antara tanda kurung, misalnya nginx.conf lalu [ nginx ]. Kalau tidak muncul, berarti tidak ada syntax yang cocok — dan M-L (dan kombinasi M-L M-L di versi baru) bisa memilih syntax secara manual.
Kadang deteksi otomatis salah — misalnya file tanpa ekstensi yang isinya JSON, atau file .txt yang sebenarnya YAML. Paksa syntax dengan opsi -Y:
nano -Y json data-tanpa-ekstensi# Di menu Choose Syntax, pilih nama syntax yang diinginkanMenekan M-L (atau F4 di versi lama) membuka menu pemilihan syntax. Ketik nama syntax yang diinginkan — file langsung di-highlight ulang.
Praktik: pastikan highlighting aktif untuk file yang paling sering kalian edit:
printf 'server {\n listen 80;\n server_name example.com;\n}\n' > ~/nano-lab/site.conf
nano -Y nginx ~/nano-lab/site.confHarus terlihat server dan listen berwarna berbeda. Untuk script shell:
printf '#!/bin/bash\nfor i in 1 2 3; do\n echo "iterasi $i"\ndone\n' > ~/nano-lab/deploy.sh
nano ~/nano-lab/deploy.shKata kunci for, do, done, dan variabel $i di-highlight — mendeteksi kesalahan ketik keyword langsung terlihat.
Warna syntax mengikuti tema yang ditentukan di nanorc. Beberapa tema bawaan bisa dicoba:
set titlecolor brightwhite,blue
set statuscolor brightwhite,greenEpisode 12 akan membahas penyesuaian tema secara lengkap. Untuk sekarang, ingat: warna adalah hasil dari aturan color per syntax + pengaturan tema global — dan keduanya hidup di nanorc.
Warning
Syntax highlighting nano tidak validasi sintaks — ia hanya mewarnai berdasarkan regex. File yang "hijau semua" belum tentu benar; jalankan linter (episode 20) untuk verifikasi nyata. Highlighting hanyalah isyarat visual, bukan jaminan kebenaran.
Pada episode 9 ini, kalian telah mengaktifkan syntax highlighting untuk file config dan script.
Inti yang harus dibawa pulang:
/usr/share/nano/*.nanorc.-Y nama memaksa syntax; M-L memilih dari dalam editor.Di episode 10 selanjutnya, kita akan membahas multi-buffer & file browser — membuka beberapa file sekaligus, berpindah antar buffer dengan M-,/M-., memakai file browser untuk memilih file, dan mengatur perilaku newbuffer di nano 9.2. Edit banyak file tanpa keluar-masuk nano!