- Kumpulan konfigurasi yang menata lingkungan Emacs seperti IDE arus utama agar pemula bisa langsung menggunakannya
- Menghadirkan kembali fitur utama seperti tema VSCode, penjelajah file, tab, multi-kursor, dan pelengkapan otomatis di Emacs
- GUI dan operasi mouse didukung secara bawaan, dan dapat dikonfigurasi melalui antarmuka
custom - Menyediakan lingkungan penyuntingan lengkap untuk pengembang Lisp (Sly/Geiser) dan non-programmer
- Menurunkan hambatan masuk Emacs dan menyediakan titik awal yang mudah diadaptasi oleh pengguna baru
Gambaran umum IDEmacs
- IDEmacs adalah set konfigurasi yang memungkinkan Emacs digunakan seperti GUI IDE semacam Visual Studio Code atau Sublime Text
- Tetap mempertahankan kemampuan kuat Emacs sambil menyediakan antarmuka yang familier bagi pemula
- Tiga kelompok pengguna utama adalah sebagai berikut
- Programmer yang berpindah dari IDE lain atau pengguna yang baru belajar coding
- Pemula Common Lisp dan Scheme (termasuk Sly/Geiser dan fitur penyuntingan struktural)
- Non-programmer yang ingin mengedit dokumen Org, Markdown, LaTeX
- Bertujuan menurunkan hambatan masuk dengan menyediakan lingkungan yang siap dipakai segera bagi pengguna yang merasa pengalaman default Emacs terasa asing
Fitur utama
- Dukungan GUI dan mouse
- Tidak menyembunyikan elemen GUI, berbeda dari kebanyakan starter kit
- Mendukung pengaturan melalui GUI
custom(tanpa perlu mengedit Elisp secara langsung)
- Keybinding gaya IDE
- Berbasis mode CUA untuk mereplikasi secara luas shortcut yang digunakan di VSCode dan sejenisnya
- Berbeda dari Spacemacs dan Doom yang menggunakan mode
Evil, pendekatannya berpusat pada GUI
- Konfigurasi setingkat distribusi Emacs lengkap
- Lingkungan yang cepat dan tidak memerlukan konfigurasi tambahan
- Terdiri dari kode Elisp dengan komentar melimpah sehingga juga dapat dimanfaatkan sebagai materi belajar
- Tingkat targetnya bukan tiruan sempurna, melainkan pengalaman yang “cukup mirip”
Konfigurasi VSCode (sedang berlangsung)
- Saat ini satu-satunya konfigurasi IDE yang disediakan
- Komponen yang disertakan
- Tema VSCode Dark Plus
- Penjelajah file sidebar Treemacs
- Bilah tab Centaur Tabs
- Tampilan jalur file breadcrumb
- Penyorotan simbol otomatis idle-highlight-mode
- Menerapkan sebagian besar shortcut VSCode untuk “General”, “Basic Editing”, “Rich Languages Editing”, dan “Multi-cursor”
- Paket utama
- Penyuntingan:
whole-line-or-region,expand-region,multiple-cursors,smartparens - Manajemen versi:
vc,magit,diff-hl,blamer - Pelengkapan otomatis:
Vertico,orderless,Consult,marginalia,company - Pengembangan Lisp:
sly,geiser,adjust-parens - Lainnya:
eat(terminal),org-superstar,pdf-tools,undo-tree,helpful,rainbow-mode - Penataan kode dikelola dengan
use-package
- Penyuntingan:
Konfigurasi keybinding
- Memetakan shortcut VSCode ke perintah Emacs
- Contoh:
C-S-p→ palet perintah (execute-extended-command)C-p→ buka file (consult-locate)C-S-n→ jendela baru (make-frame)C-w→ tutup jendela (idemacs-kill-buffer-noprompt)C-,→ pengaturan pengguna (customize)
- Contoh:
- Menentukan perintah yang sesuai untuk kategori rinci seperti penyuntingan dasar, multi-kursor, navigasi, manajemen file, dan kontrol tampilan
- Beberapa shortcut memiliki perbedaan perilaku dibanding VSCode dan ditandai sebagai TODO
Ajakan untuk mencoba dan berkontribusi
- Pengguna diminta memberikan umpan balik setelah memakai IDEmacs
- Berbagi pendapat melalui pengamatan penggunaan oleh pemula, Jabber/XMPP, atau issue tracker
- Pengembang dianjurkan ikut serta dalam perbaikan kode dan perluasan fitur
Proyek terkait
- Mousemacs (GitHub: seamus-brady/mousemacs)
- Distribusi yang membuat Emacs berperilaku seperti Sublime Text atau VSCode
- Dibuat untuk mempelajari Lisp dan menyediakan antarmuka yang ramah mouse
- Tetap mempertahankan seluruh fitur Emacs dengan tema yang sederhana
Cara instalasi dan menjalankan
- Dependensi wajib
- Emacs 29 atau lebih baru,
git, font DejaVu Sans Mono
- Emacs 29 atau lebih baru,
- Dependensi opsional
grep,locate, atauplocate
- Langkah instalasi
- Clone repositori
git clone https://codeberg.org/IDEmacs/IDEmacs - Jalankan Emacs saat terhubung ke internet
emacs --init-directory=/path/to/IDEmacs/vscode
- Saat dijalankan, paket Emacs yang diperlukan akan diunduh secara otomatis
- Clone repositori
Lain-lain
- Saat ini belum ada gaya IDE lain selain konfigurasi VSCode
- Disebutkan bahwa implementasi GUI baru mungkin dimungkinkan di masa depan jika sumber daya memadai
- Tidak ada informasi tambahan dalam teks asli
1 komentar
Komentar Hacker News
Orang yang menganggap VSCode itu mudah perlu cek realitas
Saat pertama dijalankan, rasanya seperti dibombardir popup, sidebar, tooltip, dan semacamnya
Saya juga pengguna Emacs, tapi saya tidak akan mengklaim Emacs itu intuitif
Hanya saja VSCode juga bukan alat yang ajaib dan mudah, melainkan sekadar pilihan yang populer
Pohon file, editor, terminal, pelengkapan tab, dan pemasangan ekstensi adalah sebagian besar ruang interaksi pengguna
Kalau tidak tersedia bawaan atau mudah ditambahkan lewat ekstensi, kebanyakan orang tidak akan memakainya
Tapi kompleksitas VSCode tidak sebanding dengan vim atau Emacs
Dengan tutorial singkat atau sekitar 30 menit mencoba-coba, orang sudah bisa cukup terbiasa
Sementara neovim sampai terasa perlu satu buku penuh
Saya baru-baru ini mencoba RustRover, dan sulit membuat konfigurasi yang saya inginkan hanya lewat klik
Itu membuat saya merasa bahwa ‘kemudahan’ IDE bisa jadi lebih semu dari yang dibayangkan
Ada banyak alat yang mendukung antarmuka umum seperti pemilih file standar atau shortcut CUA
Karena itu saya lebih puas memakai alternatif seperti Zim-wiki daripada Emacs
Sebaliknya, kalau selama ini bekerja terutama dengan tmux, vi, nano, atau emacs, itu bisa terasa mengejutkan
Emacs bukan sekadar IDE, melainkan alat yang memuat filsafat dan kebebasan
Banyak proyek berfokus pada use case yang berpusat pada pemrograman, tetapi di VSCode pun 75% bisa diwujudkan dengan keybinding Emacs
Inti pendekatan Emacs adalah memberi “kotak komponen” lalu membiarkan pengguna merakitnya sendiri
Rasanya seperti “senjata elegan dari zaman yang lebih beradab”
Sebagian besar struktur datanya dapat diubah, dan ada banyak fungsi imperatif seperti setq
Saya ragu apakah layout jendela tetap di Emacs benar-benar bekerja dengan baik
Saat saya mencobanya dulu, panel Treemacs kadang menampilkan buffer kode alih-alih penampil file
Belakangan ini mengatur Emacs sebagai IDE jadi jauh lebih mudah
Berkat eglot bawaan, jumlah kode elisp yang dibutuhkan jauh lebih sedikit daripada dulu, dan konfigurasi Python pun cukup satu baris
Karena itu proyek seperti ini terasa lebih dekat sebagai gerbang untuk pemula daripada untuk pengguna lama seperti saya
Integrasi REPL OCaml, emulator 68000, sampai gdb bisa dilakukan tanpa banyak konfigurasi
Setelah itu saya pindah ke vim karena lingkungan server jarak jauh, tetapi saat baru-baru ini mencoba Emacs lagi, manajemen paketnya terasa jauh lebih rapi
Hanya saja tooling terkait DevOps/SRE masih kurang
Saya suka proyek bundel paket seperti Spacemacs dan Doom
Walau saya tidak memakainya langsung, proyek seperti itu memberi kesempatan menemukan paket baru dan alasan untuk mengutak-atik konfigurasi lagi
Sederhana, tapi sangat pas dengan tujuannya, sampai bikin saya tersenyum
Saya berharap ada proyek yang membangun ulang UI Emacs secara modern
Intinya tetap dipertahankan, tetapi saya ingin antarmuka yang secara visual lebih jelas dibedakan dan tidak terlalu melelahkan mata
Saya juga suka fitur seperti editor lama berbasis Lisp yang menampilkan panduan shortcut saat tombol Ctrl ditekan
UI-nya sudah cukup baik, dan masalah yang lebih mendesak adalah arsitektur single-thread serta sering macet
Kenyataan bahwa saya harus menekan C-g setidaknya sekali sehari perlu diperbaiki
Berjalan di atas curses/SDL2 dan mewarisi gaya Emacs
Dulu itu paket eksternal, tetapi belakangan sudah diintegrasikan ke inti Emacs
Tautan commit terkait
Fakta bahwa tampilannya berjalan sama baik di lingkungan grafis maupun terminal adalah keunggulan besar
Saya sangat suka Treemacs terlihat sama di mana pun
Sayang sekali OniVim v2 tidak berhasil
Itu adalah IDE native yang sekaligus mendukung penuh sistem plugin VSCode
Tautan arsip OniVim v2
Itu juga akan berguna bagi pengembang frontend GUI lain
Neovim berkomunikasi lewat RPC, tetapi performanya cukup cepat
Plugin Neovim untuk VSCode juga bisa memberi pengalaman vim yang utuh berkat struktur ini
Pengguna Vim kemungkinan akan mengeluhkan input lag berbasis Electron dan EULA, sedangkan pengguna VSCode tidak tertarik pada Vim
Saya sudah memakai Emacs lebih dari 25 tahun, dan hal pertama yang saya lakukan pada instalasi baru adalah menonaktifkan elemen GUI
Saya sama sekali tidak memakai menu atau toolbar
Tetapi profesor pembimbing saya memakai Emacs bawaan dengan mouse untuk pekerjaan LaTeX, dan itu pengalaman yang cukup segar
Saya akan tetap memakai Doom Emacs, tetapi upaya seperti ini tetap menyenangkan untuk dilihat
Emacs punya banyak plugin UI yang inovatif seperti Vertico, tetapi pengalaman dasarnya masih kurang
Jika proyek seperti ini bisa membuat Emacs lebih mudah diakses oleh lebih banyak orang, itu hal yang baik
Saya sudah memakai Emacs lebih dari 15 tahun, dan satu-satunya harapan saya adalah mode client-server untuk penyuntingan jarak jauh seperti di VSCode
Akan bagus kalau ada solusi yang tetap bekerja baik di lingkungan berlatensi tinggi
Kalau tidak ada, saya berniat membuatnya sendiri
Meski begitu, integrasi Python di VSCode memang cukup bagus