frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Ki Editor - an editor that operates on the AST

https://ki-editor.org/
101•ravenical•3h ago

Comments

armchairhacker•3h ago
Vim-like (terminal and VSCode extension) that prioritizes syntax-based navigation.

Comparison to Vim and Helix: https://ki-editor.org/docs/comparison#user-content-fn-1

worksonmine•1h ago
That comparison table is strange and sometimes wrong. Neovim for example detects and updates external file changes by default. And the coherence of the keybindings in Ki is "Great" bit vim/helix:

> As you can see, there's no single logical categorization for these keymaps, they are either lowercase-uppercase, normal-alt, left-right bracket, or outright unexplainable.

Word, End, Back, Change Word and even Change Inner (, etc are very logical to me and I feel like I'm talking to the editor when editing. I get that it doesn't make sense when one has learned another way to do it, but it does make total sense you just have to make an effort to try and understand it.

It's like learning and always driving automatic then calling manual "outright unexplainable". You simply learned another way and are conditioned into believing that's the one true way. It shows the creator comes from VSCode (multi-cursor is a useless feature, just use s/search/replace and get used to macros and a whole new world will open).

pbronez•1h ago
I had an experience like this when I switched to a Keyboardio split keyboard. It was impossible to use at first. Then I do some deliberate practice with a typing tutor app and now I love it so much I own multiple.

Is there a good tutorial for some of these advanced text editing features?

In particular I’d like to get platform independent shortcuts / key bindings. I use both windows and MacOS daily, and it throws off my muscle memory for shortcuts like “go to beginning of line”

davidee•49m ago
I think you've touched on it, but I'm going try to take it one step further into explicitness.

Just over a year ago I decided to switch to Neovim. The reason for switching was personal; I was struggling with what I'll call "clutter" in other tools and I wanted a tool that would reinforce, at least lightly, a mode of working that promoted focus on what I was working on, while making it easy to reference other files without loading up my editor with tabs and other visual clutter (buttons/menus) I don't care about most of the time.

I took the advice I seemed to bump into repeatedly: try out vim mode in my current editor before making the plunge.

I really struggled at first. It felt wildly foreign. All the shortcuts were nowhere near to the world I was familiar with.

As I was about to give up, I ran into some advice that was along the lines of "stop trying to memorize shortcuts and start thinking in terms of what you want to achieve" (words and motions in vim-speak).

Your example of [C]hange [I]nner is a great one; that one in particular was life changing. Sure there are some words and motions that do require memorization, but so many others just flow naturally. And once you start thinking in actions, it's easy to see how they can layer on top of each other in really elegant ways.

I'm not even here trying to tout vim-like editors, I'd wager there are many editors that have some semblance of this kind of interaction, but rather to reiterate there's a shift from a PoV of function vs. goal.

Again, I don't think this is "the right way" but rather one of many perspectives that works in context with the phenomenology of me.

hou32hou•48m ago
> It shows the creator comes from VSCode

Hey, one of the creators here, I actually daily drove Neovim for two years, before switching to Helix for a while, then finally Ki.

> multi-cursor is a useless feature

I was a Neovim macro user until I figured out how insane that was compared to multi-cursor after using Helix.

worksonmine•31m ago
> I was a Neovim macro user until I figured out how insane that was compared to multi-cursor after using Helix.

Multi-cursor was the first plugin I installed when I moved from VSCode to Vim because I was used to hitting Ctrl+d to select all words and then replacing. Does Helix do something different?

1) First I reach for <C-v> for visual block selection if everything is neatly aligned.

2) Next choice is %s/search/replace(/c if I need confirm).

3) Macros, and I love it everytime I get to use them. I just record the movements, copy what I need to copy, paste it where I need to paste it, and it's repeatable for every line or block where the *formatting* matches. And this is the important part, the words don't matter. I still feel like a wizard using them.

As far as I understand multi-cursor option 3 is a no-go without macros if the words don't match. But macros don't care as long as the movements translate to the same edits. How does Helix multi-cursor work that make macros insane?

