If, on the other hand, I'm not the target audience, the website should make that clear, e.g. "Amp is a Vi-like editor designed for people who find Vim too hard to get started with" or whatever.
If, on the other hand, I'm not the target audience, the website should make that clear, e.g. "Amp is a Vi-like editor designed for people who find Vim too hard to get started with" or whatever.
Vim is my main editor. I have used it daily for years.
At the beginning I didn't like it. Then I spent time on it. Configured it. Installed plugins.
And I still don't like it.
But then I try other editors and either I miss one feature or I start pressing j to go down or whatever. I'm Vim's hostage.
This editor seems to target me personally.
The community is very helpful. They have a reasonably active Discourse and Discord server which has been extremely tolerant of my inane questions.
For me, a mediocre programmer, there are a couple issues that have made it harder to switch to:
1. I wish someone would package of version of Kakoune that has all the quality-of-life stuff already in there. Setting up this editor feels like getting a whole new hobby. I just wanna work more effectively.
1b. It's very UNIX-y. Probably many people will love this aspect, but like, it does exactly one thing and that is edit text. You need to call out to other programs or plugins for any other functionality.
You can absolutely configure it to interoperate with many other UNIX programs to get something IDE-like, and looking through the setups of other users, many people do this. However, I would like a canonical way to do IDE things, rather than 100 different options. When adopting a new workflow, I just want to be able to function with it before I optimize it for my specific preferences.
2. The teaching infrastructure that exists for vim isn't there yet. Kakoune uses a different language. Rather than just the list of functions, it should really start with the most common things to workflow and then get deeper in the weeds.
Anyway, it's a very cool and good FOSS project and everyone reading this comment should look into it. If you're more competent than me you will probably like it. I found this[1] blog post helpful.
The extremely rare missing vim feature (to be honest none comes to mind) is more than balanced by the features from Pycharm and sane defaults.
Best part is that I'm not disoriented when I end up on a server with nothing but vi : it's still the same keystrokes.
But, i agree with the GP comment - i don't see anything on this intro page that tells me why i'd want to use it.
I really want to like Vim again though, for Onivim (2). Looks so pretty.
yeah there's nothing like it. but vim is just so polished and the vim-keybinding ecosystem is so big.
Personally, I use vim because:
- Most of the time I live on the server and running vscode (or any gui based editor) over X feels kinda useless.
- I don't like the sftp/sshfs based solutions
- (neo)vim is light enough that I can install anywhere (I have permissions) if its not already present
I'm still curious what was special about my environment, since it seems to work for most people.
Doesn't any modern browser or IDE have a VIM emulation plugin?
I mean, the input modes ARE the main reason to use Vim. I haven't used Vim as a main editor for almost 5 years now, but all the basic commands are still on the tips of my fingers, because in every editor or IDE I move to, Vim emulation is the first thing I install. It's the most productive developer tool that I've ever learned, and it's like a passport of a country that gives you ability to live in any country in the world, to the point where you don't ever return home.
A very different story is using some other shortcuts like "F5" for single step and "F6" for continue etc.. I always forget about these after 2 weeks not using it.
1. select the next 3 occurances of "foo"
2. Press End on keyboard to jump to end of line (even if the part after "foo" was different each time)
3. Start typing away
You can also use the arrow keys to move the cursors, hold shift to do selections, alt + arrow to jump to the next/previous word and so on. Of course all of this can be done with regexes as well, but it takes longer usually to come up with just the right one, even if you are good with them.It is easy to see what is going to happen. Also, you can do things that aren't possible (or very hard) with regexes.
Example: You want to add an argument at the beginning and at the end of a sequence of `foo(...)` invocations. You hit the "mark current word" key, now the first "foo" is highlighted. You hit the "mark next occurrence" key a couple of times. Now you have, say, five "foo" that are highlighted.
Now you hit cursor-right and you can immediately see the five cursors move after the opening parenthesis. You type, say "1, " and you see that argument being added to the beginning of the parameter list.
Now for something that isn't easy to do with regexes: You move the cursors to the left until they are all on the opening parenthesis. Now you hit the "jump to matching parenthesis" key. Now you have five cursors on the closing parenthesis. You move them to the left and add your argument.
Each individual editing step is immediately visible. You didn't have to invest the time to come up with a regex that does the trick. But you were able to avoid doing something five times.
Once you get the hang of it it is really a quite valuable tool, which gladly you can find in more and more places (e.g. the inspect stylesheet editor in firefox also has multicursors).
I showed multicursors in atom to a greybeard when we were editing some yaml for a ansible configuration and he was really impressed with the ways you can use this feature for that stuff.
If multicursor was to ever break in vscode, I would switch back to sublime text in a heartbeat.
Multiple cursors is the dealbreaker feature for any editor I use.
Everything else is just too painful.
For example, global search and replace is the same commands as search and replace, except you select the entire buffer first so that the search will make one selection per regex hit in the file
It lazy loads everything and supports most languages, has help throughout, and a responsive community for any issue you may encounter.
<esc> :wq
Is the longest it's ever been for me and :q
Is the norm if I'm in visual mode and haven't edited the buffer.Who has trouble with ":x"? It's no more keystrokes than any other editor uses. I guess if you are in insert mode it's `esc :x`. I suppose you could bind a single keystroke in normal mode, but it's not that big a deal.
Multicursor would be fantastic. Macro goes pretty far to supporting what you do with multi cursor but falls a little short.
Leaving vim is easy :x if you want to save your work :q if you don't need to :q! if you want to discard all changes to a file These are 3 different operations with the 2 common cases taking 2 characters.
Ultimately if you just wanted different defaults you could trivially provide it as a plugin to vim.
I think the aim is really to have a battery included terminal modal text editor (with some common Vi bindings)