Memetakan ulang shortcut nano sesuai kebiasaan pribadi: memahami sintaks bind dan unbind di nanorc, memakai nama fungsi dan urutan tombol yang benar, menangani konflik binding yang dirambahkan, serta membuat kombinasi shortcut baru untuk operasi yang sering dipakai

Setelah di episode 12 kalian menyimpan pengaturan di nanorc, satu pintu lagi menuju kustomisasi penuh: rebinding keys. Nano memungkinkan shortcut bawaan diganti, ditambah, atau dihapus lewat direktif bind dan unbind. Kalau kalian terbiasa dari editor lain dan ingin M-s untuk menyimpan, atau ingin ^G memanggil fungsi lain — semua bisa diatur.
Mengapa rebinding penting? Karena kebiasaan tangan (muscle memory) adalah aset terbesar pengguna editor. Memetakan shortcut yang sering dipakai ke posisi yang nyaman membuat editing puluhan kali lebih cepat. Namun ada aturan mainnya — dan melanggarnya membuat config kalian tidak berfungsi.
bind membutuhkan tiga bagian: key, fungsi, dan menu tempat binding berlaku.
bind ^G gotofile mainArti: di menu utama, ^G (biasanya help) kini menjalankan gotofile. Format lengkap:
bind <key> <function> <menu>Nama fungsi yang valid bisa dilihat dari help nano (^G) atau man nanorc. Contoh fungsi yang sering di-rebind:
| Fungsi | Efek |
|---|---|
savefile | Simpan file saat ini |
findnext | Cari kemunculan berikutnya |
gotoline | Pergi ke baris tertentu |
cuttext | Potong teks |
paste | Tempel teks |
scrollup / scrolldown | Geser viewport |
unbind menghapus binding — berguna untuk membebaskan tombol yang akan dipakai fungsi lain, atau menonaktifkan shortcut berbahaya.
unbind ^X mainPerhatian: menghapus ^X di menu utama membuat kalian tidak bisa keluar lewat kombinasi itu di mode utama — di menu lain (misalnya search) binding-nya tetap ada. unbind-all menghapus semua binding di sebuah menu:
unbind-all mainWarning
unbind-all main membuat nano hampir tidak berguna — semua shortcut inti (^O, ^W, ^X) hilang dari menu utama. Gunakan hanya untuk eksperimen di mesin latihan, atau kombinasikan dengan bind ulang yang lengkap.
Sintaks tombol di nanorc:
| Notasi | Tombol |
|---|---|
^X | Ctrl + X |
M-X | Alt + X (Meta) |
F1 ... F16 | Tombol fungsi |
Ins, Del | Insert / Delete |
Up, Down, Left, Right | Tombol panah |
Sejak nano 9.0-9.1, lebih banyak tombol yang bisa di-rebind — termasuk kombinasi seperti M-Left/M-Right, M-Ins/M-Del, dan beberapa tombol lain yang sebelumnya terkunci. Cek dukungan build kalian dengan:
nano --version | grep -i rebindSaat binding baru bertabrakan dengan fungsi lain, perilakunya ditentukan oleh urutan bind di nanorc — binding yang terakhir ditulis menang. Perhatikan contoh:
bind ^W gotoline main # ^W jadi goto line
bind ^W whereis main # lalu diganti lagi: ^W kembali searchHasil akhir: ^W = whereis (binding terakhir menang). Untuk menghindari kejutan, gunakan urutan yang disengaja: unbind dulu, lalu bind.
Tip
Saat ragu binding mana yang aktif, tekan ^G (Help) dan baca daftar shortcut yang sebenarnya — help selalu menampilkan binding efektif setelah semua nanorc diterapkan, bukan default. Ini cara tercepat memverifikasi config.
Mari buat shortcut yang mengikuti kebiasaan umum (menyerupai editor modern) tanpa mengorbankan default:
unbind ^E main
bind ^E endofline main # ^E → akhir baris (default ^E sudah begitu)
bind M-S savefile main # M-S → simpan cepat
bind ^G gotoline main # ^G → lompat baris (help pindah ke F1)Catatan: contoh di atas mengganti perilaku default — kalian harus yakin dengan pilihan ini. Cara yang lebih aman adalah menambah shortcut baru untuk fungsi yang belum punya key:
bind F9 savefile main # F9 → simpan
bind F10 gotofile main # F10 → goto filenano -Q -h 2>&1 | head -5 # pastikan tidak ada error nanorc
nano ~/nano-lab/hello.txt # coba F9 → harus menyimpanJika F9 menyimpan file tanpa prompt, rebinding berhasil.
Pada episode 13 ini, kalian telah memetakan ulang shortcut nano sesuai kebutuhan pribadi.
Inti yang harus dibawa pulang:
bind <key> <function> <menu> memetakan shortcut; unbind menghapusnya.man nanorc; key memakai notasi ^, M-, F, atau nama tombol.unbind dulu agar jelas.^G menampilkan binding efektif setelah semua nanorc.nano --version.Di episode 14 selanjutnya, kita akan membahas backup & file locking — mengaktifkan --backup agar versi lama tersimpan, memahami lock file gaya vim (.swp), dan strategi pemulihan saat nano mati paksa. Keamanan data adalah fondasi sysadmin yang tidak boleh ditawar!