Belajar Emacs - Navigasi & Editing Dasar
Episode 5 of 30

Belajar Emacs - Navigasi & Editing Dasar

Menguasai gerakan navigasi dasar Emacs: C-f/b/n/p untuk karakter & baris, M-f/b untuk loncat kata, C-a/e untuk awal-akhir baris, lalu editing dengan mark & region (C-SPC, C-w, M-w, C-y), undo C-/, dan pola repeat untuk memindahkan seluruh operasi editing ke keyboard.

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

Pendahuluan

Setelah paham buffer & window, kini saatnya gerakan tangan — otot yang akan kalian pakai 8 jam sehari. Episode 5 adalah fase pembiasaan: semua navigasi dan editing dasar dipindahkan dari mouse ke keyboard.

Kenapa harus keyboard penuh? Karena setiap kali tangan meninggalkan posisi mengetik, ada biaya 0,5-1 detik mental dan fisik. Kalikan dengan 50 kali per jam, dan kalian kehilangan puluhan menit per hari. Emacs tidak memaksa — tapi ia memberikan alat agar kalian bisa. Episode ini melatih otot-otot itu.

Empat gerakan paling dasar — ingat C-f/b untuk karakter, C-n/p untuk baris:

ShortcutAksiAnalogi
C-fMaju satu karakter (forward)Panah kanan
C-bMundur satu karakter (backward)Panah kiri
C-nTurun satu baris (next)Panah bawah
C-pNaik satu baris (previous)Panah atas

Lakukan di dalam Emacs, bukan di browser. C-n dan C-p tidak berpindah ke akhir baris pendek seperti arrow — mereka mempertahankan kolom. Perhatikan bedanya: kalian akan melihat pointer melompati akhir baris secara "pintar".

Level berikutnya — gerakan yang jauh lebih cepat untuk teks nyata:

ShortcutAksi
M-fMaju satu kata (forward-word)
M-bMundur satu kata (backward-word)
C-aKe awal baris (beginning-of-line)
C-eKe akhir baris (end-of-line)
M-aKe awal kalimat
M-eKe akhir kalimat
M-<Ke awal buffer
M->Ke akhir buffer

Note

M-< dan M-> — dalam prose ini ditulis dengan tanda lebih-kecil/lebih-besar — adalah shortcut ke awal & akhir seluruh buffer. Di banyak keyboard, M-< adalah Alt+Shift+, dan M-> adalah Alt+Shift+. Tiga gerakan ini (M-f, M-b, C-a/e) saja sudah menghilangkan 80% kebutuhan mouse untuk membaca kode.

Scroll & Loncat

text
C-v        →  scroll satu layar ke bawah
M-v        →  scroll satu layar ke atas
M-g g      →  go to line (prompt nomor baris)
M-<        →  ke awal buffer
M->        →  ke akhir buffer

M-g g sangat penting untuk membaca log atau stacktrace yang menyebut "line 145". Ketik M-g g 145 RET dan kalian langsung di sana.

Mark & Region: Konsep "Selection" Emacs

"Selection" di Emacs disebut region: teks di antara mark dan point. Alur kerjanya berbeda dari klik-tahan-drag:

text
C-SPC  →  set mark di posisi sekarang
(gerak ke tempat lain — region tervisualisasi)
C-w    →  kill (potong) region
M-w    →  copy region
C-y    →  yank (tempel) yang terakhir di-kill

Region yang Tersembunyi

Region Emacs lebih dari sekadar blok teks: Emacs 30 menampilkan region dengan highlight, dan region aktif hanya sementara. Jika kalian C-g atau memindahkan point tanpa melakukan apa-apa, region "mati" — tapi mark masih ada. Ini membuat Emacs bisa melakukan operasi region setelah berpindah, tanpa drag ulang.

Contoh alur tanpa drag: C-SPC di awal paragraf, M-> untuk ke akhir buffer, C-w untuk memotong semuanya. Satu gerakan seleksi yang tidak bisa ditiru editor lain.

Kill & Yank vs Cut & Paste

Perbedaan halus tapi penting: kill/yank memakai kill-ring — sejarah potongan, bukan satu clipboard. C-y menempelkan yang terbaru; M-y mengganti dengan potongan yang lebih lama:

text
C-y    →  paste item terbaru dari kill-ring
M-y    →  ganti dengan item sebelumnya di kill-ring

Undo & Repeat

Undo

text
C-/    →  undo  (juga C-_ atau C-x u)

Undo Emacs bersifat buffer-lokal — meng-undo di buffer A tidak memengaruhi buffer B. Sekali lagi: karena undo state adalah bagian dari buffer, bukan global.

Tip

Kalau undo membatalkan terlalu banyak (Emacs menggabungkan beberapa edit beruntun jadi satu langkah undo), pecahkan dengan menyisipkan gerakan non-edit seperti C-g atau C-f di antara edit. Di episode 23, paket undo-tree atau vundo memberikan visualisasi branch undo yang jauh lebih baik.

Repeat: Angka Prefix

Hampir semua perintah bisa diulang dengan angka prefix:

text
C-u 5 C-f     →  maju 5 karakter
C-u 3 C-n     →  turun 3 baris
C-u 100 M-f   →  maju 100 kata
M-5 M-b       →  mundur 5 kata

C-u diikuti angka, atau langsung M-<digit>. Ini gerakan "greedy" yang sangat berguna untuk teks terstruktur.

Latihan: Edit Dokumen dengan Keyboard Penuh

Ambil file ~/emacs-lab/hello.txt (dari episode 3). Sekarang lakukan, tanpa mouse:

text
1. C-x C-f ~/emacs-lab/hello.txt RET
2. C-e                      →  ke akhir baris pertama
3. C-u 5 C-b                →  mundur 5 karakter
4. (ketik beberapa kata baru)
5. C-a                      →  ke awal baris
6. M-d                      →  delete kata (backward-kill-word)
7. C-/                      →  undo
8. C-SPC, gerak, C-w        →  potong satu region
9. C-y                      →  tempel di tempat lain
10. C-x C-s                 →  simpan

Jika kalian menyelesaikannya tanpa menyentuh mouse sekali pun, gerakan tangan dasar sudah tertanam.

Pitfall Editing

  • C-w di mana pun bisa memotong teks: terutama saat kalian berada di minibuffer atau buffer lain. Biasakan C-g dulu untuk memastikan region tidak aktif kalau tidak mau memotong.
  • Jangan C-x u untuk "undo window layout" — undo di Emacs 30 sudah termasuk perubahan window, jadi C-x u tidak mengembalikan layout. Gunakan C-x r w <nama> untuk menyimpan layout window.
  • M-y hanya berfungsi setelah C-y — menggantikan item yang terakhir di-yank, bukan membuka menu pilihan.

Penutup

Pada episode 5 ini, kalian telah memindahkan operasi dasar ke keyboard.

Inti yang harus dibawa pulang:

  • Navigasi: C-f/b/n/p (karakter/baris), M-f/b (kata), C-a/e (baris), M-</M-> (buffer).
  • Region: C-SPC set mark, C-w kill, M-w copy, C-y yank, M-y siklus kill-ring.
  • Undo C-/ bersifat buffer-lokal; C-u N <cmd> mengulang perintah N kali.
  • Latihan 10 langkah di atas adalah gerakan minimum harian kalian.

Di episode 6 selanjutnya, kita membahas search & replace (Isearch) — incremental search C-s/C-r, search regex, query-replace dengan M-%, dan query-replace-regexp untuk refactor kode yang aman. Sampai jumpa di episode 6!

Belajar Emacs - Navigasi & Editing Dasar | Belajar Emacs