1 poin oleh GN⁺ 4 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • 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, dan highlight-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 lisp Emacs 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-mode diaktifkan, arti kata dapat dilihat dalam tooltip saat kursor mouse diarahkan ke atas kata
  • tooltip-mode juga 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-file dan dired secara interaktif, wildcard juga bisa dipakai
  • Di find-file, pola seperti *foo*.txt dapat 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-find dan embark-export, tetapi langsung berfungsi dalam keadaan bawaan

Daftar URI dalam buffer: M-x ffap-menu

  • ffap adalah fitur find-file-at-point yang memeriksa apakah posisi kursor merupakan path file atau URL yang valid lalu membukanya
  • ffap-menu memindai 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-menu melewatkan hal ini
    • Untuk melengkapinya, perintah kustom yang terinspirasi dari ffap-menu dapat mengumpulkan atribut teks shr-url juga
    • Contoh perintah my/search-occur-browse-url dikonfigurasi untuk menemukan baik regex URL biasa maupun atribut shr-url, menjadikannya kandidat penyelesaian, lalu membuka URL yang dipilih dengan browse-url atau browse-url-generic

Membandingkan jendela: M-x compare-windows

  • Emacs memiliki banyak perintah perbandingan seperti diff, diff-buffers, diff-backup, dired-diff, vc-diff, dan berbagai perintah ediff-*
  • compare-windows membandingkan 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-directories meminta 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-directories juga bisa digunakan

Menyorot perubahan buffer: M-x highlight-changes-mode

  • highlight-changes-mode adalah fitur untuk menyorot titik perubahan file, dan bisa dipakai sebagai alternatif “live” untuk perintah diff seperti diff-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-hook dan after-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-mode pada buffer file di text-mode-hook, lalu menyesuaikan status sorotan melalui hook sebelum dan sesudah simpan
  • Jika dibuat dalam bentuk highlight-unsaved-mode yang terpisah, ini menjadi minor mode yang menyorot semua perubahan sampai file disimpan
  • Dengan highlight-changes-next-change dan highlight-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, dan kept-new-versions dapat dipakai untuk mengatur lokasi cadangan dan jumlah versi yang disimpan
    • Paket eksternal backup-walker menyediakan 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-diff menampilkan diff file terhadap versi sebelumnya atau versi yang ditentukan
    • vc-ediff menjalankan Ediff terhadap versi sebelumnya atau versi yang ditentukan dari file
    • vc-revision-other-window menampilkan 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-diff dan vc-ediff membandingkan buffer dengan file
    • Pada file dalam version control, vc-diff, vc-ediff, dan vc-revision-other-window asli 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, yaitu C-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, apropos sangat kuat dan menjadi pintu masuk untuk memahami susunan fitur Emacs saat Anda belum tahu harus mencari apa
  • apropos bukan hanya satu perintah, melainkan satu keluarga perintah pencarian khusus seperti apropos-library, apropos-function, apropos-command, apropos-variable, apropos-user-option, apropos-documentation, dan info-apropos
  • Konfigurasi contoh mengganti apropos dengan mengikat perintah-perintah ini ke keymap di bawah C-h a
  • Bahkan tanpa prompter seperti which-key, Anda bisa menekan C-h setelah tombol prefiks C-h a untuk melihat daftar perintah yang tersedia
  • customize-apropos mengumpulkan 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-key atau C-h k, lalu menekan s untuk pindah ke source
  • find-function-on-key mengurangi langkah kedua ini dengan langsung melompat dari key binding ke source fungsi
  • Konfigurasi contoh mengikat C-h M-k di help-map ke find-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-command menyalin teks dari baris tidak kosong pertama di atas baris saat ini, mirip dengan C-y di Vim
  • duplicate-dwim menyalin baris saat ini atau region aktif ke bawah baris saat ini, mirip dengan yy<N>p di Vim
  • copy-from-above-command menyalin sejumlah karakter dari baris di atas sesuai argumen prefiks, tetapi advice contoh mengubah argumen prefiks C-u menjadi 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-dwim perlu 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-position dan duplicate-line-final-position ke -1 agar 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 paket dot-mode di Emacs membantu mengurangi masalah pengulangan edit, tetapi cakupannya berbeda dari keyboard macro penuh
  • view-lossage(C-h l) menampilkan riwayat sekitar 300 penekanan tombol terakhir
  • kmacro-edit-lossage memungkinkan 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), tetapi kmacro-edit-lossage berguna 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-query ke 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, GtkWindow dipecah menjadi Gtk dan Window, EmacsFrameClass menjadi Emacs, Frame, dan Class, serta NSGraphicsContext menjadi NS, Graphics, dan Context
  • Dalam superword-mode, simbol snake_case seperti this_is_a_symbol diperlakukan sebagai satu kata
  • Dalam penggunaan nyata, manipulasi simbol sudah didukung dengan baik oleh perintah *-sexp, jadi superword-mode kurang berguna dibanding subword-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 :foo dengan backward-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) dan modify-syntax-entry

