Merasa sudah cukup dengan VIM
, saya mencoba beralih menggunakan editor teks yang lain. Pilihan saya tertuju pada editor yang agak lekat dengan salah satu sosok / tokoh Richard Stallman. Teks editor itu bernama EMACS
. Setelah saya cek, ternyata saya sudah memasangnya di distro yang saya gunakan (Slackware versi current). Tidak berlama-lama lagi, akhirnya saya luncurkan dan saya pakai.
Mengapa tertarik mencoba EMACS ?
Setelah sekitar hampir 3 tahun menggunakan VIM
untuk keperluan tulis-menulis, saya perlu mencoba editor teks yang lain. Kriteria yang saya inginkan ada beberapa, di antaranya :
- Dapat berjalan di terminal.
- Ringan.
- Bisa berjalan dengan konfigurasi minimal.
- Memiliki forum untuk bertanya.
Sejauh ini, Emacs cukup memenuhi beberapa kriteria di atas.
Dapat berjalan di terminal.
Emacs memiliki dan datang dengan 2 pilihan, Emacs yang bisa berjalan dengan tampilan grafis / GUI, dan yang satunya bisa berjalan di dalam terminal / berjalan sebagai tool TUI. Saya mencoba versi TUI dan cukup suka. Untuk Versi TUI (emacs-no-x11) saya jalankan di tty1
dan terminal foot. Emacs berjalan baik pada 2 lingkungan tersebut (tty1 dan terminal foot
).
Saat berada di tty1, Emacs saya kombinasikan dengan gpm (general purpose mouse) untuk menambah sensasi menggunakan mouse. Secara mengejutkan bisa berjalan baik. Saya bisa menge-klik menu di sebelah atas jendela. Ketika menggunakan Emacs di dalam terminal foot
, saya sempat mengalami kendala. Saya tidak bisa mengarahkan navigasi menggunakan tap
/ klik. Alhamdulillah, saya menemukan cara mengaturnya. Saya hanya perlu masuk mode xterm-mouse-mode
dengan menekan kombinasi tombol Alt+x lalu memasukkan nama modenya yaitu xterm-mouse-mode
(M-x xterm-mouse-mode).

Menulis dokumen markdown menggunakan Emacs di terminal foot.
Bisa berjalan dengan konfigurasi minimal.
Saya mengawali menggunakan Emacs tanpa konfigurasi apapun sebelumnya. Baru setelah mengetahui kebutuhan tentang modul, saya mulai membuat satu file konfigurasi sederhana di /home/$USER/.emacs.d/init.el. Isinya cukup sederhana, berikut ini adalah isi dari konfigurasi yang saya gunakan.
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/") t)
(use-package vterm
:ensure t)
Code language: PHP (php)
Berikut ini adalah keterangan dari konfigurasi di atas.
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/") t
Code language: PHP (php)
Konfigurasi di atas menunjukkan inisiasi untuk instalasi modul use-package
dengan Melpa
, yang mana dengan adanya use-package
, kita bisa memasang modul yang kita perlukan.
(use-package vterm
:ensure t)
Code language: CSS (css)
Konfigurasi di atas menunjukkan penggunaan modul vterm, modul untuk membuka terminal di dalam Emacs.
Ringan.
Setelah mencoba Emacs beberapa kali, saya merasakan Emacs cukup ringan. Berikut side by side perbandingan penggunaan CPU dan memori antara Emacs dan VIM.

Emacs menggunakan sekitar 1 % dari memori RAM.

Vim menggunakan sekitar 0,5 % dari memori RAM.
Memiliki forum untuk bertanya.
Selain bisa merujuk pada halaman manual ataupun wiki, forum atau grup juga bisa kita gunakan ketika kita memiliki pertanyaan. Alhamdulillah saya menemukan beberapa forum / grup yang berkaitan dengan Emacs. Berikut ini adalah beberapa forum yang bisa kita masuki / join :
Tips dan trik.
Berikut ini adalah beberapa tips dan trik yang saya temukan saat beradaptasi dengan Emacs.
Mengaktifkan tap / klik.
Saya ingin menggunakan tap / klik ketika ingin berpindah bagian pada tulisan. Ternyata secara default, Emacs tidak diatur untuk bisa menggunakan klik. Setelah beberapa waktu saya menemukan tutorial yang bisa saya gunakan. Saya hanya perlu menjalankan perintah berikut.
M-x xterm-mouse-mode
Setelah menjalankan perintah itu, setiap saya menge-klik bagian tulisan atau menu maka bagian tulisan dan menu bisa diklik.
Berbagi clipboard di lingkungan wayland.
Saya sering berbagi clipboard ketika menyalin sebuah tulisan dari teks editor ke aplikasi lain. Untuk bisa berbagi clipboard dari emacs ke aplikasi lain (atau sebaliknya) di lingkungan wayland, kita bisa memanfaatkan tool wl-clipboard. Kita masih perlu menambahkan beberapa baris konfigurasi pada berkas init.el, konfigurasinya sebagai berikut.
(setq wl-copy-process nil)
(defun wl-copy (text)
(setq wl-copy-process (make-process :name "wl-copy"
:buffer nil
:command '("wl-copy" "-f" "-n")
:connection-type 'pipe))
(process-send-string wl-copy-process text)
(process-send-eof wl-copy-process))
(defun wl-paste ()
(if (and wl-copy-process (process-live-p wl-copy-process))
nil ; should return nil if we're the current paste owner
(shell-command-to-string "wl-paste -n | tr -d \r")))
(setq interprogram-cut-function 'wl-copy)
(setq interprogram-paste-function 'wl-paste)
Code language: PHP (php)
Menggunakan terminal dan jendela multiplex.
VIM dan Emacs memiliki terminal bawaan dan multiplex jendela, hanya saja terminal VIM dan multiplex jendelanya lebih luwes. Pada Emacs untuk menggunakan terminal dan jendela multiplex, kita perlu menjalankan perintah berikut :
Membuka jendela baru arah horizontal.
M-x split-window-horizontally
Code language: JavaScript (javascript)
Jendela baru akan terbuka secara horizontal.
Membuka jendela baru arah vertikal.
M-x split-window-vertically
Code language: JavaScript (javascript)
Jendela baru akan terbuka secara vertikal.
Membuka terminal di dalam Emacs.
Setelah kita jendela baru terbuka, kita bisa membuka terminal pada jendela itu dengan perintah :
M-x term
Alternatifnya, kita bisa menggunakan modul vterm yang lebih nyaman untuk digunakan. Berikut adalah tangkapan layar ketika saya menggunakan multiplex jendela dan terminal menggunakan Emacs.

Referensi dan kredit.
Berikut ini adalah beberapa referensi dan kredit untuk bahasan kali ini.
- Cara mengatur tap / klik pada Emacs.
- Pemasangan / instalasi use-package.
- Forum-forum seputar Emacs.
Penutup.
Demikian tadi, pengalaman saya mencoba dan beradaptasi dengan Emacs. Kalau boleh bilang, Emacs merupakan alternatif teks editor yang bagus. Semoga berguna dan bermanfaat bagi yang ingin mencoba emacs. Terima kasih dan sampai jumpa pada bahasan selanjutnya !
Leave a Reply