Live data from Hacker News

Why is the terminal input so weird?

warp.dev

151–160 of 185 posts

Re: Why is the terminal input so weird?

#151
post #94

Dark pattern #1: Allowing the user to download the app and only then requiring the user to login/signup. This is because you know very well almost nobody will bother to try your terminal if you make it clear you require a login up front. But if they've gone to the trouble of downloading it, dragging it to Applications and running it, then maybe they'll go all the way. Dark pattern #2: On sign-up, you "agree to our te…

If you're on Apple iTerm solves most of the problems outlined in this blog post. Option+click moves cursor wherever you want, cmd+click on any url or path to open it. Plus tabs, panes, and a bunch of other neat stuff. Free, open source, no login required, but it'd be cool if you donated to them.

> Option+click moves cursor wherever you want

So it doesn't solve the problem then. The problem is that terminal input doesn't respect[1] the other conventions we're used to. I've used iTerm for... 5 years now? and had no idea option+click was a thing. I even had to enable a non default keybinding preset (something named like "natural keybindings something") to get the basic option+left/right arrows to move the cursor word by word.

I like iTerm, but a more natural prompt option would sure be appreciated. Warp may not be the solution because of dark patterns but there are no reasons to keep terminal input stuck in the past, they're onto something. Just the ability to consider inputs and outputs as more than just text is great: I can actually copy a whole output without having to select the characters and being careful not to go to far/not far enough, or getting stuck because the output was bigger than my configured scrollback. You could also get true output separation between stderr and stdout.

[1]: yes I know it's technically the other way around, no I don't care

Re: Why is the terminal input so weird?

#152

Earlier quoted context omitted.

I need AI in my terminal like Xerox needed intelligent character compression that randomly alters digits in copies.

From what I can tell, lots of people have different preferences. Some might rather enjoy a smarter autocomplete, much like IntelliSense and products like it made the older IDEs feel like text editors. Plugins like TabNine/Codota went a step further and attempted to make the suggestions even more relevant and context sensitive. As long as this "AI" doesn't just randomly execute commands, but rather suggests you what o…

Oh trust me, this terminal does have major problems executing things automatically. If any command runs in the background, the stdout seems to flush into your input editor area LOL

https://github.com/warpdotdev/Warp/issues/1796

Re: Why is the terminal input so weird?

#153

TO better understand the architecture, how will this work if I want to use the shell in vi mode? IIUC that would not be possible with their setup, right? Warp would need to implement a vi mode, correct? Is it possible to work with vim in warp?

You can launch vim within Warp without any problems, but vi/vim mode for the line editor itself isn't supported in Warp just yet. You're correct that this is because we'd need to implement VI mode ourselves (tracking issue here [1] if you are interested). This is the tradeoff of building our own editor instead of using the shell's--we can build features that wouldn't be possible in the shell directly but it requires…

Thanks for the answer! Still curious, how does vim work in Warp? Do you know what process are currently running and then you stop buffering the chars and you pass them directly to the process in foreground? I didn't read the code, but from the article it seemed that you pass the text to the shell only when pressing enter, I think in vi(m) you want to do it the whole time (?). If I want to insert something I just type `isomething to insert`. How does this work in Warp? What happens if I put the process in background and then in foreground again?

Re: Why is the terminal input so weird?

#154

if $EDITOR is properly configured, C-x C-e and hey presto, all is well for complex commands.

The fact that such a command exists is an argument that terminal input is indeed bad.

i bother with it very rarely. readline is more than enough.

Re: Why is the terminal input so weird?

#155

Let's be honest here, nobody is using this warp terminal as long as it's closed-source and especially not when it has built-in tracking. To the warp terminal developers: I'm sure your terminal program is great, but stop posting this content-marketing stuff here. It's not your audience.

"nobody is using this warp terminal as long as it's closed-source"

Lots of developers use Terminal.app, so that clearly isn't a real problem. There's no obvious reason why developers would be willing to buy a closed source IDE, operating system or cloud services but not a terminal emulator. I think people are reacting more to the login requirement than anything else.

Re: Why is the terminal input so weird?

#156

Let's be honest here, nobody is using this warp terminal as long as it's closed-source and especially not when it has built-in tracking. To the warp terminal developers: I'm sure your terminal program is great, but stop posting this content-marketing stuff here. It's not your audience.

whats hilarious, is on their discord, they want this upvoted. I dont think they realize this is bad marketing for this article to be upvoted.

" We're launching our new and improved input editor. We just posted our article on the history of the terminal input, and how we could innovate on it.. We would appreciate if you could show the post some love. "Why is the terminal input so weird?” (navigate to HN and go to the “new” page and vote / leave a comment - we aren’t linking to it here because that can trigger HN’s moderation filters)"

Upvote this!!!

Re: Why is the terminal input so weird?

#157
post #85

As a casual terminal user, I have found Warp to be a nice improvement over standard terminals. Although most of the issues raised in this article can be addressed with various shortcuts, it is nice to not have to remember these when I only pull up the terminal a couple times a week.

Didnt read their article. I have used warp to try it out like an idiot and realized that many of the things people have mentioned here were just things I did not know. Such as ALT + CLICK to bring my carot where I need it and CTRL+X and CTRL+E to use vim to edit more advanced stuff. I always use CTRL+A and CTRL+E on any shell to jump to front or back but I think I have enough information from this hackernews thread to uninstall warp.

Re: Why is the terminal input so weird?

#158
Wow. The intent and the idea is so cool. But it's so clearly been touched by VC funding, it almost makes me wonder if this is a (really expensive) gag.

Requires an account? Check. Crashes IMMEDIATELY upon opening? Check. Doesn't support any tool I use (e.g. FZF, key-bindings, etc)? Check. Spammy "iS tHe tErMiNaL oN lIfE sUpPoRt?" blog post? Check.

Do they even know their target market is mildly allergic to all of the above? Yikes.

Re: Why is the terminal input so weird?

#159

Earlier quoted context omitted.

Code is really a tree of stuff. There are are somewhat more powerful editing paradigms for trees than bare text. The editor I'm imagining looks and works a lot like your typical code view, but has a better understanding of the semantics and makes things there are keyboard shortcuts for more visible. From the top of my head: First-class code folding and commenting and actions primarily on blocks rather than lines. e.g…

There is a big problem with graphical programming: it is very hard to diff graphs in a graphical way. How can you even give review comments on changes? How would an automatic merge work? Also, the benefit of graphic representation of an algorithm is that it gives an overview that is easier to understand. But the whole graph with the real details, is just harder to understand. But the details are necessary, they make…

You're right: The tooling ecosystem for text-based programming is already very mature, which is why I wouldn't want to replace it. Current programming languages are stored as text anyway (trying to replace an entire established ecosystem without any steps in between doesn't really work, see Microsoft's constant failures attempting to bundle new things).

That's why my imaginary editor would work with that format, just in a more semantic/graphical way - as an enhancement rather than a totally new way of doing things. In fact the most practical way to go about it (let's work within the current ecosystem as much as possible!) would probably be to make a VSCode extension.

Post reply on HN