11 poin oleh GN⁺ 2025-10-11 | 2 komentar | Bagikan ke WhatsApp
  • Seorang developer yang telah menggunakan Vim selama 20 tahun membagikan pengalamannya setelah beralih ke editor Helix dan memakainya selama 3 bulan
  • Helix menarik karena mendukung language server (LSP) secara bawaan tanpa konfigurasi yang rumit
  • Terutama dibandingkan Vim/Neovim, fitur pencarian dan multi-cursor yang unggul terasa lebih baik, sehingga memahami konteks di banyak file dan melakukan edit massal menjadi lebih nyaman
  • Saat menekan tombol, popup referensi cepat (quick reference) membantu memanfaatkan shortcut tanpa harus mengingat semuanya
  • Ada beberapa kekurangan, seperti belum mendukung pembuatan daftar Markdown otomatis, belum ada undo persisten, dan crash sekitar seminggu sekali, tetapi secara keseluruhan pengalaman pemakaiannya memuaskan
  • Proses melatih ulang memori otot Vim yang terbentuk selama 20 tahun ternyata lebih mudah dari perkiraan, dan mempelajari "cara Helix" jauh lebih efektif daripada memaksakan cara Vim

Alasan beralih ke Helix

  • Alasan mulai memakai Helix adalah agar bisa memanfaatkan fitur integrasi language server dengan mudah
    • Di Vim/Neovim, konfigurasi language server rumit, sedangkan di Helix tanpa pengaturan tambahan kita bisa langsung memakai fitur seperti go to definition atau rename symbol
    • Sebelumnya perlu memelihara banyak plugin dan file konfigurasi, tetapi dengan dukungan bawaan Helix beban itu berkurang

Kelebihan utama Helix

  • Sistem pencarian yang unggul
    • Saat mencari string di seluruh repositori, hasilnya ditampilkan dalam jendela pratinjau sehingga kita bisa menggulir file yang cocok sambil melihat kode di sekitarnya
    • Berbeda dengan plugin ripgrep di Vim, hasilnya lebih kaya konteks sehingga keputusan bisa diambil lebih cepat
  • Fitur referensi shortcut cepat
    • Menekan tombol g akan menampilkan daftar perintah perpindahan dalam popup bantuan, sehingga terasa intuitif
    • Shortcut yang jarang dipakai pun mudah dicek, jadi kurva belajarnya lebih landai

Perbedaan Vim dan Helix

  • Fitur mark tidak memakai ma, 'a, melainkan melacak riwayat perpindahan kursor dengan Ctrl+O, Ctrl+I
  • Lebih sering memakai pengeditan multi-cursor daripada macro
    • Untuk perubahan massal dalam dokumen: pilih semua dengan % → pilih dengan regex memakai s → lakukan pengeditan ganda yang diperlukan
    • Multi-cursor jauh lebih nyaman daripada harus selalu menulis macro
  • Alih-alih tab, perpindahan cepat dilakukan lewat buffer switcher dengan space + b

Hal yang kurang nyaman di Helix

  • Fitur text reflow kurang efektif dibanding gq di Vim
    • Kompatibilitasnya dengan daftar kurang baik
  • Belum mendukung pembuatan daftar Markdown otomatis
    • Menekan "Enter" di akhir item daftar tidak akan melanjutkan daftar
    • Ada solusi parsial untuk bullet list, tetapi belum ada untuk daftar bernomor
  • Fitur undo persisten belum diimplementasikan
    • Di Vim, undofile memungkinkan perubahan dibatalkan bahkan setelah editor ditutup, tetapi Helix belum punya fitur ini
  • Belum mendukung reload file otomatis
    • Setelah file berubah di disk, perlu menjalankan :reload-all (:ra<tab>) secara manual
  • Kadang mengalami crash
    • Kira-kira seminggu sekali, mungkin terkait banyaknya pengeditan Markdown
    • Karena cukup dibuka ulang, ini tidak terlalu menjadi masalah
  • Meski begitu, ia tetap menggunakan Helix

Proses transisi dan pengalaman belajar

  • Ia sempat khawatir melatih ulang memori otot Vim yang terbentuk selama 20 tahun akan sangat sulit
  • Saat liburan, ia mulai memakai Helix untuk side project, dan setelah 1–2 minggu tidak lagi terasa membingungkan
  • Awalnya ia mencoba memaksakan key binding yang mirip Vim, tetapi gagal, dan mempelajari "cara Helix" ternyata jauh lebih mudah
  • Masih ada beberapa bagian yang membingungkan
    • w di Vim dan w di Helix punya definisi berbeda tentang "kata" (Helix mencakup spasi setelah kata, Vim tidak)

