{"slug": "corfu", "name": "corfu", "category": "editors", "category_name": "Editors and IDEs", "description": "", "recommenders": 4, "commenters": 6, "warners": 1, "score": 2.966, "rising": 1.35, "first": "2025-11-01", "latest": "2026-10-28", "why": "I switched to Eglot/Corfu/Vertico/Tempel. I much prefer the new wave.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 1, "compare": 0, "warn": 1}, "spark": [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2], "listed": true, "loved": [], "caveat": "", "short_quote": "I switched to Eglot/Corfu/Vertico/Tempel. I much prefer the new wave.", "icon": true, "domain": null, "github_repo": "github.com/minad/corfu", "official_url": "https://github.com/minad/corfu", "pricing": "", "aliases": ["corfu", "Corfu"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 804437153, "item_id": 50277322, "url": "https://news.ycombinator.com/item?id=50277322", "by": "seanw444", "date": "2026-10-28", "stance": "recommend", "quote": "I switched to Eglot/Corfu/Vertico/Tempel. I much prefer the new wave.", "excerpt": "I was using Helm, lsp-mode, yasnippet, and the like for a long time. I switched to Eglot/Corfu/Vertico/Tempel. I much prefer the new wave.", "context": "", "use_case": "Emacs completion", "switched_from": "", "story": "Emacs Turns 50"}, {"id": 804413520, "item_id": 50275845, "url": "https://news.ycombinator.com/item?id=50275845", "by": "cyrialize", "date": "2026-10-28", "stance": "recommend", "quote": "I use corfu, eglot, and vertico now.", "excerpt": "This is a good point, but I do want to mention that I feel like in the past 5 years we've had lots of extremely popular packages that hook into Emacs internals instead of rolling out their own architecture. For example, corfu [0] versus company [1]. Company works with capf, but you can also write your own backends for it (specific to company). Corfu also works with capf, but all backends are capf functions instead of", "context": "Emacs user", "use_case": "Emacs completion", "switched_from": "", "story": "Emacs Turns 50"}, {"id": 755061153, "item_id": 47191322, "url": "https://news.ycombinator.com/item?id=47191322", "by": "MarsIronPI", "date": "2026-02-27", "stance": "recommend", "quote": "I use corfu, which gives me nice inline popups.", "excerpt": "Have you tried Eat[0]? It's a reasonably fast terminal emulator that integrates with Eshell so that all commands run in Eshell have full terminal emulation (but they're still run in the original Eshell buffer, which makes it better than `eshell-visual-commands'). I haven't had any terminal emulation problems since switching to it. [0]: https://codeberg.org/akib/emacs-eat With regards to completion, I use corfu, which", "context": "", "use_case": "inline completion popups", "switched_from": "", "story": "Eschewing Zshell for Emacs Shell (2014)"}, {"id": 732548643, "item_id": 45784290, "url": "https://news.ycombinator.com/item?id=45784290", "by": "foobarqux", "date": "2025-11-01", "stance": "recommend", "quote": "corfu+marginalia+vertico+embark+orderless is the standard completion stack now", "excerpt": "Don't use doom etc, just standard emacs, otherwise you won't have any understanding of what is happening and how to fix it. Here's a list of what I think is important, roughly more important to less: - corfu+marginalia+vertico+embark+orderless is the standard completion stack now - magit (maybe also see also the \"casual\" the transient front end for other modes) - avy - (fset 'yes-or-no-p 'y-or-n-p) ; 'Y' or 'N' inste", "context": "", "use_case": "Emacs completion", "switched_from": "", "story": "Ask HN: Where to begin with \"modern\" Emacs?"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 777552802, "item_id": 48597050, "url": "https://news.ycombinator.com/item?id=48597050", "by": "setopt", "date": "2026-06-19", "stance": "warn", "quote": "I tried corfu and completion-preview several times but didn\u2019t get something I\u2019m happy with from it.", "excerpt": "Which autocomplete mode? fido-vertical-mode, completion-preview-mode, or something else that I should maybe look into? I switched from vertico to fido-vertical myself, but still use company for in-buffer completions. I tried corfu and completion-preview several times but didn\u2019t get something I\u2019m happy with from it.", "context": "Emacs user", "use_case": "in-buffer completion in Emacs", "switched_from": "", "story": "Emacs 31 Is Around the Corner: The Changes I'm Daily Driving"}]}], "who": [{"by": "cyrialize", "context": "Emacs user", "url": "https://news.ycombinator.com/item?id=50275845", "date": "2026-10-28"}, {"by": "krowek", "context": "Long time vim/neovim user", "url": "https://news.ycombinator.com/item?id=45797867", "date": "2025-11-03"}], "tags": [], "use_cases": ["emacs completion", "in-buffer completion in emacs", "inline completion popups", "emacs in-buffer completion"], "compared": [{"slug": "helm", "name": "Helm", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "vertico", "name": "Vertico", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "eglot", "name": "Eglot", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "emacs", "name": "Emacs", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50273171", "title": "Emacs Turns 50", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=45783376", "title": "Ask HN: Where to begin with \"modern\" Emacs?", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=48584135", "title": "Emacs 31 Is Around the Corner: The Changes I'm Daily Driving", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47136612", "title": "Eschewing Zshell for Emacs Shell (2014)", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1, "neutral": 1}, "2025-12": {}, "2026-01": {}, "2026-02": {"recommend": 1}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {"warn": 1}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {"recommend": 2}}, "quotes": [{"id": 804437153, "item_id": 50277322, "url": "https://news.ycombinator.com/item?id=50277322", "by": "seanw444", "date": "2026-10-28", "stance": "recommend", "quote": "I switched to Eglot/Corfu/Vertico/Tempel. I much prefer the new wave.", "excerpt": "I was using Helm, lsp-mode, yasnippet, and the like for a long time. I switched to Eglot/Corfu/Vertico/Tempel. I much prefer the new wave.", "context": "", "use_case": "Emacs completion", "switched_from": "", "story": "Emacs Turns 50"}, {"id": 804413520, "item_id": 50275845, "url": "https://news.ycombinator.com/item?id=50275845", "by": "cyrialize", "date": "2026-10-28", "stance": "recommend", "quote": "I use corfu, eglot, and vertico now.", "excerpt": "This is a good point, but I do want to mention that I feel like in the past 5 years we've had lots of extremely popular packages that hook into Emacs internals instead of rolling out their own architecture. For example, corfu [0] versus company [1]. Company works with capf, but you can also write your own backends for it (specific to company). Corfu also works with capf, but all backends are capf functions instead of", "context": "Emacs user", "use_case": "Emacs completion", "switched_from": "", "story": "Emacs Turns 50"}, {"id": 777552802, "item_id": 48597050, "url": "https://news.ycombinator.com/item?id=48597050", "by": "setopt", "date": "2026-06-19", "stance": "warn", "quote": "I tried corfu and completion-preview several times but didn\u2019t get something I\u2019m happy with from it.", "excerpt": "Which autocomplete mode? fido-vertical-mode, completion-preview-mode, or something else that I should maybe look into? I switched from vertico to fido-vertical myself, but still use company for in-buffer completions. I tried corfu and completion-preview several times but didn\u2019t get something I\u2019m happy with from it.", "context": "Emacs user", "use_case": "in-buffer completion in Emacs", "switched_from": "", "story": "Emacs 31 Is Around the Corner: The Changes I'm Daily Driving"}, {"id": 755061153, "item_id": 47191322, "url": "https://news.ycombinator.com/item?id=47191322", "by": "MarsIronPI", "date": "2026-02-27", "stance": "recommend", "quote": "I use corfu, which gives me nice inline popups.", "excerpt": "Have you tried Eat[0]? It's a reasonably fast terminal emulator that integrates with Eshell so that all commands run in Eshell have full terminal emulation (but they're still run in the original Eshell buffer, which makes it better than `eshell-visual-commands'). I haven't had any terminal emulation problems since switching to it. [0]: https://codeberg.org/akib/emacs-eat With regards to completion, I use corfu, which", "context": "", "use_case": "inline completion popups", "switched_from": "", "story": "Eschewing Zshell for Emacs Shell (2014)"}, {"id": 732765876, "item_id": 45797867, "url": "https://news.ycombinator.com/item?id=45797867", "by": "krowek", "date": "2025-11-03", "stance": "neutral", "quote": "project.el, eglot, LSP things, helm, corfu, vterm, flycheck", "excerpt": "I was in the same boat until a couple of months ago. Long time vim/neovim user, used fennel to configure it lastly, but I wanted to see what Emacs has to offer to compare. I started by reading Mastering Emacs by Mickey Petersen and from there start adding things that I felt I needed (configure key bindings, project.el, eglot, LSP things, helm, corfu, vterm, flycheck, etc) I still have things to do, but I'm not in a h", "context": "Long time vim/neovim user", "use_case": "Emacs in-buffer completion", "switched_from": "", "story": "Ask HN: Where to begin with \"modern\" Emacs?"}, {"id": 732548643, "item_id": 45784290, "url": "https://news.ycombinator.com/item?id=45784290", "by": "foobarqux", "date": "2025-11-01", "stance": "recommend", "quote": "corfu+marginalia+vertico+embark+orderless is the standard completion stack now", "excerpt": "Don't use doom etc, just standard emacs, otherwise you won't have any understanding of what is happening and how to fix it. Here's a list of what I think is important, roughly more important to less: - corfu+marginalia+vertico+embark+orderless is the standard completion stack now - magit (maybe also see also the \"casual\" the transient front end for other modes) - avy - (fset 'yes-or-no-p 'y-or-n-p) ; 'Y' or 'N' inste", "context": "", "use_case": "Emacs completion", "switched_from": "", "story": "Ask HN: Where to begin with \"modern\" Emacs?"}]}