Lebih Banyak Baterai Sudah Termasuk di Emacs
(karthinks.com)- Fitur bawaan Emacs mencakup banyak alat yang bisa dipakai tanpa paket tambahan tetapi kurang menonjol, dan bahkan di Emacs modern 28.1+ masih terus ditemukan fungsi praktis yang layak dipelajari dalam waktu kurang dari 5 menit
- Tugas sehari-hari seperti membuka file, mengumpulkan URL, membandingkan, dan melacak perubahan dapat ditangani cukup jauh hanya dengan
find-file,dired,ffap-menu,compare-windows, danhighlight-changes-mode - File cadangan dan file version control dapat disatukan ke dalam satu model kerja, yaitu membandingkan dengan versi sebelumnya, dengan memperluas keluarga perintah
vc-diff - Pekerjaan penyuntingan, navigasi, dan tampilan bisa ditingkatkan cepat dengan fitur yang sudah disertakan seperti keluarga
apropos,find-function-on-key,kmacro-edit-lossage,subword-mode, dan keymap manipulasi gambar - Takeaway utamanya adalah bahwa meskipun direktori
lispEmacs tidak besar, masih selalu ada ruang untuk memperluas alur kerja hanya dengan fitur bawaan
Gambaran umum dan cakupan
- Fitur Emacs memiliki masalah keterjangkauan penemuan, dan tulisan ini adalah upaya untuk mengurangi masalah itu dengan menunjukkan satu per satu fitur bawaan yang berguna tetapi kurang dikenal
- Artikel ini adalah tulisan ketiga yang membahas fitur bawaan Emacs yang berguna namun kurang dikenal
- “Kurang dikenal” adalah penilaian subjektif, dan secara kasar berarti fitur tersebut disebut kurang dari lima kali atau bahkan tidak pernah terlihat selama mengikuti diskursus Emacs online dalam 20 tahun terakhir
- Pengguna Emacs baru sebaiknya tidak memulai dari sini; daftar ini akan lebih berguna setelah akrab dengan konsep dasar dan paket yang umum direkomendasikan
- Kriterianya adalah hanya menggunakan Emacs murni tanpa paket, tidak memiliki kurva belajar yang curam, mengecualikan fitur main-main dan fitur yang sering dibahas, serta berasumsi pada Emacs modern 28.1+
Kamus mouseover: M-x dictionary-tooltip-mode
- Jika
dictionary-tooltip-modediaktifkan, arti kata dapat dilihat dalam tooltip saat kursor mouse diarahkan ke atas kata tooltip-modejuga harus aktif, tetapi ini sudah diaktifkan secara bawaan- Jika kamus lokal telah dikonfigurasi maka itu akan dipakai lebih dulu, dan kamus Emacs biasanya juga dapat menemukan istilah modern serta slang melalui Wiktionary
Wildcard di find-file dan dired
- Saat menggunakan
find-filedandiredsecara interaktif, wildcard juga bisa dipakai - Di
find-file, pola seperti*foo*.txtdapat digunakan untuk membuka banyak file sekaligus - Saat membuka direktori di Dired, jika wildcard nama file ditentukan, Anda bisa membuat daftar khusus yang hanya berisi file tertentu
- Alur contoh menggunakan pola
*/*_region_*untuk mencari file sementara AucTeX di subdirektori, lalu memilih dan menghapusnya di Dired, kemudian kembali memakai wildcard untuk membuka beberapa file TeX di subdirektori - Kemampuan ini tampak pada level pemanggilan pemrograman dari signature fungsinya, tetapi untuk mengetahui bahwa ini juga tersedia dalam penggunaan interaktif biasanya perlu membaca seluruh docstring
- Fitur wildcard Dired mungkin kalah menonjol dibanding alur Dired modern yang dibuat dengan
consult-finddanembark-export, tetapi langsung berfungsi dalam keadaan bawaan
Daftar URI dalam buffer: M-x ffap-menu
ffapadalah fitur find-file-at-point yang memeriksa apakah posisi kursor merupakan path file atau URL yang valid lalu membukanyaffap-menumemindai seluruh buffer dan menyajikan daftar item yang tampak seperti path file atau URL- Karena memakai antarmuka
completing-read, daftar kandidat yang sudah difilter dapat diekspor ke buffer, atau sebagian maupun seluruhnya bisa disalin, dibuka, atau diproses dengan Embark -
Mendaftar tautan yang memiliki atribut
- Aplikasi Emacs seperti EWW kadang memasukkan URL sebagai atribut teks, bukan tautan teks biasa, dan
ffap-menumelewatkan hal ini - Untuk melengkapinya, perintah kustom yang terinspirasi dari
ffap-menudapat mengumpulkan atribut teksshr-urljuga - Contoh perintah
my/search-occur-browse-urldikonfigurasi untuk menemukan baik regex URL biasa maupun atributshr-url, menjadikannya kandidat penyelesaian, lalu membuka URL yang dipilih denganbrowse-urlataubrowse-url-generic
- Aplikasi Emacs seperti EWW kadang memasukkan URL sebagai atribut teks, bukan tautan teks biasa, dan
Membandingkan jendela: M-x compare-windows
- Emacs memiliki banyak perintah perbandingan seperti
diff,diff-buffers,diff-backup,dired-diff,vc-diff, dan berbagai perintahediff-* compare-windowsmembandingkan teks dari posisi kursor di dua jendela, berhenti di titik ketidakcocokan berikutnya, lalu melaporkannya- Target perbandingan adalah jendela aktif dan jendela yang akan dipilih oleh
other-window; fungsinya lebih sedikit daripada Ediff atau diff, tetapi lebih mudah dan cepat dijalankan - Perintah ini membandingkan hanya teks nyata yang terlihat di dua jendela, tanpa memedulikan jenis buffer, status modifikasi, file, atau status version control
- Jika dua jendela menampilkan bagian berbeda dari buffer yang sama, maka dua potongan teks dalam buffer yang sama juga bisa dibandingkan
- Daftar direktori pun dapat dibandingkan, dan dalam contoh, waktu modifikasi file terdeteksi sebagai ketidakcocokan pertama
- Dengan memberikan prefix argument, perbedaan spasi dapat diabaikan
Membandingkan direktori dengan Dired: M-x dired-compare-directories
dired-compare-directoriesmeminta direktori yang akan dibandingkan di Dired, lalu menandai file yang namanya berbeda dalam dua daftar Dired- Pendekatan ini dapat menangani kasus penggunaan perbandingan direktori yang paling umum
- Karena perbandingan dilakukan pada level file, Anda bisa memberikan kondisi pencocokan kustom yang juga mencakup atribut file seperti waktu modifikasi atau ukuran
- Kondisi
(> mtime2 mtime1)dapat menandai file yang dimodifikasi lebih baru - Kondisi
(/= size1 size2)dapat menandai file yang namanya sama tetapi ukurannya berbeda - Jika membutuhkan perbandingan yang lebih interaktif,
ediff-directoriesjuga bisa digunakan
Menyorot perubahan buffer: M-x highlight-changes-mode
highlight-changes-modeadalah fitur untuk menyorot titik perubahan file, dan bisa dipakai sebagai alternatif “live” untuk perintah diff sepertidiff-buffer-with-file- Perilaku bawaan menyorot perubahan dari saat mode diaktifkan hingga dimatikan, bukan secara otomatis hanya perubahan yang belum disimpan
- Dengan memakai
before-save-hookdanafter-save-hook, Anda bisa membuat alur yang mematikan sorotan sebelum menyimpan lalu menyalakannya lagi setelah menyimpan, sehingga hanya perubahan sebelum simpan yang disorot - Contoh kode mengaktifkan
highlight-changes-modepada buffer file ditext-mode-hook, lalu menyesuaikan status sorotan melalui hook sebelum dan sesudah simpan - Jika dibuat dalam bentuk
highlight-unsaved-modeyang terpisah, ini menjadi minor mode yang menyorot semua perubahan sampai file disimpan - Dengan
highlight-changes-next-changedanhighlight-changes-previous-change, Anda bisa berpindah ke titik perubahan berikutnya atau sebelumnya - Dengan
highlight-changes-remove-highlight, sorotan visual dapat dihapus dan hanya navigasi berbasis pelacakan perubahan yang digunakan
Memakai file cadangan agar benar-benar berguna: keluarga vc-diff
-
Masalah cadangan Emacs
- Secara bawaan, Emacs secara berkala membuat cadangan file yang diedit dan disimpan
- Sistem cadangan ini biasanya disebut sebagai fitur merepotkan yang perlu dimatikan dengan
make-backup-files - Bisa ada kekhawatiran keamanan karena file sensitif disalin ke lokasi lain di disk
- Selain itu, masalah utamanya biasanya adalah file cadangan tersebar di direktori kerja dan kurangnya UI yang mudah untuk meninjau atau menanganinya
- Opsi pengguna seperti
backup-directory-alist,kept-old-versions, dankept-new-versionsdapat dipakai untuk mengatur lokasi cadangan dan jumlah versi yang disimpan - Paket eksternal
backup-walkermenyediakan antarmuka untuk menjelajahi cadangan seperti melakukan perjalanan waktu
-
Perluasan antarmuka VC
- Paket VC bawaan Emacs menyediakan antarmuka untuk melihat versi lama dari file yang dikelola dengan version control
vc-diffmenampilkan diff file terhadap versi sebelumnya atau versi yang ditentukanvc-ediffmenjalankan Ediff terhadap versi sebelumnya atau versi yang ditentukan dari filevc-revision-other-windowmenampilkan versi sebelumnya atau versi lama yang dipilih di samping file saat ini- Antarmuka ini tidak terbatas pada Git, tetapi tidak bekerja untuk file yang tidak dikelola version control
- Dengan meng-overload tiga perintah VC itu, buffer yang belum disimpan, file dalam version control, dan cadangan file yang tidak dalam version control semuanya bisa disatukan dalam model “bandingkan dengan versi sebelumnya”
- Pada file yang belum disimpan,
vc-diffdanvc-ediffmembandingkan buffer dengan file - Pada file dalam version control,
vc-diff,vc-ediff, danvc-revision-other-windowasli dijalankan apa adanya - Pada file yang tidak dalam version control, file dibandingkan dengan atau menampilkan cadangan bernomor terbaru, atau cadangan bernomor yang dipilih lewat argumen prefiks
Keluarga apropos
describe-key, yaituC-h k, adalah tombol bantuan yang sangat berguna karena memungkinkan Anda langsung melihat fungsi yang dipanggil oleh suatu penekanan tombol- Sebagai fitur bantuan kedua yang layak dipelajari,
apropossangat kuat dan menjadi pintu masuk untuk memahami susunan fitur Emacs saat Anda belum tahu harus mencari apa aproposbukan hanya satu perintah, melainkan satu keluarga perintah pencarian khusus sepertiapropos-library,apropos-function,apropos-command,apropos-variable,apropos-user-option,apropos-documentation, daninfo-apropos- Konfigurasi contoh mengganti
aproposdengan mengikat perintah-perintah ini ke keymap di bawahC-h a - Bahkan tanpa prompter seperti
which-key, Anda bisa menekanC-hsetelah tombol prefiksC-h auntuk melihat daftar perintah yang tersedia customize-aproposmengumpulkan opsi, face, dan grup yang cocok dengan kata pencarian lalu membuat buffer customize khusus
Alat find-func: M-x find-function-on-key, M-x find-function
- Saat Anda tidak suka suatu key binding atau ingin tahu cara kerjanya, Anda bisa melompat ke definisi perintah yang dipanggil tombol itu untuk membaca atau mengubah perilakunya
- Alur umum adalah memeriksa dulu perintah yang dipanggil tombol dengan
describe-keyatauC-h k, lalu menekansuntuk pindah ke source find-function-on-keymengurangi langkah kedua ini dengan langsung melompat dari key binding ke source fungsi- Konfigurasi contoh mengikat
C-h M-kdihelp-mapkefind-function-on-key
copy-from-above-command dan duplicate-dwim
- Belakangan ini, Emacs menambahkan perintah duplikasi teks yang sudah lama digunakan banyak pengguna
copy-from-above-commandmenyalin teks dari baris tidak kosong pertama di atas baris saat ini, mirip denganC-ydi Vimduplicate-dwimmenyalin baris saat ini atau region aktif ke bawah baris saat ini, mirip denganyy<N>pdi Vimcopy-from-above-commandmenyalin sejumlah karakter dari baris di atas sesuai argumen prefiks, tetapi advice contoh mengubah argumen prefiksC-umenjadi perilaku “salin seluruh baris di atas lalu beri komentar”- Jika memakai argumen prefiks numerik
C-<N>, Anda tetap bisa menyalin sejumlah karakter dari atas seperti perilaku aslinya duplicate-dwimperlu menentukan apakah kursor tetap di teks asli atau pindah ke hasil duplikasi, dan hal ini bisa diatur lewat opsi pengguna- Konfigurasi contoh menetapkan
duplicate-region-final-positiondanduplicate-line-final-positionke-1agar kursor dan region berpindah ke teks hasil duplikasi
Menjadikan riwayat penekanan tombol sebagai makro: M-x kmacro-edit-lossage
- Keyboard macro Emacs dapat menangkap dan memutar ulang urutan tindakan Emacs apa pun, termasuk klik mouse, bukan hanya transformasi teks
- Keyboard macro memang kuat, tetapi menimbulkan beban kognitif karena Anda harus memperkirakan kemungkinan pengulangan sebelum mulai merekam dan melakukan tindakan umum yang bebas kesalahan
- Perintah
.di Vim dan paketdot-modedi Emacs membantu mengurangi masalah pengulangan edit, tetapi cakupannya berbeda dari keyboard macro penuh view-lossage(C-h l) menampilkan riwayat sekitar 300 penekanan tombol terakhirkmacro-edit-lossagememungkinkan Anda membuat makro kapan saja dari riwayat penekanan tombol ini- Lossage benar-benar bisa diedit, jadi saat membuat makro Anda dapat menyisipkan perintah baru ke dalam rekaman
- Makro yang sudah didefinisikan lebih sering dapat diedit dengan
edit-kbd-macro(C-x C-k e), tetapikmacro-edit-lossageberguna untuk menjadikan tugas rumit yang baru saja dilakukan dapat diulang dalam situasi yang jarang terjadi - Untuk membuat makro yang bisa digeneralisasi, sering kali Anda perlu memasukkan pemanggilan
kbd-macro-queryke dalam lossage
subword-mode, superword-mode, tata bahasa kata
- Perintah navigasi dan pengeditan berbasis kata di Emacs memakai syntax table per major mode, dan pengguna dapat menyesuaikan apa yang dianggap sebagai kata
- Dalam
subword-mode, setiap komponen dari simbol CamelCase diperlakukan sebagai kata - Sebagai contoh,
GtkWindowdipecah menjadiGtkdanWindow,EmacsFrameClassmenjadiEmacs,Frame, danClass, sertaNSGraphicsContextmenjadiNS,Graphics, danContext - Dalam
superword-mode, simbol snake_case sepertithis_is_a_symboldiperlakukan sebagai satu kata - Dalam penggunaan nyata, manipulasi simbol sudah didukung dengan baik oleh perintah
*-sexp, jadisuperword-modekurang berguna dibandingsubword-mode - Hanya dengan beberapa menit mengubah syntax table major mode, Anda bisa mengurangi ketidaknyamanan saat bergerak secara struktural
- Dalam konteks keluarga Lisp, membuat
:menjadi karakter penyusun kata memudahkan penanganan keyword seperti:foodenganbackward-kill-word - Di Org mode, Anda bisa mengubah agar pembatas
=dan~diperlakukan sebagai karakter penyusun kata - Cara penetapan tata bahasa karakter dapat dilihat di
describe-syntax(C-h s) danmodify-syntax-entry
Manipulasi tampilan gambar
- Hampir di semua tempat Emacs menampilkan gambar, Anda bisa meletakkan kursor di atas gambar lalu menekan
iuntuk memanipulasi tampilannya - Manipulasi yang sama juga bisa dipakai pada pratinjau tautan gambar Org mode dan gambar di buffer entri Elfeed
i +dani -berguna untuk memperbesar dan memperkecil, sedangkani rmemutar gambar 90 derajat- Anda juga bisa memotong gambar dengan
i c, dan tombol yang lebih rinci dapat dilihat lewatM-x describe-keymap RET image-map - Shortcut
C-<wheel>yang umum di browser dan aplikasi lain juga bisa digunakan - Jika memakai
repeat-mode, setelah pemanggilan pertama Anda bisa mengulangi hanya dengan+,-, ataurtanpa prefiksi - Fitur ini disediakan lewat keymap yang ditempatkan di atas gambar dan tidak perlu diaktifkan secara terpisah
- Yang dimanipulasi bukan file gambar di disk, melainkan hanya status tampilan
- Pada halaman web dan buffer HTML yang sudah dirender,
z(shr-zoom-image) membagi gambar menjadi potongan horizontal beberapa baris dan mensirkulasikan ukurannya untuk mengatasi keterbatasan tampilan gambar besar
Tampilkan semua teks: M-x visible-mode
- Emacs dapat membuat teks buffer menjadi tidak terlihat secara selektif, dan fitur ini menjadi dasar perilaku pelipatan seperti pada Magit section, Outline mode, dan Org mode
- Mode yang menyediakan fitur lipat biasanya juga menyediakan keybinding untuk mengubah status lipatan, dan
TABumumnya berfungsi untuk itu - Jika keybinding per mode sulit diingat atau tidak cukup sering dipakai, Anda bisa melihat semua teks yang disembunyikan dengan
visible-mode visible-modemenonaktifkan ketakterlihatan teks untuk seluruh buffer, lalu saat dijalankan lagi akan memulihkan status ketakterlihatan sebelumnya- Pada buffer dengan UI pelipatan dinamis, tampilan layar bisa terlihat rusak selama
visible-modeaktif - Fitur ini lebih mirip langkah sementara atau alat debugging, tetapi dapat menampilkan seluruh teks dalam buffer secara seragam dengan satu perintah
Abaikan teks yang tidak terlihat: isearch-toggle-invisible
- Beberapa perintah Emacs seperti Isearch secara bawaan mengabaikan ketakterlihatan teks sehingga seluruh dokumen aktual tetap mudah dicari
- Saat keadaan buffer yang terlihat berfungsi sebagai panduan navigasi, pencarian yang otomatis menampilkan teks terlipat bisa bekerja tidak sesuai harapan
- Jika Isearch dipakai sebagai alat navigasi, bukan sekadar pencarian, berpindah ke kecocokan di area terlipat bisa menjadi masalah
- Selama Isearch, Anda bisa mengubah apakah teks tak terlihat ikut dicari dengan
isearch-toggle-invisibleyang terikat keM-s i - Dalam contoh, pencarian
zerountuk berpindah ke judul terakhir dokumen Org justru melompat ke kecocokan di area terlipat; lalu setelah mencari lagi dan menekanM-s i, perpindahan dibatasi hanya ke kecocokan dalam teks yang terlihat - Tombol pengalih perilaku Isearch berada di bawah keymap
M-s, yang berpasangan dengan binding dasarC-s
Penggaris: M-x ruler-mode
- Emacs masih menyisakan fitur-fitur seperti perintah
center-*sebagai jejak dari kemampuan pengolah kata WYSIWYG di masa lalu - Perintah
center-*memusatkan baris, paragraf, atau region berdasarkanfill-column, dan bisa dipakai untuk hal seperti komentar dekoratif pada kode - Lebar margin tampilan dan fringe adalah ruang layar yang bisa diisi banyak fitur, tetapi mengubah lebar margin tampilan secara langsung bukan pekerjaan yang sederhana
set-left-margindanset-right-marginbukan perintah untuk mengubah lebar margin tampilan, melainkan bekerja seperti perintah keluargacenteryang menginden teks buffer sebenarnya- Pengaturan margin tampilan tidak memiliki perintah langsung, dan ada masalah bahwa efeknya baru diterapkan saat jendela ditampilkan ulang
- Saat
ruler-modediaktifkan, petunjuk penggunaan bisa dilihat melalui tooltip pada header-line - Anda dapat mengatur margin kiri dan kanan buffer dengan
S-<mouse-1>danS-<mouse-3> fill-columnjuga dapat diatur dengan drag<mouse-2>- Jika Anda ingin mengubah margin secara spontan alih-alih menyalakan-mematikan lebar preset,
ruler-modebisa terasa lebih ramah pengguna daripada paket sepertivisual-fill-columnatauolivetti
Isi ulang teks: M-x refill-mode
- Emacs menyediakan berbagai perintah
fill-*untuk mengisi teks, sertaauto-fill-modeuntuk menangani pemenggalan baris saat mengetik auto-fill-modedianggap sebagai fitur penyuntingan penting untuk pengisian teks, sampai-sampai dibahas di awal tutorial Emacsauto-fill-modesebenarnya tidak sepenuhnya otomatis; ia hanya membungkus baris saat ini, dan ketidakteraturan pada paragraf sebelumnya akibat paste dan sejenisnya tetap harus diperbaiki manualrefill-modeadalah fitur pengisian teks otomatis yang sebenarnya di Emacs, yang menjaga dokumen tetap sesuai denganfill-column- Anda dapat memakai perilaku itu dengan menjalankan
M-x refill-mode
Gulirkan semua jendela bersama-sama: M-x scroll-all-mode
scroll-other-windowmemungkinkan Anda menggulir jendela lain yang tidak sedang dipilih tanpa berpindah fokus, dan berguna saat bekerja di jendela saat ini sambil melihat bahan referensi di jendela berikutnyafollow-modeadalah fitur untuk melihat satu buffer secara berurutan melintasi beberapa jendelascroll-all-modekurang dikenal, tetapi menggulir semua jendela dalam frame secara bersamaan- Ini berguna saat meninjau buffer yang perlu dilihat secara sinkron; dalam contoh, dipakai untuk membandingkan dua versi file secara visual tanpa masuk ke sesi Ediff
- Alur contohnya adalah membuka backup lama tertentu dari file saat ini dengan
vc-revision-other-window, menyalakanscroll-all-mode, lalu menggulir seperti biasa agar semua jendela bergerak bersama -
Menggulir jendela lain dan
master-mode- Masalah bisa muncul saat ada lebih dari dua jendela di layar dan jendela yang ingin digulir bukan
next-windowyang dipilih Emacs master-modebawaan memungkinkan Anda menentukan lebih dulu, atau menentukan saat itu juga, buffer yang bisa digulir dari buffer lain- Cara yang lebih langsung adalah mengatur strategi pencarian jendela yang akan digulir
(setq other-window-scroll-default #'get-lru-window)akan selalu menggulir jendela yang paling lama tidak digunakan- Cara ini berguna saat Anda ingin menggulir jendela yang berisi referensi dan hampir tidak pernah dipilih
- Jika dua jendela yang sering diedit berada di antara banyak jendela, Anda bisa menetapkan fungsi lambda agar jendela yang paling baru digunakan menjadi jendela lain yang digulir
- Kombinasi pengaturan seperti ini membantu membuat
scroll-other-windowmenggulir jendela yang memang dimaksud
- Masalah bisa muncul saat ada lebih dari dua jendela di layar dan jendela yang ingin digulir bukan
Menolak keluar: M-x emacs-lock-mode
- Saat ada file yang belum disimpan, Emacs menolak keluar sampai Anda menjawab bagaimana setiap file harus ditangani
emacs-lock-modememperluas gagasan ini dengan memungkinkan pengguna mengunci buffer sewenang-wenang- Sampai kuncinya dibuka, buffer tersebut akan menolak di-kill dan menampilkan pesan seperti
Buffer "*scratch*" is locked and cannot be killed - Jika ada buffer yang terkunci, Emacs juga akan menolak keluar dan menampilkan pesan seperti
Emacs cannot exit because buffer "*scratch*" is locked - Ini berguna agar informasi dalam buffer yang tidak mengunjungi file tidak hilang secara tidak sengaja, atau untuk mengingatkan bahwa masih ada pekerjaan tersisa pada buffer tersebut
- Setelah Org-capture, masalah pertama jadi jarang terjadi, tetapi ini tetap berguna untuk mencegah hilangnya output atau status dari shell·buffer kompilasi, situs web, dan aplikasi khusus lainnya
Pulihkan frame: M-x undelete-frame-mode, M-x undelete-frame
- Jika frame Emacs yang sudah Anda susun dengan cermat tertutup secara tidak sengaja, Anda bisa memulihkannya dengan
undelete-frame - Untuk menggunakan fitur ini,
undelete-frame-modeharus aktif - Fitur ini melakukan pada frame apa yang dilakukan
winnerdantab-bar-historybawaan terhadap jendela - Jika
undelete-frame-modedibiarkan aktif bersama Emacs, Anda bisa lebih tenang terhadap kejadian menutup frame - Hingga 16 frame yang dihapus dapat dipulihkan
Fitur yang tersisa dan yang dikecualikan
- Dari fitur-fitur yang ditemui selama enam tahun terakhir, ada 20 fitur yang tetap bertahan dalam realitas penggunaan Emacs tahun 2026
- Banyak pustaka Emacs yang ditemukan secara kebetulan lebih menarik sebagai artefak arkeologis daripada sebagai solusi stabil untuk kebutuhan pengguna umum
allout-modeadalah pengelola outline dari semesta paralel yang mirip Org mode, dengan fitur seperti speed-key dan enkripsi per subtree milik Orgshadowfilemengimplementasikanunisondi dalam Emacs, tetapi kegunaannya diragukandouble-modeadalah cara input karakter non-keyboard berbasis konversi tombol yang mendahuluiquail- Pustaka
bsadalah upaya membuat perintahlist-buffersyang lebih cerdas, tetapiibufferlebih baik sehingga tak ada alasan untuk memakainya - Bahkan fitur yang tampak berguna di permukaan, seperti membungkus region dengan pembatas melalui
electric-pair-mode, dikecualikan karena manfaatnya kecil dibanding kerepotannya - Untuk kegunaan seperti ini, paket eksternal seperti
wrap-region,smartparens, danembracelebih baik - Pustaka bawaan terkait Org dan yang berdekatan dengan Org seperti
apptmemang menarik, tetapi cakupannya cukup besar untuk dibahas dalam tulisan terpisah - Pustaka seperti
thunk, yang terutama berguna bagi pengembang Elisp, juga memerlukan pembahasan terpisah - Direktori
lispyang disertakan bersama Emacs memang tidak terlalu besar, tetapi masih ada ruang untuk terus menemukan fitur bawaan yang berguna
1 komentar
Pendapat di Lobste.rs
Membuka beberapa file dengan wildcard seperti
*foo*.txtdarifind-file(C-x C-f) biasanya adalah kesalahan, jadi saya menambahkanadvice-addpadafind-file-noselectagar saat wildcard dipakai,find-filelangsung membukadiredJika hasil
file-expand-wildcardsberjumlah 2 atau lebih, itu diteruskan kedired-noselect; kalau tidak, ia memanggilfind-file-noselectasliruler-modebenar-benar menyenangkan. Saya sama sekali tidak tahu Emacs punya fitur WYSIWYG seperti ini, dan Emacs memang perangkat lunak yang aneh tapi juga menyenangkanSaya mengira sudah melihat hampir semuanya hanya dengan memakai Emacs biasa, tetapi ternyata masih jauh lebih banyak hal untuk ditemukan.
ruler-modecukup keren untuk menulisDulu saya jauh lebih sering memakai Magit, tetapi sekarang saya beralih ke
vc-modebawaan dan alatdiff, dan keduanya bekerja sangat baik jadi saya puasSaya suka tulisan seperti ini. Saat memakai editor yang kompleks dan bisa dikustomisasi seperti Emacs atau Neovim, orang sering terlalu cepat melaju dengan memasang distribusi yang gemuk terlebih dahulu sebelum memahami apa yang bisa dilakukan editor dasarnya
Kalau punya waktu, membaca manual dan membangun konfigurasi sendiri dari nol itu proses yang cukup memuaskan. Ada fungsi Emacs yang kurang dikenal,
finder-list-keywords; saat dijalankan, ia menampilkan menu untuk menjelajahi fitur Emacs yang sulit ditemukan. Misalnya, apakah Anda tahu bahwa ada 24 game bawaan?