Lingkungan pengeditan berbasis terminal

  • Karena selama bertahun-tahun lebih sering memakai vim/neovim versi GUI, menggunakan editor di terminal membutuhkan sedikit adaptasi
  • Workflow akhir yang dipilih
    • Setiap proyek memakai jendela terminal terpisah, dan semua tab di jendela itu memiliki direktori kerja yang sama
    • Tab Helix ditempatkan sebagai tab pertama di jendela terminal
  • Ini memudahkan menangani banyak proyek secara paralel, bahkan mungkin lebih baik daripada workflow sebelumnya

Konfigurasi

  • Dibandingkan konfigurasi Neovim yang mencapai ratusan baris, ia mempertahankan konfigurasi yang sangat sederhana
    • Pada dasarnya hanya mengatur 4 shortcut keyboard
  • Isi konfigurasi utama
    • Tema: solarized_light
    • Register yank default diatur ke + agar sinkron dengan clipboard sistem
    • # diatur sebagai shortcut toggle komentar (karena tidak menyukai default Ctrl+C)
    • ^ dan $ dipetakan ulang untuk berpindah ke awal/akhir baris (karena tidak ingin mempelajari cara lain)
    • &lt;space&gt;l diatur ke :reflow (karena sering menulis teks dan butuh reflow, serta merindukan shortcut gq dari Vim)
  • Preferensi per bahasa diatur dalam file konfigurasi languages.toml terpisah
    • Untuk Python: memakai formatter black, language server pyright, dan menonaktifkan auto format

Kesimpulan: kesan setelah 3 bulan

  • Tiga bulan bukan waktu yang terlalu lama, dan masih ada kemungkinan suatu hari kembali ke Vim
    • Pernah beralih ke nix lalu kembali ke Homebrew setelah 8 bulan (meski untuk mengelola satu server masih memakai NixOS dan puas dengannya)
  • Helix memang belum sepenuhnya matang, tetapi arah sebagai "editor tanpa konfigurasi" sangat jelas
  • Berkat kesederhanaan dan fitur bawaan, Helix punya potensi jangka panjang sebagai pengganti Vim
  • Namun apakah akan terus dipakai atau tidak kemungkinan akan bergantung pada peningkatan stabilitas dan perluasan fitur di masa depan

