REFERENSI CEPAT EMACS
Navigasi, editing, buffer, pencarian, org mode, paket
Navigasi
Pergerakan Kursor
| C-f / C-b | Maju / mundur satu karakter |
| M-f / M-b | Maju / mundur satu kata |
| C-n / C-p | Baris berikutnya / sebelumnya |
| C-a / C-e | Awal / akhir baris |
| M-a / M-e | Awal / akhir kalimat |
| C-v / M-v | Gulir ke bawah / atas satu halaman |
| M-< / M-> | Awal / akhir buffer |
| M-g g | Pergi ke nomor baris |
Posisi Layar
| C-l | Pusatkan layar (siklus atas/tengah/bawah) |
| C-M-l | Posisikan ulang window secara heuristik |
Editing
Kill & Yank (Cut & Paste)
| C-k | Kill hingga akhir baris |
| C-w | Kill region (cut) |
| M-w | Salin region |
| C-y | Yank (paste) |
| M-y | Siklus kill ring setelah yank |
| C-d | Hapus karakter ke depan |
| M-d | Kill kata ke depan |
| M-DEL | Kill kata ke belakang |
Undo & Transpose
| C-/ or C-_ | Undo |
| C-g C-/ | Redo (undo yang undo) |
| C-t | Transpose karakter |
| M-t | Transpose kata |
| C-x C-t | Transpose baris |
Seleksi
| C-SPC | Set mark (mulai seleksi) |
| C-x h | Pilih seluruh buffer |
| M-h | Pilih paragraf |
| C-x C-x | Tukar point dan mark |
Buffer & Window
Buffer
| C-x b | Pindah ke buffer |
| C-x C-b | Tampilkan semua buffer |
| C-x k | Kill (tutup) buffer |
| C-x LEFT / RIGHT | Buffer sebelumnya / berikutnya |
Window
| C-x 2 | Bagi window secara horizontal |
| C-x 3 | Bagi window secara vertikal |
| C-x 0 | Tutup window saat ini |
| C-x 1 | Tutup semua window lainnya |
| C-x o | Pindah ke window lain |
| C-x ^ | Perbesar window secara vertikal |
| C-x { | Perkecil window secara horizontal |
Frame
| C-x 5 2 | Buat frame baru |
| C-x 5 0 | Hapus frame saat ini |
| C-x 5 o | Pindah ke frame lain |
Pencarian & Penggantian
Pencarian Inkremental
| C-s | Cari ke depan (inkremental) |
| C-r | Cari ke belakang (inkremental) |
| C-s C-s | Ulangi pencarian terakhir ke depan |
| C-M-s | Pencarian regex ke depan |
| C-M-r | Pencarian regex ke belakang |
| RET | Keluar pencarian di posisi saat ini |
| C-g | Batal pencarian, kembali ke awal |
Penggantian
| M-% | Query replace |
| C-M-% | Query replace regexp |
| y | Ganti kecocokan ini |
| n | Lewati kecocokan ini |
| ! | Ganti semua yang tersisa |
| q | Keluar dari penggantian |
File
Operasi File
| C-x C-f | Cari (buka) file |
| C-x C-s | Simpan buffer saat ini |
| C-x C-w | Simpan sebagai (tulis ke file baru) |
| C-x s | Simpan semua buffer yang dimodifikasi |
| C-x C-r | Buka file read-only |
| C-x i | Sisipkan isi file di posisi kursor |
Dired (Directory Editor)
| C-x d | Buka direktori di Dired |
| d / x | Tandai untuk dihapus / eksekusi penghapusan |
| R | Ganti nama / pindahkan file |
| C | Salin file |
| + | Buat direktori |
| g | Refresh daftar |
Mode
Major Mode
| M-x fundamental-mode | Editing teks biasa |
| M-x text-mode | Teks dengan fill dan spell |
| M-x prog-mode | Basis untuk mode pemrograman |
| M-x python-mode | Editing dan indentasi Python |
| M-x shell-mode | Shell interaktif dalam buffer |
Minor Mode Berguna
| M-x display-line-numbers-mode | Toggle nomor baris |
| M-x auto-fill-mode | Auto-wrap pada fill column |
| M-x flyspell-mode | Pemeriksaan ejaan on-the-fly |
| M-x column-number-mode | Tampilkan kolom di mode line |
| M-x whitespace-mode | Visualisasi whitespace |
| M-x electric-pair-mode | Auto-tutup tanda kurung dan kutipan |
Dasar Org Mode
Struktur
| * / ** / *** | Tingkat heading 1 / 2 / 3 |
| TAB | Siklus visibilitas heading |
| S-TAB | Siklus visibilitas global |
| M-RET | Sisipkan heading setingkat |
| M-LEFT / M-RIGHT | Promosi / demosi heading |
| M-UP / M-DOWN | Pindahkan subtree ke atas / bawah |
TODO & Checkbox
| C-c C-t | Siklus status TODO |
| C-c C-d | Set deadline |
| C-c C-s | Jadwalkan item |
| C-c C-c | Toggle checkbox [ ] / [X] |
| C-c a | Buka tampilan agenda |
Link & Ekspor
| C-c C-l | Sisipkan / edit link |
| C-c C-o | Buka link di posisi kursor |
| C-c C-e | Dispatcher ekspor (HTML, PDF, dll.) |
Manajemen Paket
package.el
| M-x list-packages | Jelajahi paket yang tersedia |
| i / d / x | Tandai install / hapus / eksekusi |
| U | Tandai semua yang bisa diupgrade |
| M-x package-refresh-contents | Refresh daftar paket |
use-package (init.el)
(use-package magit
:ensure t
:bind ("C-x g" . magit-status))
(use-package company
:ensure t
:hook (prog-mode . company-mode))
Konfigurasi
File Konfigurasi Utama
| ~/.emacs.d/init.el | File konfigurasi utama |
| ~/.emacs.d/early-init.el | Inisialisasi awal (sebelum GUI, Emacs 27+) |
| ~/.emacs.d/custom.el | Pengaturan yang ditulis oleh Customize |
Pengaturan Umum
(setq inhibit-startup-screen t)
(tool-bar-mode -1)
(set-face-attribute 'default nil :height 120)
(global-display-line-numbers-mode 1)
(setq make-backup-files nil)
Sistem Bantuan
| C-h k | Deskripsikan key binding |
| C-h f | Deskripsikan fungsi |
| C-h v | Deskripsikan variabel |
| C-h m | Deskripsikan mode saat ini |
| C-h t | Buka tutorial Emacs |
| C-h i | Buka dokumentasi Info |
Pola Umum
Editing Persegi
| C-x SPC | Mulai mode mark persegi |
| C-x r k | Kill persegi |
| C-x r y | Yank persegi |
| C-x r t | Ganti persegi dengan string |
| C-x r o | Sisipkan persegi kosong |
Macro
| C-x ( | Mulai rekam macro |
| C-x ) | Hentikan rekam macro |
| C-x e | Eksekusi macro terakhir |
| C-u 10 C-x e | Eksekusi macro 10 kali |
| M-x name-last-kbd-macro | Beri nama macro untuk digunakan ulang |
Shell & Eval
| M-x shell | Buka shell dalam buffer |
| M-x eshell | Shell Emacs Lisp |
| M-! | Jalankan perintah shell |
| M-x eval-buffer | Evaluasi seluruh buffer sebagai Elisp |
| C-x C-e | Evaluasi ekspresi Elisp sebelum kursor |