A new truly innovative text editor

Modern Modal Editing — powered by Neovim
Oni is a new kind of editor, focused on maximizing productivity — combining modal editing with features you expect in modern editors. Oni is built with neovim, and inspired by VSCode, Atom, LightTable, and Emacs

The vision of Oni is to build an editor that allows you to go from thought to code as easily as possible — bringing together the raw editing power of Vim, the feature capabilities of Atom/VSCode, and a powerful and intuitive extensibility model — wrapped up in a beautiful package.
And guess what?
It's also made on Electron
Seems like it's a cool trend now
Maybe /tech should get together and make another one?

Attached: onivim.png (256x256, 16.37K)

Other urls found in this thread:


ayy lmao what is this shit
no thanks sticking to my shitty busybox vi or vis

I might switch to a go full featured vi clone at some point in the future tho if someone writes it or I attempt.

Attached: 4d7b46afa999f2e3f4e594e258183c1f5b0d32af3e45541d4b873a04f3e0e2e6.gif (280x210, 1.39M)


>Code editors today provide several benefits that help to reduce cognitive load when writing code, and that benefit is tremendously important - not only in terms of pure coding efficiency and productivity, but also in making the process of writing code enjoyable and fun for niggers, refugees and brainlets.

So basically just a shitty VS Code clone + vi keybindings. How it is any better than just using a extension?
Also modal editing is vastly overrated. It brings unnecessary mental complexity. The whole idea of modal editing was because of old shit keyboard with not enough dedicated keys. And people somehow think that modal editing is the only way to use mouse-free workflow.
Fucking hipsters, shilling neovim all over the web, how is the best thing since slice bread and when you disagree their response is that you just didn't spend enough time getting used to it. It's like people hate themselves.

KYS. It is actually more beneficial to the world to refrain from making a new electron project, than starting or even acknowledging one.

I've found that alot of these [neo]vim shilling hipsters do so just because of the learning curve, which they'll eagerly point out to you is steep at first. They do this because it is an easy way for them to signal intellectual superiority they purport to have. Question these types about the complexity of any actual work they do with their highly productive modal editor, and they'll quickly shrink away or shift the topic back to the steep learning curve.


Stop making text editor threads you fucking autist.

Dropped again.

It's just a GUI for Neovim with a bunch of plugins included. I don't get the appeal, just get Neovim and install the plugins you want instead. If I were to make a Neovim GUI it would be just that: a GUI. You know best which plugins you want.

It also makes the editor harder to learn, because not only do you need to learn the editor, you also have to learn the shit that comes bundled with the editor on top of that.

Yeah back in the olden days when English only had the 10 letters modal editing made sense. But now with a massive 26 it's like duh.

Exactly Ctrl+ is designed for the mentally simple. And that saves brain cells so you can spend them on machine algorithms and cpu editing.

i like this post

Meh, as far as cocs go, it seems pretty harmless. They don't even have (((inclusivity))) as stated goal, just "harassment-free environment", which is pretty standard thing.
is the only line that could be perceived as using socjus lingo, but being in context of short (by socjus standards) coc that's otherwise devoid of progressive newspeak and concepts, I wouldn't be too concerned. Of course there's always chance that they'll cuck out and change it later, but that's a different thing.

Attached: nottodaybobby.png (280x210, 1.13M)

A grown adult doesn't need to be told these common sense guidelines.


Look at the picture. No arrow keys, no alt keys, no super keys.

>Exactly Ctrl+ is designed for the mentally simple. And that saves brain cells
That is not my point. In order to use vi even on the most basic level you are forced into memorizing modal commands. Every time you have to use a command you must think about it, even it is is mostly subconsciously. Same with Ctrl+, but the difference is that Ctrl commands are unified pretty much universal. Also you don't have to toggle between modes, because there is only one mode. Now imagine each of your application that you use, use different modal keys that you have to memorize.
Not the most important factor for absolutely everyone using these kind tools.

Attached: vi.jpg (600x210, 53.82K)

way to ruin it

You know what that's called user. A videogame.
If you are smart enough to play a game you are smart enough to learn that w doesn't always mean type the letter w.

This is pretty cool, specially because only the frontend is built on webshit technology, it reminds me of xi-editor.

I wonder if the people here shitting on it merely because it is built on Electron, would still feel this way if they were leading a project with a tight budget and a deadline and were presented the choice of using Electron, saving a lot on development cost and speed.

Welp. I just installed it, played a tiny bit around, and ... i can't understand how different it is from Atom/VS Code with Vim extension. If only it wasn't written in Electron it'd still have some "purpose" but it literally weighs 72 MB.

5,000 stars on Github. 10 outta 10.

Attached: soy-beans.jpg (666x443, 32.05K)

Electromeme is never the right choice. I wouldn't say it's that much faster to develop than let's say Qt. When I ported an application from eletromeme to Qt, it took 100x less resources around the board (CPU, memory, and disk space). Pretty important as my application is meant to be ran in the background while someone is expecting 0 slow down in a performance heavy application in the foreground.

