I’ve tried several agentic editors/IDEs recently and I think Cursor is the best — good clean chatting, good editing, and the best feature is tab-ing.
But the last one bugs me a lot all the time. While autocomplete is the greatest thing ever, it’s the most annoying UX ever. Here is why:
It always puts some string of code when I just want to indent to my position. I press tab and while my finger is flying to the keboard button, the suggestion appears and hitting tab applies it. Let me just tab sometimes, jeez…
When a suggestion is long enough the whole string is covered by a block with that suggestion. How am I supposed to edit text that is covered by another text? Who could invent it like this? In what sense? Why can’t you just show the suggestion below the string being edited? There is a reason to compare in that situation, but it’s not possible when one text covers another. That’s the most annoying thing in the process — instead of editing it comes to dancing around with the cursror to shake off the autocomplete suggestion panel.
Sometimes you click on some string, willing to shift+click in another place to make a selection. And after the first click the suggestion covers the freaking text and you have no idea where to shift+click. Dancing and wiggling the cursor again to reveal the actual code you want to edit.
So, what’s the big idea with covering the text with randomly popping elements?
I really hope Cursor can handle this. That’s like the missing 1% to be the absolute best modern programming tool. Doesn’t seem to be so hard to shift the suggestion block one line below.
Hi @Eugene_Volkov , Thanks for writing this up, and glad Tab is a part of Cursor you like most.
This is how Tab works today. When a suggestion is showing, Tab accepts it. Escape dismisses it (continuing to type does too), and then Tab indents as usual. The preview is drawn in the line you are editing so you can accept it in place. When the suggestion is long, that preview covers the text underneath, which is what gets in the way of reading the line or finishing a shift-click selection.
If you want Tab to stay an indent key, search for “Accept Cursor Tab Suggestions” in Keyboard Shortcuts and remap it. For a stretch of editing with no suggestions at all, click the Tab indicator in the bottom-right corner and snooze or disable Tab. Tab settings are also in Cursor Settings > Tab.
@kevinn Thanks! I’ll use Escape. Should make it easier.
The part “The preview is drawn in the line you are editing so you can accept it in place” feels strange.
When it’s about a couple of words in a line suggested (they’re shown muted) it’s ok — intuitive and right-in-place behavior. I can see the previous text and I can see the changes.
But when the suggestion comes in a block that covers the original text, everything fails. No chance to compare and make a decision whether to apply it or not (like you do in merge diffs). That may be a very useful moment if the suggestion wasn’t in a way — just look at two blocks of code and choose the best. But when it’s only one block of code visible it’s a blind desicion. And it’s always not in favour of suggestion. That’s where a great superpower breaks.