I'm quite a noob at 'nix, so I tend to use nano whenever I need to edit something. Not sure if this is the right place, but could somebody explain the added benefit of spending the time to learn to use vim/emacs? I've tried vim, but it seems very complicated.
The added benefit for me are, staying in the terminal where I do more than just edit, normal mode makes file navigation and text manipulation an extension of thinking, fast file switching, cross platform consistency, and a low maintenance burden (though the initial learning curve/setup is steep).
I work on Python apps all day and am constantly running she'll commands, interacting with git, starting / stopping services. Along with tmux, I can switch projects incredibly fast without having to wait for an IDE to load.
If you don't interact with text most of the day, I am not sure Vim is worth the curve.
Like other comments have said, learning one tool which is available basically everywhere means you only have to put in the up front learning once.
Sure, it is a learning curve, but once you get the basic idea that it's a sort of language for manipulating text, then the rest is just adding to that.
For example, once you know that "d" is the verb to "delete" and that verbs can take nouns (like "w" for "word") then "dw" deletes a word. Now you can learn new nouns and apply to all the verbs you already know. Same for motions G is the motion to move to the bottom of the file, "dG" will delete from the cursor to the bottom of the file.
Anyway, far smarter people than me have made some great introductions. I would recommend the following:
1. go through "vimtutor"
2. Look at vimcasts
3. In a while, "Practical Vim" is a very nice little book.
It took me a week to get up to the speed of editing that I had with my former editor (gedit or so) and from then on my speed went up.
The reason I switched was pain in my fingers. I minimised the keystrokes I need in order to get my work done. After a two weeks, the pain in my fingers disappeared.
One example of such efficiency: to delete everything within an HTML tag, you just type: dit - delete-in-tag, not even that hard to remember.
I learned vim 15 years ago because I saw its history and realized that if I learned vim, I'd never need to learn another editor's key commands. If you're not going to be programming, spending 20ish hours learning the intricacies of a text editor probably won't get you a return on your time investment.
As a non-professional hobbiest, the biggest impact I can recall is that "vi" is universally included in every distro, while nano is not.
vim is complicated, but if you spend just an hour learning it's capabilities, your productivity will improve. vim is crazy(/overly?) complex though, so do not think you are alone.
Personally, I find vim's modal editing to be very efficient. When starting from a clean slate, it doesn't really matter much -- but when changing/editing existing text/code, I find it feels much more natural. It also works well without using the mouse, which is important to me because of carpal tunnel syndrome (and also helps when working without a proper mouse, such as on laptops).
I've only toyed with emacs, but based on that, I don't think emacs' idea of keyboard "chords" is as good a fit as vi(m). With standard keybindings, it also puts a strain on my wrists.
Modal editing and the "edit language"[1] (verbs, nouns, modifiers (and motions), like dw=delete word, dd/dl=delete line, d$=delete from cursor to end-of-line, dG (delete to endo-of-file, where gg/G is motion for moving to top/bottom of file respectively), ciw()<ESC>P=change inner word (cut word under cursor to buffer), add "()", escape out of insert mode, paste word between "()"). These look cryptic, but quickly starts to feel quite natural and intuitive.
My impression is that Emacs' Evil-mode has evolved quite a lot lately, and allows one to combine the best of both: a much better programming language (scheme dialect) for customization, with modal editing and vi(m) key bindings. But I've yet to play with it.
If you don't mind using the mouse, you might also want to look at ACME[2] - it's a bit more exotic, and unfortunately hasn't gotten as much support as VIM/Emacs.
The creator of Vim, Mjolnar, has a great video on "7 Habits For Effective Text Editing 2.0":
I think the idea is very powerful: aim for incremental improvement in your workflow. You don't have to use vim to do that, but you certainly can use vim for that. Another editor that might be worth a look if you're not already familiar with vim, is: https://github.com/mawww/kakoune
The main argument for Neovim/vim/Emacs over other "smaller" editors would be the plugin eco-system. I have a theory though, that beginners tend to start out with a lot of plugins, and then gradually trim down, as they realize the power that lies within the editor itself.
Still, for vim, you will probably want a plugin manager (well, maybe not now with vim 8 supporting that out of the box :-), and depending on what you're writing, some integration with a tag tools, like cscope, perhaps a search-tool like Ag/The silver searcher: https://github.com/rking/ag.vim#readme
As for plugin manager, I'm personally in the process of moving - I'd suggest looking at Vundle and/or vim-plug.
Finally, you can generally count on any unix-like system to have some form of vi(m) installed -- I'm not sure I really see that as such an important point, but does make it easier to edit stuff on a server with only ssh open to the world. But that stuff you're editing should probably be in a VCS, and use some kind of automated push to land on the server anyway! :-)