Realizing that even Python has Qt bindings makes making a case for Electromeme really hard.

Python is literally the only external language that has good binding for Qt. And even that is being maintained by a single third party company. Without them there wouldn't be any good Python binding for Qt. That is a curse of making your framework in C++ instead of C.

Hey I want to make my own text editor too. Complete with my own programming language. Eventually I want to turn it into my own OS or something so I can do everything I need from inside it.

How do I do it?

How the fuck do you even make bindings to a C++ library?

C++ simply doesn't have a sane ABI. You can't FFI load C++ libraries and get symbols that point to functions. Everything is mangled up the ass, and things like exceptions simply cannot be allowed to flow into foreign non-C++ code, lest ridiculously undefined behavior take place. And Qt isn't even pure C++, it has its own autistic signal handling mechanism as an extension of C++ which makes everything even more fucked up.

So how? How did they do it? The only way I can possibly imagine it happening is they wrapped the whole thing behind C header files and linked to that instead.

Attached: out.webm (280x210, 22.83K)

Attached: snort-snort.webm (640x360, 67.69K)


By breaking your task up into manageable components.

One day you'll want to write your own processor too. That's when you might want to look into FPGAs, but you've got a lot of work ahead of you.

Make that synthesize.

Everything sounded like my dream editor until I read the Electron part.

Repeat after me, you fucking latte drinking San Fran GitHub sucker hipsters:

When was the last time you played a videogame, grandpa? Controls have been standarized and compressed, and the same button can mean different things in different contexts, and the game will choose accordingly. Not everything is Nethack anymore

Rules like these are not in place to tell normal adults what to do, they're just an statute mods can use to justify kicking out abnormal, retarded people that will eventually show up. Problem is when most of those nowadays are made specifically so the retarded ones can rule and create their bizarro world around it. Doesn't seem to be the case with this one, so, we're good.

You just outed yourself as a n00b. You don't know nothing about what's old. Nethack has full screen display, that's fucking advanced shit and doesn't work on teletype.

Attached: WTDAYHR-000036.png (1240x1754, 1.07M)

what is valid about cutting a segment of a video in shit quality but with file size as if it was of topkek quality (about 30x bigger than it would be if you used a reasonable video codec)?
there's nothing valid about it even in 2008, and now it's even less valid.

I did not make other ones.

aggressive shilling, that's why

nice way to say that, when the only other language that has them is C++.

btw what do I choose then?

look at Emacs

what would you expect if he didn't bother to find the original and just converted already shitty gif?
that's why gif is shit, the result of it is also pretty much unsalvageable. just like a 64kbps mp3 file, it sounds worse than 32k opus and there's no way to make it smaller without making it even more shit, you will need the original recording to achieve that.


What the fuck are you talking about?
That's 30 years. 30 years in software time is several eras, specially in videogame design time. Just because the technical side has been updated just so it does not bitrot doesn't mean it is modern by any means, you geezer.

How do you extend this editor?
Extending Emacs was amazingly easy, all I had to do is define function and place file with it in some sub-folder of emacs.d.

We're talking about interface. I'm telling you nethack's interface isn't that old or outdated, and in fact you probably use software with similar interface, such as vi or emacs (or other ncurses program, such as various roguelike games). Compared to ed and other ancient stuff, those are very advanced and still heavily used today.

Many will disagree with me, but my personal advice. Don't develop cross-platform unless absolutely necessary. Target the platform you use or 90% of your customers use.
C# (UWP)
a) C++ -> Qt Widget with KDE Frameworks
b) other languages -> GTK+

If you absolutely need cross platform then C++ and Qt, Python and Qt or Java with JavaFX. JavaFX while not looking 100% native is not too bad, look at JetBrains IDEs for example. Every other options sucks. GUI frameworks in general suck ass. Every single one in their own unique way.

The same way as Neovim, I presume. So more painful than Emacs, especially for complex things, but doable.

And this is different to modal editors because?? Oh right hjkl for movement.
protip sweetie: you can use arrow keys for movement too

I use both macOS and GNU/Linux. I want to be able to also jump to *BSD if I ever want to.
And re-doing UI from scratch sucks balls.

I thought about JavaFX, but I don't like that JVM is so fat like our moms, and it generally has bad publicity. Also, despite all the fucking complexity of JIT, it can't into composite value types, making it sometimes even worse than PyPy. There is some hope that these 2 things will become solvable when Java 11 gets released for example.

they aren't made with JavaFX, it's heavily patched Swing (well it used to be, maybe I misses some recent news)

Oh yeah, I think you are right. I heard similar thing, but not 100% sure. I made some toy JavaFX applications on Windows few years back and they looked pretty OK, but the development was kinda unpleasant compared to Android for example. I don't do any GUI programming these days so can't really say what is the best right now, I guess...

