Belajar Nano - Macros & Automation
Series/Belajar Nano/Episode 21
Episode 21 of 28

Belajar Nano - Macros & Automation

Mengotomasi edit berulang di nano: merekam rangkaian operasi dengan M-: lalu memutarnya dengan M-;, menggabungkan macro dengan search untuk menerapkan perubahan di banyak tempat, dan menyusun macro yang bisa dipakai berulang untuk tugas berulang

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

Pendahuluan

Setelah di episode 20 kalian menjalankan linter dari dalam nano, kita masuk ke fitur yang paling terasa "magis": macros. Macro adalah rangkaian keystroke yang direkam dan bisa diputar ulang — satu kali rekam, seratus kali pakai. Ini adalah gerbang pertama menuju otomasi editing di dalam nano.

Mengapa macro penting? Pekerjaan sysadmin penuh dengan tugas berulang: mengubah indentasi 50 baris, menambahkan sudo di awal 20 baris command, atau memberi prefix baris pada blok config. Dengan macro, semua itu menjadi satu tombol.

Konsep Macro

Macro nano bekerja seperti voice recorder: nano mencatat setiap keystroke selama perekaman, lalu "memainkan kembali" keystroke yang sama saat macro diputar.

text
M-:   →  mulai merekam
<operasi>   →  nano mencatat semua keystroke
M-;   →  berhenti merekam (dan siap diputar)
M-;   →  putar ulang macro
Siapkan file latihan macro
printf 'app=dev\ndb=local\ncache=redis\n' > ~/nano-lab/macro.txt
nano ~/nano-lab/macro.txt

Merekam dan Memutar Macro Pertama

Mari rekam macro yang mengganti = dengan = (spasi sekitar tanda sama dengan):

  1. Kursor di baris pertama, tekan M-: — mulai merekam (indikator R muncul di status bar jika set stateflags aktif).
  2. ^A (awal baris).
  3. ^W, ketik =, Enter — kursor ke tanda =.
  4. Ketik = — tanda sama dengan jadi ber-spasi.
  5. ^E (akhir baris), ^N (baris berikutnya).
  6. Tekan M-; — perekaman berhenti.
  7. Tekan M-; lagi — macro diputar: baris kedua ikut berubah.

Hasilnya:

text
app = dev
db = local          ← ikut berubah oleh macro
cache = redis

Macro + Search: Terapkan di Banyak Tempat

Kombinasi paling ampuh: macro yang berakhir dengan search, sehingga setiap putaran melompat ke kemunculan berikutnya. Ini pola global edit:

Rekam macro yang "ubah kemunculan berikutnya":

  1. M-: mulai rekam.
  2. ^W, ketik pola, Enter.
  3. Lakukan edit pada teks di lokasi itu.
  4. Rekam juga M-W (cari lagi) di akhir macro.
  5. M-; berhenti.

Sekarang setiap M-; mengedit satu kemunculan dan melompat ke kemunculan berikutnya — tekan M-; berulang sampai tidak ada lagi.

Tip

Gabungan macro + search menggantikan sebagian besar replace manual: kalian punya kendali visual atas setiap perubahan (beda dengan replace global A yang buta). Untuk perubahan yang butuh penilaian per-lokasi, macro + search adalah cara paling aman.

Memberi Indentasi Blok dengan Macro

Contoh nyata lain — menambahkan indentasi ke baris yang diawali tanda komentar:

  1. M-: mulai rekam.
  2. ^A (awal baris).
  3. Ketik # — prefix komentar.
  4. ^E, ^N — ke baris berikutnya.
  5. M-; berhenti.

Putar M-; beberapa kali untuk memberi # pada banyak baris berurutan.

Batas dan Tips Macro

Beberapa hal yang perlu diketahui:

  • Macro tidak bisa disimpan permanen di nanorc — hanya bertahan satu sesi. Untuk otomasi permanen, gunakan bind ke fungsi (episode 13) atau tool eksternal (episode 23).
  • Macro merekam keystroke, bukan hasil — jadi macro "cari X" mencarinya lagi setiap putaran, bukan memakai lokasi lama. Ini sebenarnya keunggulan untuk pengulangan.
  • Selama perekaman, hindari operasi yang posisinya relatif acak (misalnya ^C untuk melihat posisi) karena akan ikut terekam.
  • M-: saat sudah merekam akan membatalkan perekaman.

Warning

Macro yang salah rekam akan mengulang kesalahan yang sama berkali-kali. Selalu coba satu putaran macro dulu di file latihan (atau file yang sudah ada backup-nya) sebelum memakainya di file penting. Undo M-U tetap bisa membatalkan hasil macro.

Praktik: Otomasi Edit Berulang

Skenario nyata — file dengan banyak variabel yang harus diberi tanda kutip:

File latihan otomasi
printf 'host=10.0.0.1\nuser=admin\npass=rahasia\n' > ~/nano-lab/config.env
nano ~/nano-lab/config.env

Rekam macro yang mengubah host=10.0.0.1 menjadi host="10.0.0.1":

  1. M-:
  2. ^W, ketik 10.0.0.1, Enter.
  3. ^A, ^F (maju satu karakter melewati =), ketik ".
  4. ^E, M-B (mundur satu kata, di depan 1), ketik ".
  5. M-; berhenti.

Putar M-; — satu kemunculan berubah. Lanjutkan untuk semua nilai yang perlu dikutip.

Penutup

Pada episode 21 ini, kalian telah mengotomasi edit berulang dengan macro.

Inti yang harus dibawa pulang:

  • M-: mulai merekam; M-; berhenti lalu memutar; M-; lagi untuk putar ulang.
  • Macro merekam keystroke, bukan hasil — cocok untuk pengulangan.
  • Macro + search = edit terkontrol di banyak lokasi sekaligus.
  • Macro tidak persisten — otomasi permanen lewat bind/tool eksternal.
  • Uji satu putaran dulu sebelum dipakai di file penting.

Di episode 22 selanjutnya, kita akan membahas custom syntax definitions — menulis blok syntax dan color sendiri di nanorc untuk bahasa atau format internal kalian, memahami header/color/keyword/comment rules, dan menghadirkan highlighting untuk file yang tidak didukung bawaan. Ini puncak kustomisasi visual nano!