Micro: Modern and intuitive terminal-based text editor
micro-editor.github.io
micro-editor.github.io
Features that require plugins in sublime also come standard and are incredibly useful, like using it as part of a pipeline or my single favorite editor feature of textfilters, like the sublime filterpipes plugin. Meaning if I know how to do something using a regular cli tool, you just do that without having to do it in some new way. For me that means I can use Micro as an interactive front end for xsv for giant csv files of questionable provenance which require some hand fixing as well as some large scale transformation.
Since 2.0, the stability on enormous files has also been off the charts great. It will open and be ready to work on 1gb+ text files faster than wc can tell you how long they are.
Anyway, as you may have noticed, I am an enormous micro fanboy, sorry not sorry.
It looks promising though. I would love for it to become feature-rich and replace the mess that is vim.
I'll admin vim has problems, but unless it supports vim-style keybindings and modal editing, it's not going to replace vim (there is an issue for that though https://github.com/zyedidia/micro/issues/643)
1. > tab
2. type some JS
3. > save
4. (prompted by Filename:) test4.js
5. File doesn't get saved
6. > save test4.js
7. File does get saved but syntax highlighting doesn't kick in.
Seems easy enough to avoid (after figuring out step #6) but little issues like these really throw me off.
Can I use my mouse and keyboard shortcuts like I usually do when I am editing text?
edit: nevermind. i thought this was the be-all end-all i am looking for in terms of a modern terminal where I can click/drag stuff with my mouse like I can with a text editor/textarea box in a web browser.
The one benefit Emacs has always had is you can configure it once and edit files over SSH on any system. Not many other editors have this level of editing.
I lost 2 days to troubleshooting weird problems, until less revealed some configs had little droppings of random text sprinkled throughout. I opened them with micro and everything looked fine... then I opened them with nano and I could see and remove the extra characters.
Micro has a great user interface, really. I wish that I could use it, but I don't think it's wise and I will stick with standard nano for quick edits.
I don't remember the details, unfortunately. I think there was a pattern to it, like they were control characters or something. But it silently inserted them, and they were not visible within the editor, but they were visible in nano/less/etc.
Again, this was awhile ago, but I don't think they were single characters, it was a sequence of characters.
Perhaps micro doesn't autodetect encoding? Or you forced it to utf-8?
When it works i love it. I have used it as my go-to editor for at least the last 2 years for quick edits and remote development. It is distributed as a static binary you can put in your `~/.local/bin`, making it is easy to install on systems you don't have admin access to. It has decent syntax-highlighting, lots of themes, easy to configure and has a very gentle learning curve. I'd say micro is a better alternative to nano for beginner, with the exception that nano works better in more limited terminals like putty and cmd.
However, at times it simply stops being able to access the X clipboard. It doesn't support code folding. And after longer sessions it seems to run out of space on the LUA stack. (Some lua calls don't properly clear the stack when done it seems, though I haven't seen this yet on v2.0). I bring with me my keybindings everywhere, since they seem to have swapped around CTRL and ALT for word navigation and for moving lines of text, (This decision might be due to limitations in some terminal emulators). There is also a history of inactivity of the main author, leaving many PRs ignored for long stretches of time. Some are over a year old and has seen no feedback from the main author.
But I wish people would stop distributing apps via `curl | bash`. It has a number of pitfalls[0] beyond security (there's a case to be made that it's no worse than the alternative on that metric), like the potential to execute an incomplete script download. We should encourage people to download the script first, or at least wrap logic in a shell function and verify a GPG signature on the payload.
[0]: https://sandstorm.io/news/2015-09-24-is-curl-bash-insecure-p...
> As the name indicates, micro aims to be somewhat of a successor to the nano editor by being easy to install and use in a pinch, but micro also aims to be enjoyable to use full time, whether you work in the terminal because you prefer it (like me), or because you need to (over ssh).
Personally, as someone who uses nano a fair bit, this really doesn’t hit many of the reasons why I use it in the first place. It’s much less “standard” and depends on a language that is not readily available on preinstalled on many platforms (like it or not, C is everywhere and comes “for free”). I’m not seeing many additional features compared to nano, either. And a bit of a personal preference: nano’s keybindings sorta match readline/Emacs/Cocoa, so it works a lot better with my muscle memory.
I think this is the problem ;) My complaints center around platforms which aren't popular enough to merit someone actually maintaining a port for.
And go is not an interpreted language. You don't need go tools to run precompiled go binaries. Just like with C, you don't need gcc to run C binaries.
However, you seem determined to hate this for whatever reason.
You could open an issue asking for the platform you are missing- Go supposedly has good cross compilation support[0], so as long as Go supports it and you can help confirm that the builds work for the devs they might be open to it.
[0] https://dave.cheney.net/2015/08/22/cross-compilation-with-go...
I don't think that being able to build your editor is required on any platform. And a C toolchain might be "everywhere", but it's not on a default Alpine linux, the foundation for many containers. Maybe the future distros will look more like Project Atomic, Rancher, etc. anyway.
As a vim first user, that is what my wait is now only for.
Hope that some days someone creates "milli" that combines both ;)
Serious question, btw. I'm genuinely curious what you think a combination would look like.
Vim does things that I can't imagine many other editors doing, and the pletora of less obvious features like editing over ssh, vimdiff, TOhtml, print to PS, etc are just lovely.
Many would never learn those features at all, and power uers would be less likely to develop, but that seems like a starting point.
As a bonus for all you experienced vimmers, if you want to feel the real excitement of learning how to use an untuitive new tool, like back when you were green, open up easy vim in a terminal.
vim -y
Now exit after writing something.Thanks!
apt install *edit: To avoid confusion, I am asking about the vim part only, not the keybindings part.
command-edit:vsplit ~/.config/micro/bindings.json
or similair would be awesome as well.Micro would be perfect in my situation, because I'd get something nice out of the box and still be able to use my vim bindings :).
If you expect to use these shortcuts (typically with the outer fingers of your hands) your hands will rest at a slightly higher position in your keyboard, with the pinkies near Esc and Del, and the thumbs near the spacebar. (Other fingers over the letters.)
I guess it depends on what you've trained yourself to do.
I'm a long time vim key bound app user but this just makes me chuckle as vim users have already gone through learning million keybindings before they can be fluent with its use... not to mention the weird defaults.
[1] - https://amp.rs/
I am not sure what is the use of Micro that I can't already do.
Do we really need an editor inside the terminal? My current setup vim + sublime.
If you are already learned how to use vim Micro doesn't make much sense.
The main issue is probably that Windows editors rely heavily on modifier-arrow combinations. It's quite fiddly to get them all to work correctly inside the various terminals, and there is not much that a application running inside a terminal can do about that.
There used to be a very popular, though shamefully ignorant phrase going around decades ago that "the only intuitive interface is the nipple; all else has to be learned". Maybe people still spread this, but I haven't heard it in a very, very long time. Whoever came up with it clearly didn't know about the latching difficulties that newborns can have, and how we have full blown breastfeeding clinics to help moms.