Just because it is not as old as prediluvian stuff doesn't mean it is not old. The only modern game I can think of that uses such inputs is StarCraft II, because the control scheme was ported from the original StarCraft and because it serves its purpose as a gookclicking game.

Except most of the time games handle the context automatically for you, and the amount of commands each context has is reduced, and they generally don't use widely different keys in each context, and in case you forgot what each thing does you usually have a small cheatsheet somewhere that constantly reminds you of what you can do. And even if you don't know what a key does, trying it out is as easy as pressing it. vim is as unforgiving with this as it can, with some keys doing some stuff only if followed by certain other keys, usually without even letting you know what you just pressed and that it is expecting another input. How in the fuck is d20j intuitive at all? Sure, you can learn vim and get used to it, but it still is a usability nightmare, and that's what causes its steep learning curve, which I guess is still the appeal of vim just so you can feel 1337.

Vim posseur detected. The Vim Way™ includes deciding which is the best Vim Command Wombo Combo™ for the situation, then counting or guessing which row and column you want to move to, so you can shave down those 7 keystrokes required to move to the beggining of the next section to 4, while feeling like a productive pro while doing it. If you do it enough times you may end up saving enough time for posting about how easy it is to write haiw90alhd to fix a typo than pressing Ctrl + arrows nine times to move around, while simultaneously claiming moving your hand out of the home row is a considerable impact to your productivity and that you should spend less time in INSERT mode and more time thinking about code.

Actually Android has one of the most comfy UI toolkits. Almost everything is easy and pretty obvious how to achieve with the right combo of layouts, etc. They really hit the nail in the head.
Never had seen anything similar for desktops, cross-platform or not.

Almost all cursor movement that can't be expressed in two simple, uncounted actions at most (so nothing more complex than, say, moving to the start of the previous line) ought to be done by mouse or by searching.


So you've never used a modal editor and you think they are dumb. Good stuff.

Oh, but I have. You probably haven't used a proper IDE though.

sure thing buddy.

Are you the kind of guy who doesn't get a programming joke because it does not compile? BAZOOPER!


user, I think you may be autistic. I am also not the guy who recommended using hjkl. :^)


No I'm a 1337 pro coder who can use a modal editor. Head on back to your kiddie pool IDE before you hurt your brain honey.

Is anything not infected by CoC malware these days?


I never said editor is for productivity. I said the opposite that this "productivity" is so minimal its pointless for many people. The increased mental complexity is a handicap to them. Only if you are willing to sacrifice that for extra productivity then modal editing is an improvement. Many vi users can't grasp that idea because they are too autistic.

In C++.

Actually, in 2008 it was the only animation format widely viewable in web browsers and uploadable on imageboards.
See above. It was the only format possible back when it was cut. You'd have to hunt down the original video material and recut the clip from scratch if you wanted it "the right way" WHICH YOU YOURSELF ADMITTED YOU CANCEROUS FAGGOT:



Transmission has a very elegant solution to the problem: the bulk of the program is written in C, and then the GUI can be written in whatever you want, be it GTK, Cocoa, ncurses or HTML/CSS/JavaScript.

Neovim takes it even further: the program can run headless and a GUI is an entirely separate process that communicates with Neovim over a well-defined RPC API. This is probably the best solution because you can just throw away a GUI and swap in another one at any point. But it's also much more work to make it happen.

it doesn't do the job
unless you stick to unix philosophy (worse is better)

This is the future, goys. Frameworks on frameworks, web apps on the desktop, trends making them obsolete in a year or two, signed and guaranteed DRM in webasm making it impossible to save or open text files with incorrect opinions, Soros-funded malware being necessary to log in to Faceberg and Yourube, social media history analyzed like a credit score when you apply for a job or a loan or an Ez-Pass to use the express lane.

It's all designed to tie together. If you check out it's a black mark on your score but it's better than staying in.

Little do the leftists know that social credit is coming soon, all those "free" hormone pills will be charged to your social credit account, automatic debt for each liter of air.

What in the sam hell is "modal editing"?

To switch between actually typing and moving the cursor, and doing other things, you have to press a key. It's completely gay, and the only reason it exists is because vi / vim are descended from truly antique editors which were designed for use with a Teletype and printer, which obviously couldn't display a whole screen of information at once like we've been accustomed to since the 1970s.

Naturally it makes sense to recreate this retarded environment for today's computers, which all have high-resolutions displays and windowing systems.

lmfao this guy

Everything I wrote is true, you're just salty that more people aren't choosing to use a deprecated line editor-based (((modern))) piece of software.

this doesn't even qualify as shitposting

truth rarely qualifies as shitposting

Point out the factual errors in the post or be labeled a Jew.


It's $current_year+3 and we should stop using (((modern))) deprecated outdated 70s antique teletype software and instead use high-resolution windowing systems. I'd also recommend a GUI interface perhaps in Visual BASIC.

So your only argument is a misrepresentation of what another user said?

Jew confirmed.

They use fucking Discord as a chat for development. LOL

Never heard of lighttable. Checked it out. I kinda like it. so far