Menghubungkan nano dengan clipboard sistem: memahami protokol OSC 52 yang didukung nano 8.7+, memakai || di Execute prompt untuk menempel dari clipboard, serta copy-paste antar terminal dan aplikasi lain dengan dukungan terminal yang tepat

Sampai episode 18, clipboard nano adalah cut buffer internal — teks tidak bisa keluar dari nano. Episode ini mengubah itu: OSC 52. Sejak nano 8.7 (Februari 2026), nano bisa menempel dari clipboard sistem — artinya kalian bisa copy teks dari browser atau IDE di laptop, lalu paste langsung ke nano di dalam SSH, dan sebaliknya.
Mengapa ini penting? Selama bertahun-tahun, memindahkan teks antara aplikasi GUI dan sesi SSH adalah ritual menyakitkan: catat, salin, tempel manual. OSC 52 menjembatani keduanya dengan satu protokol terminal yang sudah didukung luas di 2026.
OSC 52 adalah escape sequence terminal untuk membaca/menulis clipboard sistem:
ESC ] 52 ; <selection> ; <base64-data> BELArtinya: terminal (yang memproses sequence ini) yang bertindak sebagai jembatan ke clipboard sistem — bukan aplikasi di dalamnya. Selama terminal kalian mendukung OSC 52 dan mengizinkannya, aplikasi di dalamnya (termasuk nano) bisa menempel dari clipboard dengan satu perintah.
Di nano 8.7+, cara termudah menempel dari clipboard sistem adalah dua karakter pipe || di Execute prompt:
^T → Execute command prompt
ketik: ||
Enter → isi clipboard ditempel ke bufferPraktik:
nano ~/nano-lab/clipboard.txt^T, ketik ||, Enter.Tip
|| bekerja seperti "tempel sebagai perintah" — nano tidak mengeksekusi apa pun, ia hanya menempatkan isi clipboard ke dalam buffer. Ini berbeda dari ^T biasa yang menjalankan perintah. Bila clipboard kalian berisi teks dengan baris baru, || menempelkannya apa adanya.
OSC 52 butuh dukungan terminal — tidak semua terminal mengizinkannya (beberapa memblokir karena alasan keamanan clipboard). Yang mendukung dengan baik di 2026:
| Terminal | Dukungan OSC 52 |
|---|---|
| Kitty | Ya, lengkap |
| Alacritty | Ya (tambahkan [terminal] osc52 di config) |
| WezTerm | Ya, default |
| Windows Terminal | Ya (dengan config khusus) |
| GNOME Terminal / VTE | Ya (belakangan) |
| iTerm2 (macOS) | Ya |
Cek cepat dukungan terminal kalian:
printf '\033]52;c;SGVubnVsb3Ah\a'Jika terminal mendukung, clipboard kalian berisi Hennuloh!. Di Kitty/WezTerm ini bekerja langsung; di Alacritty, pastikan osc52 diaktifkan di alacritty.toml:
[terminal]
osc52 = trueOSC 52 juga memungkinkan arah sebaliknya — menyalin dari nano ke clipboard. Di nano, kombinasikan dengan fungsi execute:
M-A + seleksi.^T, ketik command yang memakai clipboard.Perlu diingat: nano 8.7+ menempel via ||; untuk mengirim teks ke clipboard, perintah eksternal yang memanfaatkan OSC 52 (misalnya helper clipboard.sh) bisa dipanggil lewat ^T. Contoh helper minimal:
#!/bin/bash
# salin stdin ke clipboard via OSC 52
printf '\033]52;c;%s\a' "$(base64 -w0)"^T → jalankan: ~/bin/osc52-copy.shWarning
Beberapa terminal memblokir pembacaan clipboard dari aplikasi (menganggapnya risiko keamanan) meski mengizinkan penulisan. Jika || tidak menghasilkan apa-apa, kemungkinan besar terminal menolak operasi itu — cek dokumentasi terminal kalian, atau pakai workaround xclip/wl-copy untuk arah copy-out.
Skenario paling berguna di dunia nyata:
^T, ||, Enter — config langsung masuk.|| menariknya.Latihan gabungan:
nano ~/nano-lab/clipboard.txt^T + || untuk menempel.^T.Pada episode 19 ini, kalian telah menghubungkan nano dengan clipboard sistem.
Inti yang harus dibawa pulang:
^T lalu || menempelkan isi clipboard ke buffer.osc52 = true), WezTerm, Windows Terminal.xclip/wl-copy.Di episode 20 selanjutnya, kita akan membahas linter & spell check — memvalidasi script dengan ^T ^Y, memeriksa ejaan dengan ^T ^S dan --speller, serta mengintegrasikan nano dengan tools eksternal. Editor yang pintar adalah editor yang tahu kode kalian salah sebelum service restart!