hou32hou•18m ago
Sorry for derailing a bit, the search and replace using a query make sense for purly textual (non-syntactic) editing, but if you want to apply consistent syntactic modifications across multiple locations in the same file, you will need both multi-cursor and syntax node selection/navigation/modification.

It's hard to explain unless you actually try Ki, because it is a paradigm shift

cassepipe•31m ago
I still think their point about search and replace still stand though. I make most my edits with regex in neovim nowadays and I feel this is the superior paradigm: You don't even need to get to some specific location in order to edit it. I also almost only use search to move around the file and I can even reuse the searches for substitutions. It makes most vim motions and commands almost useless for me nowadays.

I also feel like macros are a more clunky and error prone way to do that substitutions can do. Almost never use them.

gorjusborg•10m ago
Yeah, macros are definitely helpful at times, but not as much as one might think.

I think the same goes for multi-cursor, though.

shashurup•2h ago
In my classification of editors:

1. Orthodox. Mostly focused on looks and integrations.

2. Modal, Vim improvement. Focus on keeping basic Vim keybindings with minor improvements.

3. Modal, rethinking Vim approach.

Ki falls into the third category which I constantly monitor.

noosphr•2h ago
4. All of the above.

Which is Emacs.

skydhash•2h ago
Vim is Emacs applied to Vi
shashurup•1h ago
I know, I use Emacs+Evil. I'm going to give Ki a try and, in case of success, to think about writing Ki binding for Emacs.
amusingimpala75•7m ago
emacs already has structural editing packages like combobulate
ablob•1h ago
This is the first time I've heard about Emacs trying to look nice.
whobre•10m ago
Right, but we are discussing editors here.
hwhshs•1h ago
Vim improvement

So Ed Visual Mode Improved Improved!

jshmrsn•1h ago
I am working on a modal code editor project that you might find interesting then. It also operates on an AST directly, which is represented as UI nodes which closely resemble normal text layout. Email in profile if you’d like to give it a try and possibly give early feedback (still in early development).
gorjusborg•13m ago
Exactly the same for me. So far, there have been many challengers but the same champion (subjective, I know).
scriptsmith•1h ago
The "First-class syntactic selection" reminds me of my most used shortcut(s) in Jetbrains IDEs: the Expand / Shrink Selection.

  Ctrl + W
  Ctrl + Shift + W
https://www.jetbrains.com/help/idea/working-with-source-code...

It really changed my perspective on interacting with the 'text' of a file.

VS Code, Zed, etc. have similar operations, but in my experience they expand and shrink too coarsely.

enkursigilo•1h ago
Also available as `incremental selection` in Neovim via tree-sitter.
parallax_error•30m ago
This has got to be my favourite feature of IntelliJ, along with the dumb context actions menu
hwhshs•1h ago
Why not a vim plugin
hou32hou•46m ago
We have one underway in https://codeberg.org/alicealysia/ki-bindings.nvim
cassepipe•46m ago
> Note that the Ki keybindings cannot be simply implemented in Vim/Helix via key- remapping, due to the lack of the concept of Selection Mode, and implementing that requires major architectural changes in the core.
Myzel394•1h ago
I'll wait till an Emacs package is available
reedlaw•47m ago
https://github.com/mickeynp/combobulate
evelant•1h ago
I made the vscode integration for this. I feel bad that I haven’t contributed much since, it’s a really cool project. IMO it’s important to try to innovate in the foundational tools of our craft (editors, languages, tooling, OS, etc) which Ki does.
groundzeros2015•38m ago
Have you seen any of the lisp tree editing modes for eMacs or vim?

Ki Editor - an editor that operates on the AST

https://ki-editor.org/
103•ravenical•3h ago•30 comments

Plasma Bigscreen – 10-foot interface for KDE plasma

https://plasma-bigscreen.org
510•PaulHoule•14h ago•158 comments

Tell HN: I'm 60 years old. Claude Code has re-ignited a passion

637•shannoncc•13h ago•502 comments

UUID package coming to Go standard library

https://github.com/golang/go/issues/62026
244•soypat•11h ago•159 comments

48x32, a 1536 LED Game Computer (2023)

