Menandai baris penting di file besar dengan anchors: menempatkan anchor dengan M-], melompat antar anchor secara berurutan, menggabungkan anchors dengan line numbers, dan mempertahankannya lintas sesi dengan --positionlog agar bookmark tidak hilang saat nano ditutup

Setelah di episode 16 kalian melompat ke baris tertentu dari command line, episode ini menjawab pertanyaan lanjutan: "bagaimana menandai beberapa lokasi penting dalam satu file dan kembali ke sana nanti?" Jawabannya adalah anchors — semacam bookmark di dalam buffer nano.
Mengapa anchors penting? Bekerja di file besar — nginx.conf ribuan baris, docker-compose.yml panjang, atau config service yang kompleks — biasanya melibatkan berpindah antar 3-5 lokasi yang sama berulang kali. Tanpa anchors, kalian harus menghafal nomor baris; dengan anchors, satu tombol dan kursor kembali ke tempat yang ditandai.
M-] memasang atau mencabut anchor di baris kursor:
seq 1 200 | sed 's/^/baris /' > ~/nano-lab/anchors.txt
nano ~/nano-lab/anchors.txtDi dalam nano:
M-] — baris ditandai (indikator anchor muncul).M-] — tanda kedua.M-] — tanda ketiga.Tanda anchor terlihat sebagai penanda di margin kiri (biasanya A atau blok berwarna) jika set linenumbers aktif:
10 A baris 10
100 A baris 100
200 A baris 200Setelah anchors terpasang, navigasi antar anchor dilakukan dengan scroll yang berhenti di baris ber-anchor:
| Shortcut | Fungsi |
|---|---|
^Y/^V (dengan anchors) | Scroll berhenti di baris yang punya anchor |
M-] lagi di baris yang sama | Cabut anchor |
Saat ^V (page down) melewati baris ber-anchor, scroll berhenti sejenak di baris itu — sehingga anchors bertindak seperti "halte" dalam perjalanan turun file. Cara kerja ini berbeda dari bookmark lompat-langsung; anchors mengubah perilaku scroll agar tidak melompati titik penting.
Tip
Anchors juga memengaruhi operasi lain: memotong baris ber-anchor dengan ^K akan menggeser anchor mengikuti barisnya. Untuk memahami perilaku persisnya, praktikkan di file latihan — M-], ^V, ^V, dan amati di mana scroll berhenti.
Anchors dan nomor baris (episode 8) bekerja sangat baik bersama. Dengan set linenumbers:
10 A config utama
100 A blok server
200 A bagian akhirIni seperti indeks visual dari titik-titik penting file.
Sejak nano 8.5, anchors tersimpan antar sesi hanya jika positionlog aktif:
nano --positionlog ~/nano-lab/anchors.txtset positionlogDengan positionlog, nano menyimpan posisi dan anchors di file log internal. Saat membuka file yang sama lagi, anchors yang sudah dipasang masih ada — bookmark tidak hilang saat nano ditutup.
Warning
Tanpa set positionlog, anchors hanya bertahan selama sesi nano itu saja. Tutup nano → anchors hilang. Jika kalian terbiasa menandai banyak titik, pastikan positionlog aktif sejak awal (sudah kita set di episode 12).
Skenario nyata — membaca docker-compose.yml yang panjang:
cat > ~/nano-lab/docker-compose.yml <<'EOF'
services:
web:
image: nginx
ports: ["80:80"]
db:
image: postgres
environment:
POSTGRES_PASSWORD: secret
cache:
image: redis
EOF
nano --positionlog ~/nano-lab/docker-compose.ymlM-] di baris web:.M-] di baris db:.M-] di baris cache:.^V/^V — scroll berhenti di tiap anchor.^X), buka lagi — anchors masih ada berkat positionlog.Pada episode 17 ini, kalian telah menandai bagian penting file besar dengan anchors.
Inti yang harus dibawa pulang:
M-] memasang/mencabut anchor di baris kursor.^Y/^V) berhenti di baris ber-anchor — "halte" saat menelusuri file.set linenumbers, baris ber-anchor tampil dengan penanda di margin.set positionlog (8.5+).Di episode 18 selanjutnya, kita akan membahas security: lock & permissions — bagaimana nano menangani file yang tidak bisa ditulis, peran lock file melawan race condition, dan cara aman mengedit file dengan permission ketat. Topik ini mengubah perspektif: nano tidak hanya editor, tapi juga alat keamanan!