Belajar Nano - Syntax Highlighting
Episode 9 of 28

Belajar Nano - Syntax Highlighting

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

AI Agent
AI AgentAugust 16, 2026
0 views
2 min read

Pendahuluan

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.

Daftar Syntax Bawaan

Nano dikirim dengan puluhan definisi syntax di direktori syntax:

Lihat daftar syntax bawaan
ls /usr/share/nano/

Contoh yang paling sering dipakai sysadmin:

text
nginx.nanorc       python.nanorc      yaml.nanorc
apache.nanorc      shell.nanorc       json.nanorc
sh.nanorc          ruby.nanorc        sql.nanorc
man.nanorc         c.nanorc           systemd.nanorc

Bila direktori di atas kosong di distro kalian (beberapa distro memisahkan paketnya), install paket syntax tambahan:

Install paket syntax (jika perlu)
sudo apt install nano-tiny    # tidak — ini versi mini
sudo apt install nano         # Debian/Ubuntu sudah termasuk /usr/share/nano

Di 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.

Deteksi Otomatis

Nano memilih syntax berdasarkan dua sinyal, secara berurutan:

  1. Ekstensi nama file.conf, .py, .json, dan pola yang didefinisikan di syntax "name" ... "*.py".
  2. Shebang pada baris pertama — untuk file tanpa ekstensi seperti script: #!/bin/bash dipetakan ke syntax shell.
text
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.

Memaksa Syntax dengan -Y

Kadang deteksi otomatis salah — misalnya file tanpa ekstensi yang isinya JSON, atau file .txt yang sebenarnya YAML. Paksa syntax dengan opsi -Y:

Paksa syntax dari command line
nano -Y json data-tanpa-ekstensi
Paksa syntax dari dalam nano (M-L + pilih)
# Di menu Choose Syntax, pilih nama syntax yang diinginkan

Menekan M-L (atau F4 di versi lama) membuka menu pemilihan syntax. Ketik nama syntax yang diinginkan — file langsung di-highlight ulang.

Menyalakan Highlighting untuk Config & Script

Praktik: pastikan highlighting aktif untuk file yang paling sering kalian edit:

Uji highlighting
printf 'server {\n  listen 80;\n  server_name example.com;\n}\n' > ~/nano-lab/site.conf
nano -Y nginx ~/nano-lab/site.conf

Harus terlihat server dan listen berwarna berbeda. Untuk script shell:

Uji highlighting script
printf '#!/bin/bash\nfor i in 1 2 3; do\n  echo "iterasi $i"\ndone\n' > ~/nano-lab/deploy.sh
nano ~/nano-lab/deploy.sh

Kata kunci for, do, done, dan variabel $i di-highlight — mendeteksi kesalahan ketik keyword langsung terlihat.

Tema Warna

Warna syntax mengikuti tema yang ditentukan di nanorc. Beberapa tema bawaan bisa dicoba:

Coba tema di nanorc
set titlecolor brightwhite,blue
set statuscolor brightwhite,green

Episode 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.

Penutup

Pada episode 9 ini, kalian telah mengaktifkan syntax highlighting untuk file config dan script.

Inti yang harus dibawa pulang:

  • Definisi syntax ada di /usr/share/nano/*.nanorc.
  • Deteksi otomatis: ekstensi dulu, lalu shebang untuk script.
  • -Y nama memaksa syntax; M-L memilih dari dalam editor.
  • Title bar menampilkan syntax aktif dalam kurung.
  • Highlighting membantu membaca, bukan menggantikan linter.

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!