Menghubungkan nano dengan file dan perintah eksternal: menyisipkan isi file lain dengan ^R, memuat output command langsung ke buffer, menjalankan linter dan spell checker lewat ^T, memformat teks dengan M-F, serta mengirim teks terpilih ke perintah eksternal untuk diproses

Setelah di episode 10 kalian membuka banyak buffer, kini kita menyambungkan nano dengan dunia luar: file lain dan perintah eksternal. Bayangkan harus menempelkan output df -h ke dalam catatan, memformat blok JSON, atau menjalankan spell check — semua bisa dilakukan tanpa keluar dari nano lewat dua pintu: ^R untuk membaca (file atau command) dan ^T untuk mengeksekusi.
Mengapa ini penting? Karena editor terminal terbaik adalah editor yang tidak memaksa kalian keluar-masuk untuk setiap tugas kecil. Episode ini juga fondasi untuk episode 20 (linter & spell check) dan episode 23 (pager & stdin).
^R (Read File) menyisipkan isi file lain ke posisi kursor:
File to insert into current buffer: path/to/fileKetik path (atau gunakan file browser ^T), Enter — isi file ditambahkan di posisi kursor, tepat di baris kursor.
printf 'opsi_bagian = on\nopsi_lain = off\n' > ~/nano-lab/bagian.conf
printf 'opsi_utama = aktif\n' > ~/nano-lab/utama.conf
nano ~/nano-lab/utama.confDi dalam nano, pindah ke akhir, tekan ^R, ketik ~/nano-lab/bagian.conf, Enter — isi bagian.conf menyusul di bawah.
Tip
Dari menu Read File, M-F mengubah perilakunya: alih-alih menyisipkan ke buffer aktif, file dibuka sebagai buffer baru (seperti episode 10). Ini dua mode berbeda dari pintu masuk yang sama.
^R tidak hanya menerima file — ia juga menerima output perintah. Dari prompt Read File, tekan ^X untuk berganti ke mode command:
Command to insert into current buffer: df -hOutput df -h dimuat langsung ke buffer di posisi kursor. Ini cara cepat menangkap hasil diagnostik ke dalam catatan atau laporan insiden.
^T (Execute) menjalankan perintah eksternal terhadap teks terpilih. Ada dua mode:
M-A + seleksi): teks terpilih dikirim ke stdin command, dan output command menggantikan teks terpilih.printf '{\n"nama":"dev","umur":30\n}\n' > ~/nano-lab/data.json
nano ~/nano-lab/data.jsonTandai seluruh isi dengan M-A lalu M->, tekan ^T, ketik jq ., Enter — JSON digantikan versi terformat dari jq.
Nano 8.x+ punya fungsi formatter: M-F menjalankan perintah pemformat yang dikonfigurasi untuk syntax aktif. Perintah formatter default datang dari definisi syntax atau set formatter:
syntax "json" "\.json$"
formatter "jq ."M-F → jalankan formatter pada buffer (atau teks terpilih)Karena formatter berjalan dari dalam nano, kalian langsung melihat hasilnya di buffer — tanpa keluar, tanpa copy-paste manual.
Note
Detail lengkap pengaturan formatter per bahasa akan kita bahas di episode 20 dan 22. Untuk sekarang, ingat pola: ^T untuk command ad-hoc, M-F untuk formatter terdaftar.
^T juga menjadi pintu ke perintah linter dan spell checker yang sudah terdaftar:
| Kombinasi | Fungsi |
|---|---|
^T ^S | Jalankan spell check (menggunakan --speller) |
^T ^Y | Jalankan syntax check / linter |
^T ^O | Jalankan formatter |
Kombinasi ini adalah singkatan dari perintah yang dikonfigurasi di nanorc — kita bedah lengkap di episode 20.
nano ~/nano-lab/utama.conf^R, ^X, ketik ls -la ~/nano-lab/, Enter — daftar file masuk ke buffer.M-A, seleksi beberapa baris, ^T, ketik sort, Enter — baris terurut.^O untuk menyimpan, ^X keluar.Pada episode 11 ini, kalian telah menghubungkan nano dengan file dan perintah eksternal.
Inti yang harus dibawa pulang:
^R menyisipkan isi file; dari prompt-nya ^X berganti ke mode command.^T menjalankan perintah eksternal; dengan mark aktif, teks terpilih jadi input dan digantikan outputnya.M-F menjalankan formatter yang terdaftar untuk syntax aktif.^T ^S/^T ^Y/^T ^O memanggil speller, linter, dan formatter.Di episode 12 selanjutnya, kita mulai konfigurasi permanen: nanorc — konfigurasi dasar — membuat ~/.nanorc, mengatur tabsize, autoindent, linenumbers, mouse, dan smooth, serta memahami hierarki /etc/nanorc vs ~/.nanorc. Semua pengaturan ad-hoc di episode 8-11 akhirnya disimpan permanen!