Emacs Docs

Embed Size (px)

DESCRIPTION

Make it easier for other people to find your content by providing more information about it.

Text of Emacs Docs

  • Tutorial Emacs

    @sopier

    https://github.com/sopier/emacs_doc

    December 29, 2014

    Contents

    1 Pendahuluan 41.1 Tentang Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2 Bekerja dengan Berkas 5

    3 Dasar-dasar Navigasi 53.1 Karakter Control dan Meta . . . . . . . . . . . . . . . . . . . . 53.2 Navigasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.3 Numeric argument . . . . . . . . . . . . . . . . . . . . . . . . . 7

    4 Dasar-dasar Penyuntingan Teks 74.1 Menyorot Teks . . . . . . . . . . . . . . . . . . . . . . . . . . . 74.2 Menghapus Teks . . . . . . . . . . . . . . . . . . . . . . . . . . 84.3 Killing and Yanking . . . . . . . . . . . . . . . . . . . . . . . . 84.4 Salin dan Tempel . . . . . . . . . . . . . . . . . . . . . . . . . . 94.5 Salin Tempel Seleksi . . . . . . . . . . . . . . . . . . . . . . . . 94.6 Memotong (Cut) Teks . . . . . . . . . . . . . . . . . . . . . . . 9

    5 Mengakses Bantuan (Help) 9

    6 Buffers 106.1 ido-mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116.2 transient-mark-mode . . . . . . . . . . . . . . . . . . . . . . . . 116.3 *scratch* buffers . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    7 Bookmarks 12

    8 Registers 13

    http://twitter.com/sopier

    1

  • 9 Search and Replace 139.1 Replace String . . . . . . . . . . . . . . . . . . . . . . . . . . . 149.2 Query Replace . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    10 Modes 1510.1 Dired-Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1510.2 org-mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    10.2.1 Instalasi . . . . . . . . . . . . . . . . . . . . . . . . . . 1610.2.2 Aktifkan org-mode . . . . . . . . . . . . . . . . . . . . 1610.2.3 Navigasi Cepat . . . . . . . . . . . . . . . . . . . . . . 1610.2.4 Format Standar Dokumen Org . . . . . . . . . . . . . 1610.2.5 Promote / Demote Headline . . . . . . . . . . . . . . . 1710.2.6 Ekspor Dokumen . . . . . . . . . . . . . . . . . . . . . 1710.2.7 Expand and Collapse Tree . . . . . . . . . . . . . . . . 1710.2.8 Format Font . . . . . . . . . . . . . . . . . . . . . . . . 1810.2.9 Comment . . . . . . . . . . . . . . . . . . . . . . . . . 1810.2.10 Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1810.2.11 Partial Export . . . . . . . . . . . . . . . . . . . . . . 1910.2.12 Todo Items . . . . . . . . . . . . . . . . . . . . . . . . 1910.2.13 TODO and DONE items . . . . . . . . . . . . . . . . . 1910.2.14 Date and Time . . . . . . . . . . . . . . . . . . . . . . 2010.2.15 Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2010.2.16 Tagging . . . . . . . . . . . . . . . . . . . . . . . . . . 2110.2.17 Membuat Tabel . . . . . . . . . . . . . . . . . . . . . . 2110.2.18 Image . . . . . . . . . . . . . . . . . . . . . . . . . . . 2110.2.19 Source Code . . . . . . . . . . . . . . . . . . . . . . . . 2210.2.20 Paket fancyhdr . . . . . . . . . . . . . . . . . . . . . . 2310.2.21 Syntax Highlighting . . . . . . . . . . . . . . . . . . . 2310.2.22 Mengganti ukuran font pada table . . . . . . . . . . . 2310.2.23 Contoh Berkas Org-Mode untuk Catatan Harian . . . 24

    10.3 DocView-Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 2410.4 viper-mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    11 Menjalankan Shell dari emacs 25

    12 Tips dan Tricks 2612.1 Multiple Windows . . . . . . . . . . . . . . . . . . . . . . . . . 2612.2 Multiple Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612.3 Menggagalkan Perintah . . . . . . . . . . . . . . . . . . . . . . 2712.4 Memunculkan Menu Bantuan (Help) . . . . . . . . . . . . . . . 2712.5 Suspend Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 2812.6 Undo dan Redo . . . . . . . . . . . . . . . . . . . . . . . . . . . 2812.7 Transpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2812.8 Rectangles / Multi-Cursor . . . . . . . . . . . . . . . . . . . . . 2912.9 Melakukan Perulangan Angka . . . . . . . . . . . . . . . . . . . 3112.10 Dynamic Abbrev . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    2

  • 12.11 Hippie-expand . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3112.12 FTP atau SCP Berkas pada Dired Mode . . . . . . . . . . . . . 3212.13 Menuju ke Baris Tertentu . . . . . . . . . . . . . . . . . . . . . 3212.14 Membuat Tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . 3212.15 Membuat Tabel Latex . . . . . . . . . . . . . . . . . . . . . . . 3312.16 Keyboard Macro . . . . . . . . . . . . . . . . . . . . . . . . . . 3312.17 Lowercase, Uppercase dan Capitalize . . . . . . . . . . . . . . . 3512.18 Mengaktifkan Mode Baca (Read-Only) . . . . . . . . . . . . . . 3512.19 Memahami Mode Layar pada emacs . . . . . . . . . . . . . . . 3512.20 Menjalankan IRC Client . . . . . . . . . . . . . . . . . . . . . . 3612.21 Dari org ke tex dan PDF . . . . . . . . . . . . . . . . . . . . . . 3612.22 Memanggil Menubar pada emacs-nox . . . . . . . . . . . . . . . 3712.23 Import Tabel HTML kedalam Org-Mode . . . . . . . . . . . . . 3712.24 Access Command Line Manual (man) . . . . . . . . . . . . . . 3712.25 Access Info Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 3712.26 Melakukan Kustomisasi . . . . . . . . . . . . . . . . . . . . . . 3812.27 Merapikan Baris . . . . . . . . . . . . . . . . . . . . . . . . . . 3812.28 Lain-lain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    13 Version History 39

    3

  • 1 Pendahuluan

    Dari sekian banyak aplikasi penyunting teks jadul di keluarga Unix adalahemacs. Sama halnya dengan Vim, penyunting teks satu ini juga memiliki pengge-mar tersendiri, yang kadang karena kefanatikannya sampai terjadi war antaraemacs vs Vim. Pertanyaan yang sering muncul adalah apakah emacs dapatmelakukan ini, apakah Vim memiliki fitur ini Dalam artikel ini, penulis tidakmau terjebak dalam war tersebut, melainkan sekedar menuliskan pengalamanmenggunakan emacs, dari kacamata seorang awam.

    Salah satu alasan saya belajar emacs adalah kenyataan bahwa beberapakey bindings pada program di *Nix menggunakan emacs, sebagai contoh Bash.Untuk melakukan navigasi perintah pada Bash, default key bindings yang digu-nakan adalah emacs.

    Sebagai contoh, Anda memiliki perintah seperti berikut:

    $ ssh -i key.pem -D 9999 ubuntu@someserver.com

    Anda dapat menyunting perintah di atas dengan menggunakan navigasiseperti pada emacs, misal:

    |----------+----------------------------|

    | Perintah | Keterangan |

    |----------+----------------------------|

    | M-f | Menuju ke kata selanjutnya |

    | M-4 M-f | Maju 4 kata |

    | C-a | Menuju ke awal baris |

    | C-e | Menuju ke akhir baris |

    |----------+----------------------------|

    Atau perintah C-r untuk melihat history perintah pada Bash, di mana per-intah ini kalau di emacs digunakan untuk pencarian ke belakang (backward-search), hampir sama bukan?

    Itu hanya contoh kecil saja, karena saya sering bekerja dengan terminal,maka menguasai dasar-dasar navigasi dalam emacs berguna untuk menyuntingperintah secara cepat.

    Sekali lagi, tulisan ini bukanlah sebuah tutorial lengkap program emacs,melainkan sekedar catatan pribadi penulis yang coba dituangkan kedalam se-buah berkas elektronik dengan tujuan agar lebih mudah disebarluaskan kepadasiapa saja yang membutuhkan. Semoga bermanfaat...

    1.1 Tentang Emacs

    GNU Emacs is an extensible, customizable text editor - and more.1

    Emacs termasuk dalam keluarga aplikasi penyunting teks, namun memilikikelebihan dari sisi extensibility. Tidaklah heran beberapa kalangan menyebutemacs sebagai sebuah sistem operasi, karena selain menyunting teks, denganemacs, Anda dapat membaca email, menjelajah website, dan memainkan beber-apa aplikasi permainan sederhana, FTP client, news reader, dan masih banyak

    1http://www.gnu.org/software/emacs/

    4

  • lagi. Anda pun dapat membuat versi emacs Anda sendiri, selama Anda mema-hami bagaimana cara melakukan pengembangan pada emacs.

    Pengembangan aplikasi ini dimulai pada pertengahan 1970-an, dan masihaktif sampai saat tutorial ini ditulis (2013). Emacs memiliki lebih dari 2.000perintah built-in yang dapat digunakan untuk membuat macro untuk membuatpekerjaan menjadi otomatis.

    Emacs dibuat menggunakan emacs lisp, sebuah variant dari bahasa Lisp.Versi pertama dari emacs ditulis oleh Richard Stallman dan Guy L. Steele

    pada tahun 1976.Emacs sendiri memiliki banyak variant, dan saat ini variant yang paling

    banyak dipakai adalah GNU Emacs yang dibuat oleh Stallman untuk GNU Project.

    2 Bekerja dengan Berkas

    Berikut perintah ketika bekerja dengan berkas:

    |----------+--------------------------------------------------|

    | Perintah | Keterangan |

    |----------+--------------------------------------------------|

    | C-x C-f | Membuka berkas |

    | C-x C-s | Menyimpan berkas |

    | C-x s | Menyimpan semua berkas yang sedang disunting |

    | C-x i | Memasukkan teks dari berkas lain ke dalam berkas |

    | | yang sedang disunting |

    | C-x C-v | Mengganti berkas yang sedang disunting dengan |

    | | berkas lain |

    | C-x C-w | Menyimpan buffer ke dalam berkas lain |

    | C-x C-q | Mengubah ke mode read-only |

    | C-x C-k | Menutup berkas |

    |----------+--------------------------------------------------|

    3 Dasar-dasar Navigasi

    Sebelum masuk ke pembahasan mengenai navigasi, mari kita pelajari terlebihdahulu apa yang dimaksud dengan karakter Control dan karakter Meta padaemacs.

    Penting juga untuk diketahui penggunaan istilah point yang tidak lain adalahcursor (kursor) atau posisi letak mouse Anda dalam dokumen.

    3.1 Karakter Control dan Meta

    Program penyunting teks emacs akan sering sekal