Manipulasi tampilan gambar

  • Hampir di semua tempat Emacs menampilkan gambar, Anda bisa meletakkan kursor di atas gambar lalu menekan i untuk memanipulasi tampilannya
  • Manipulasi yang sama juga bisa dipakai pada pratinjau tautan gambar Org mode dan gambar di buffer entri Elfeed
  • i + dan i - berguna untuk memperbesar dan memperkecil, sedangkan i r memutar gambar 90 derajat
  • Anda juga bisa memotong gambar dengan i c, dan tombol yang lebih rinci dapat dilihat lewat M-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 +, -, atau r tanpa prefiks i
  • 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 TAB umumnya 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-mode menonaktifkan 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-mode aktif
  • 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-invisible yang terikat ke M-s i
  • Dalam contoh, pencarian zero untuk berpindah ke judul terakhir dokumen Org justru melompat ke kecocokan di area terlipat; lalu setelah mencari lagi dan menekan M-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 dasar C-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 berdasarkan fill-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-margin dan set-right-margin bukan perintah untuk mengubah lebar margin tampilan, melainkan bekerja seperti perintah keluarga center yang menginden teks buffer sebenarnya
  • Pengaturan margin tampilan tidak memiliki perintah langsung, dan ada masalah bahwa efeknya baru diterapkan saat jendela ditampilkan ulang
  • Saat ruler-mode diaktifkan, petunjuk penggunaan bisa dilihat melalui tooltip pada header-line
  • Anda dapat mengatur margin kiri dan kanan buffer dengan S-<mouse-1> dan S-<mouse-3>
  • fill-column juga dapat diatur dengan drag <mouse-2>
  • Jika Anda ingin mengubah margin secara spontan alih-alih menyalakan-mematikan lebar preset, ruler-mode bisa terasa lebih ramah pengguna daripada paket seperti visual-fill-column atau olivetti

Isi ulang teks: M-x refill-mode

  • Emacs menyediakan berbagai perintah fill-* untuk mengisi teks, serta auto-fill-mode untuk menangani pemenggalan baris saat mengetik
  • auto-fill-mode dianggap sebagai fitur penyuntingan penting untuk pengisian teks, sampai-sampai dibahas di awal tutorial Emacs
  • auto-fill-mode sebenarnya tidak sepenuhnya otomatis; ia hanya membungkus baris saat ini, dan ketidakteraturan pada paragraf sebelumnya akibat paste dan sejenisnya tetap harus diperbaiki manual
  • refill-mode adalah fitur pengisian teks otomatis yang sebenarnya di Emacs, yang menjaga dokumen tetap sesuai dengan fill-column
  • Anda dapat memakai perilaku itu dengan menjalankan M-x refill-mode

Gulirkan semua jendela bersama-sama: M-x scroll-all-mode

  • scroll-other-window memungkinkan 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 berikutnya
  • follow-mode adalah fitur untuk melihat satu buffer secara berurutan melintasi beberapa jendela
  • scroll-all-mode kurang 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, menyalakan scroll-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-window yang dipilih Emacs
    • master-mode bawaan 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-window menggulir jendela yang memang dimaksud

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-mode memperluas 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-mode harus aktif
  • Fitur ini melakukan pada frame apa yang dilakukan winner dan tab-bar-history bawaan terhadap jendela
  • Jika undelete-frame-mode dibiarkan 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-mode adalah pengelola outline dari semesta paralel yang mirip Org mode, dengan fitur seperti speed-key dan enkripsi per subtree milik Org
  • shadowfile mengimplementasikan unison di dalam Emacs, tetapi kegunaannya diragukan
  • double-mode adalah cara input karakter non-keyboard berbasis konversi tombol yang mendahului quail
  • Pustaka bs adalah upaya membuat perintah list-buffers yang lebih cerdas, tetapi ibuffer lebih 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, dan embrace lebih baik
  • Pustaka bawaan terkait Org dan yang berdekatan dengan Org seperti appt memang menarik, tetapi cakupannya cukup besar untuk dibahas dalam tulisan terpisah
  • Pustaka seperti thunk, yang terutama berguna bagi pengembang Elisp, juga memerlukan pembahasan terpisah
  • Direktori lisp yang disertakan bersama Emacs memang tidak terlalu besar, tetapi masih ada ruang untuk terus menemukan fitur bawaan yang berguna

1 komentar

 
GN⁺ 4 jam lalu
Pendapat di Lobste.rs
  • Membuka beberapa file dengan wildcard seperti *foo*.txt dari find-file (C-x C-f) biasanya adalah kesalahan, jadi saya menambahkan advice-add pada find-file-noselect agar saat wildcard dipakai, find-file langsung membuka dired
    Jika hasil file-expand-wildcards berjumlah 2 atau lebih, itu diteruskan ke dired-noselect; kalau tidak, ia memanggil find-file-noselect asli

  • ruler-mode benar-benar menyenangkan. Saya sama sekali tidak tahu Emacs punya fitur WYSIWYG seperti ini, dan Emacs memang perangkat lunak yang aneh tapi juga menyenangkan

  • Saya mengira sudah melihat hampir semuanya hanya dengan memakai Emacs biasa, tetapi ternyata masih jauh lebih banyak hal untuk ditemukan. ruler-mode cukup keren untuk menulis

    • Mengejutkan bahwa fitur-fitur seperti ini ada di dalam Emacs sendiri. Mudah untuk mengira Emacs hanya menyediakan API elisp agar hal seperti ini bisa dibuat, tetapi ternyata saya melewatkan banyak alat bawaan
      Dulu saya jauh lebih sering memakai Magit, tetapi sekarang saya beralih ke vc-mode bawaan dan alat diff, dan keduanya bekerja sangat baik jadi saya puas
  • Saya 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?