2 komentar

 
GN⁺ 2025-10-11
Komentar Hacker News
  • Menarik melihat pendekatan terhadap kehilangan data seperti, editor kadang crash seminggu sekali karena segfault, tapi tidak terlalu dipedulikan, tinggal dibuka lagi saja; Helix tidak punya persistent undo, jadi meski dibuka ulang, kondisi sebelumnya tidak akan kembali
    Saya sudah lama memakai Vim/Neovim, pernah membuat konfigurasi sendiri maupun memakai konfigurasi buatan orang lain, dan meski saya sangat menyukai Vim, sangat menarik bahwa Helix bisa langsung dipakai tanpa perlu pekerjaan konfigurasi tambahan
    Namun config Helix sendiri terasa sangat primitif, jadi saya merasa sebenarnya setelah beberapa tahun pertama memakai Vim, saya mungkin sudah bisa mereplikasi lingkungan yang saya dapatkan di Helix, dan ingin mengatakan bahwa dengan begitu saya juga tidak lagi hidup dalam neraka konfigurasi
    Saya sangat suka popup bantuan yang memberi tahu jalur atau keybinding yang harus diambil, karena saya tidak sering memakai fitur seperti "go to definition" atau "go to references", jadi mudah lupa shortcut-nya; saya harap popup kontekstual seperti ini diadopsi lebih luas, dan akan sangat berguna jika bisa muncul secara cerdas hanya saat kita ragu-ragu saat mengetik
    • Akan sangat nyaman jika semua aplikasi punya popup bantuan kontekstual saat memakai keybinding yang kompleks, terutama jika ditampilkan secara cerdas hanya ketika input terhenti
      Saya sudah memakai Vim/Neovim selama 20 tahun, tapi baru 6 bulan terakhir memasang plugin which-key dan ternyata sangat berguna
      which-key.nvim GitHub
    • Sepertinya konteks masalah pengaturan di Vim terlewat
      Saya terus mencoba menyiapkan language server utama dengan baik, misalnya agar "go to definition" berfungsi, tetapi terasa terlalu sulit membuat lingkungan yang nyaman di Vim atau Neovim
    • Saya setuju soal bisa mereplikasi pengaturan Vim, tetapi sangat praktis bahwa Helix bisa langsung dipasang dan dipakai di server
      Tidak ada kerepotan memindahkan konfigurasi Vim dan dependensi terkait, lingkungan pengembangan terasa jauh lebih portabel meski memang lebih dasar dibanding pengaturan Vim yang kompleks
    • Saya 100% setuju soal fitur popup bantuan, fitur seperti ini akan sangat membantu jika diterapkan di banyak tempat
      Terutama setelah melihat penjelasan dan tangkapan layar terkait di artikel tersebut, saya jadi sangat menginginkan fitur ini
      Jika popup muncul secara cerdas berdasarkan kondisi seperti timeout, itu luar biasa karena tidak mengganggu saat tidak dibutuhkan, dan otomatis membimbing hanya ketika kita ragu
    • Saya sudah memakai Helix hampir setiap hari selama 3 tahun, dan pengalaman editor down karena segfault bisa dihitung dengan jari, itu hampir tidak pernah terjadi
  • Saya benar-benar jatuh cinta pada Helix dan memakainya untuk semua pengembangan
    Sebelumnya saya terutama memakai neovim dan VS Code, dan Helix mengisi celah yang sangat spesifik
    • Desainnya indah (sangat memperhatikan detail)
    • Performa cepat (saya tidak pernah merasa ini lambat)
    • Keybinding bawaan yang ergonomis dan terasa alami
    • Bisa langsung dipakai tanpa konfigurasi begitu selesai dipasang
      Saya bosan harus mengatur neovim atau terus memakai vim, jadi saya butuh titik tengah antara VS Code dan nvim, dan Helix pas sekali
      Mungkin saya akan berpikir berbeda kalau saya seorang master vimscript, tetapi saya bukan, jadi ini sangat cocok
      Saya harap Helix tetap seperti sekarang tanpa perlu menjadi lebih modular atau lebih bergaya UNIX
      Ekosistem berbagai alat sudah ada, dan bisa juga dipakai terintegrasi dengan Claude Code (menerapkan edit baru lewat refresh buffer)
      Ini salah satu editor terbaik, sampai saya mulai mendukung proyeknya tiap bulan
      Kalau ada perkembangan yang paling saya harapkan ke depan, itu adalah kemampuan merender gambar atau rumus di editor; saya berharap ini bisa diwujudkan lewat plugin seperti protokol terminal Kitty atau sixel
      Saya terutama ingin memakainya saat mengerjakan catatan/blog dalam file Markdown
      Semoga Helix terus maju
    • Aplikasi seperti Helix yang bisa langsung dipakai setelah instalasi sangat menenangkan karena kekhawatiran soal supply chain attack berkurang
      VSCode atau (neo)vim mengharuskan kita mengambil plugin dari banyak tempat, dan itu selalu membuat saya cemas
    • Kalau memang butuh sesuatu di tengah antara nvim dan vscode, bukankah cukup pakai plugin vim di vscode?
    • Saya juga suka helix, tetapi saya tidak akan meninggalkan nvim
      Saya bukan pengembang lua, tetapi LLM sangat membantu dalam menyiapkan atau memodifikasi konfigurasi nvim
      Alasan terbesar saya pindah ke helix adalah karena pengaturan LSP/lint-nya sangat bagus
    • Ada pendapat bahwa daripada mengatakan “master vimscript”, bukankah sebenarnya neovim sekarang harus memakai Lua?
  • Saya mencoba pindah dari neovim ke helix selama beberapa minggu, tetapi mencatat bahwa beberapa fitur penting masih belum diimplementasikan
    • code action otomatis saat menyimpan, misalnya menambahkan import Go: PR #6486
    • pencarian fuzzy yang terintegrasi dengan file picker seperti telescope+rg: PR #11285
    • pembaruan buffer otomatis ketika file di disk berubah: isu #1125
    • fitur browser pohon file: ditolak untuk diperkenalkan sebagai bagian dari sistem plugin, masih belum diimplementasikan PR #5768 Selain ini ada juga beberapa hal kecil yang masih bisa ditoleransi; saya berniat mencoba lagi dalam 1~2 tahun
    • Saya memakai Helix yang sering dibangun dari HEAD lewat homebrew, jadi saya kaget mendengar Julia mengatakan sering crash
      Saya bagikan beberapa hal tentang fitur yang sudah di-merge di HEAD —

      code action saat menyimpan: bisa diatasi dengan hook saat save (berlaku untuk Go), tetapi mungkin sulit diterapkan ke bahasa lain
      pencarian fuzzy: sudah lama bawaan, dan sangat membaik berkat rework terbaru
      pembaruan buffer otomatis: fitur yang benar-benar perlu kalau editor sering dibiarkan di background
      pohon file: di HEAD, explorer hierarkis bisa diakses dengan Space+e/E, ini tambahan yang relatif baru

    • File explorer yang ditautkan memang dihentikan, tetapi explorer bergaya vim-telescope sudah di-merge ke Helix awal tahun ini
      Karena sudah ada file picker bawaan berbasis pencarian fuzzy, file explorer biasa memang tidak memberi banyak utilitas tambahan
    • Saya juga mencoba pindah dari neovim ke helix, tetapi kesalahan-kesalahan kecil akibat muscle memory perintah vim yang sudah terbentuk selama puluhan tahun menumpuk, jadi saya cepat menyerah
      Saya juga mencoba plugin keybinding vim untuk Helix, tetapi hanya cocok sebagian, sehingga malah terasa lebih mengecewakan
    • Sangat disayangkan Helix tidak otomatis mendeteksi dan me-reload file saat program eksternal (templ, sqlc, dll.) memodifikasinya
      Saya penasaran bagaimana pengguna Helix yang berpengalaman mengatasinya
  • Motivasi saya memakai Helix terutama datang dari proses pengaturan language server (LSP)
    Menyiapkan language server yang nyaman di Vim/Neovim terasa terlalu seperti pekerjaan, jadi saya pindah ke Helix
    Namun dalam 5 tahun terakhir, Neovim sudah memiliki distribusi yang serba tersedia seperti battery-included sehingga bisa disiapkan dengan sangat mudah
    Saya setuju banyak pengembang tidak ingin menghabiskan waktu untuk men-debug editor mereka, dan saya rasa itulah sebabnya JetBrains populer
    Meski begitu, bagian tentang pengguna Neovim selama 20 tahun yang belum pernah berhasil membangun lingkungan LSP yang layak agak sulit saya terima, dan saya jadi ragu apakah itu pengalaman jujur penulisnya
    • Ada kasus memakai Vim lebih dari 10 tahun tanpa pernah sekali pun menyiapkan LSP
      Pada akhirnya bahkan untuk itu pun terasa lebih nyaman memakai IDE penuh, jadi selalu ada keraguan soal instalasi dan pengaturannya
    • Saya juga sudah lebih dari 20 tahun memakai vim → neovim, tetapi kalau LSP rusak dan shortcut ikut tidak berfungsi, ada hambatan psikologis besar yang membuat saya tidak ingin mencari penyebabnya
      Saya bisa memahami pengalaman penulis
    • Mengejutkan, saya tidak merasa kesulitan menyiapkan LSP di og maupun neovim
      Saya juga menjaga konfigurasi seminimal mungkin dan memakainya secara barebones, tetapi tetap tidak sulit, dan Lua terasa jauh lebih ergonomis daripada vimscript
      Itu sebabnya saya terus memakai alat seperti ALE
      Semoga Anda bahagia memakai Helix juga
    • Ini terasa sangat aneh, bukankah LSP bawaan di neovim sudah ada lebih dari dua tahun?
    • Cukup terlihat bahwa perusahaan menengah cenderung menstandarkan tooling dengan vscode
      Editor lain tetap bisa dipakai, tetapi hampir semua debugging dan konfigurasi berpusat pada vscode, jadi ada suasana yang mendorong orang memakainya
      Pengaturan Neovim+treesitter+LSP juga sudah sangat mulus sekarang; mungkin dulu memang sulit, tetapi sekarang bukan isu besar
      Jika motivasi pindah ke Helix adalah LSP, saya jadi bertanya-tanya, mungkin sebenarnya penulis memang tidak puas dengan LSP itu sendiri
  • Model noun-verb di Helix terasa segar pada awalnya, tetapi setelah dipakai, verb-noun jauh lebih cocok
    Salah satu kelemahan pendekatan noun-verb adalah tidak adanya perintah pengulangan (.)
    Di Vim kita bisa mengulang aksi seperti dd.., dap.., tetapi model noun-verb membuat ini sulit
    Lebih mendasar lagi, ada masalah kekurangan tombol
    Terlalu banyak operasi dasar yang harus memakai tombol Alt, dan tidak seperti vim, tidak ada mode normal/visual/insert, hanya visual/insert
    Bahkan pemisahan motion/objek juga tidak jelas, sehingga tingkat kesulitan pemetaan tombol naik dan masalah kekurangan tombol pun muncul
    • Pendekatan verb-noun bahkan mengubah cara berpikir
      Dalam praktiknya terasa lebih cocok dengan cara berpikir yang dibutuhkan saat menulis kode
  • Perubahan terbaik terbaru di nvim adalah mini.nvim
    Ini kumpulan plugin buatan echasnovski yang memenuhi beragam kebutuhan sekaligus menjaga konsistensi dan dokumentasi
    Sejak nvim 0.12(nightly), cukup memasang mini.nvim dan lspconfig lewat manajer plugin bawaan (vim.pack)
  • Saya tidak bisa berhenti kagum betapa membebaskannya menyerah sepenuhnya pada alat editor yang “canggih” seperti lsp
    Saya memakai neovim tanpa plugin, autocomplete, bahkan tanpa syntax highlighting
    Saya merasa disiplin diri melalui pendekatan seperti ini membuat saya menulis kode yang lebih baik
    Mungkin ini tidak cocok untuk semua orang, tetapi saya tetap menyarankan untuk mencobanya sekali
    • Ada pendapat bahwa hidup tanpa plugin atau autocomplete masih bisa dimengerti, tetapi mematikan syntax highlighting terasa seperti penderitaan yang tidak perlu
    • Saya juga belum sepenuhnya beralih, tetapi autocomplete di Emacs saya sudah rusak selama setahun dan ternyata saya tidak terlalu merindukannya
      Saya juga tidak memakai code action atau goto definition, dan meski kadang ada error real-time, compiler sekarang begitu cepat sehingga itu tidak terlalu berarti
      Saya jadi ingin mematikan LSP; saya tidak merasa dibanding 20 tahun lalu, LSP benar-benar meningkatkan kemampuan pemrograman saya secara dramatis
      Soal syntax highlighting, saya pikir tema yang terlalu berwarna justru mengganggu fokus dan tidak terlalu bermakna
      Saya lebih suka tema monokrom atau dua warna, dan bahkan tidak merasa perlu membedakan warna nama variabel dan nama fungsi
    • Saya mendengar Mitchell Hashimoto bekerja dengan baik menggunakan cara ini, dan itu membuat saya yakin bahwa tanpa tooling modern pun kita tetap bisa sangat produktif
      Meski begitu, saya bertanya-tanya apakah keharusan mengingat semuanya tidak menimbulkan kelelahan yang menumpuk, atau apakah cara ini benar-benar menghasilkan kode yang lebih baik
    • Saya juga menulis kode tanpa alat bantu apa pun, tetapi syntax highlighting selalu saya aktifkan
      Warna memberi satu lapisan informasi tambahan yang membuat kesalahan atau error di kode lebih mudah terlihat, dan juga mempercepat penelusuran kode
    • Di proyek pribadi saya memakai pengaturan minimal seperti ini
      Saya tidak sampai seekstrem itu; saya tetap mempertahankan syntax highlighting dan umpan balik error sintaks lewat LSP
      Saya tidak memakai autocomplete atau tautan dokumentasi otomatis
  • Jika ingin belajar Helix, saya merekomendasikan versi perombakan dokumentasi Helix buatan nic-revs
    helix-editor.vercel.app
    Jauh lebih mudah dibaca daripada dokumentasi resmi, dan penuh tip/trik sehingga bisa membantu mengurangi kekurangan Helix seperti tidak adanya terminal bawaan, sekaligus mempelajari cara edit yang efisien atau keybinding
    • Saya selalu frustrasi dengan keterbacaan dokumentasi resmi, ini benar-benar informasi yang sangat membantu
  • Fitur tambahan berlebihan pada distribusi Neovim justru terasa mengganggu
    Untuk pengguna vim lama, saya merekomendasikan kickstart, terutama fork modular kickstart-modular.nvim
    kickstart.nvim
    Ini titik awal yang sangat minimalis dan bagus
    • Kelebihan kickstart adalah semua konfigurasinya ada dalam satu file
      Hanya saja ukurannya cukup besar, jadi saya mengelolanya lebih mudah dengan fold marker untuk melipat bagian-bagiannya
 
qdr7h 2025-10-13

Saya sering tertarik pada Helix karena kemudahan hal-hal seperti LSP dan pengaturan plugin, tetapi tangan saya sudah terlalu terbiasa dengan vi/vim sehingga tidak mudah beralih.