https://jacquesmattheij.com/48x32-introduction/
31•duck•2d ago•3 comments

this css proves me human

https://will-keleher.com/posts/this-css-makes-me-human/
300•todsacerdoti•16h ago•96 comments

US economy sheds 92,000 jobs in February in sharp slide

https://www.ft.com/content/6542bd0c-59ca-493b-ab5d-2d69e4e00cae
82•doener•1h ago•5 comments

Self-Portrait by Ernst Mach (1886)

https://publicdomainreview.org/collection/self-portrait-by-ernst-mach-1886/
9•Hooke•1d ago•0 comments

Helix: A post-modern text editor

https://helix-editor.com/
206•doener•14h ago•87 comments

Galileo's handwritten notes found in ancient astronomy text

https://www.science.org/content/article/galileo-s-handwritten-notes-found-ancient-astronomy-text
161•tzury•1d ago•31 comments

QGIS 4.0

https://changelog.qgis.org/en/version/4.0/
113•jonbaer•5h ago•22 comments

Working and Communicating with Japanese Engineers

https://www.tokyodev.com/articles/working-and-communicating-with-japanese-engineers
66•zdw•3d ago•30 comments

LLMs work best when the user defines their acceptance criteria first

https://blog.katanaquant.com/p/your-llm-doesnt-write-correct-code
293•dnw•12h ago•210 comments

Lock Scroll with a Vengeance

https://unsung.aresluna.org/lock-scroll-with-a-vengeance/
29•etothet•3d ago•6 comments

Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

https://github.com/moongate-community/moongatev2
263•squidleon•23h ago•151 comments

Editing changes in patch format with Jujutsu

https://www.knifepoint.net/~kat/kb-jj-patchedit.html
39•cassepipe•3d ago•7 comments

Uploading Pirated Books via BitTorrent Qualifies as Fair Use, Meta Argues

https://torrentfreak.com/uploading-pirated-books-via-bittorrent-qualifies-as-fair-use-meta/
127•askl•4h ago•84 comments

Sarvam 105B, the first competitive Indian open source LLM

https://www.sarvam.ai/blogs/sarvam-30b-105b
106•logicchains•6h ago•26 comments

Palantir and Anthropic AI helped the US hit 1k Iran targets in 24 hours

https://www.moneycontrol.com/europe/?url=https://www.moneycontrol.com/world/how-palantir-and-anth...
9•rainhacker•33m ago•2 comments

Boy I was wrong about the Fediverse

https://matduggan.com/boy-i-was-wrong-about-the-fediverse/
70•wrxd•4h ago•38 comments

Querying 3B Vectors

https://vickiboykis.com/2026/02/21/querying-3-billion-vectors/
67•surprisetalk•4d ago•9 comments

Modernizing swapping: virtual swap spaces

https://lwn.net/Articles/1059201/
40•voxadam•1d ago•33 comments

Compiling Match Statements to Bytecode

https://xnacly.me/posts/2026/compiling-match-statements-to-bytecode/
5•ingve•2d ago•1 comments

Tech employment now significantly worse than the 2008 or 2020 recessions

https://twitter.com/JosephPolitano/status/2029916364664611242
938•enraged_camel•20h ago•621 comments

The Case of the Disappearing Secretary

https://rowlandmanthorpe.substack.com/p/the-case-of-the-disappearing-secretary
5•rwmj•48m ago•0 comments

My application programmer instincts failed when debugging assembler

https://landedstar.com/blog/posts/how-my-application-programmer-instincts-failed-when-debugging-a...
20•lifefeed•1d ago•14 comments

CT Scans of Health Wearables

https://www.lumafield.com/scan-of-the-month/health-wearables
228•radeeyate•23h ago•47 comments

What canceled my Go context?

https://rednafi.com/go/context-cancellation-cause/
78•mweibel•3d ago•44 comments

Launch HN: Palus Finance (YC W26): Better yields on idle cash for startups, SMBs

54•sam_palus•19h ago•81 comments

Show HN: Kula – Lightweight, self-contained Linux server monitoring tool

https://github.com/c0m4r/kula
67•c0m4r•13h ago•42 comments