4 ms·
Even though I'm more of an Emacs user, I'd say if you're going to learn one, learn vi. Not vim, mind you: nvi, the original one (you can emulate it in vim with
by bandrami 10y ago
Even though I'm more of an Emacs user, I'd say if you're going to learn one, learn vi. Not vim, mind you: nvi, the original one (you can emulate it in vim with "set compatible"). Use it for a few months until you get muscle memory for it. Just about any UNIX-like system you'll work on, anywhere, has at least the old vi, and it's very useful to just have that muscle memory tucked away.
- Raphmedia 10y agoThat's actually a very good point. Thanks!
- moosingin3space 10y agoWhat's more, if you prefer the Emacs environment, you can run a vi-like editor in it (Evil). Emacs keybindings, on the other hand, are the default keybindings for GNU readline, which is used in a lot of shells and related programs. Additionally, I know that OS X allows you to use Emacs keybindings in any text field. (I am not a mac user, can't comment on this.) (Disclaimer: I am a happy Spacemacs user, and it would take a lot to pry it away from me.) I'd recommend learning vi, so you can learn how awesome modal editing is. Then, learn Emacs' basic commands for line editing (so as to make readline apps easier to work with). Once you've done that, evaluate whether a (Neo)vim with plugins or Spacemacs setup is better for you, then choose one of those.
- DeadBabyOrgasm 10y agoAs an avid vim user who has tried Evil mode, emacs, and even spacemacs, I fully agree with all of the reasons you listed. To add to it: - *-mode (specific syntax highlighting, commands, etc. based on project or task) - edit/save remote files via built-in TRAMP [0] - built-in plugin manager (interactive, or via emacs init config) - MELPA [1] - Non-blocking (e.g., run tests in one buffer while editing source in another) - client-server approach (neovim adopted this, but emacs has had far more time to work out the kinks) The main reasons I stay with vim are: - already committed to vi-like muscle memory (and evil-mode, while admirable, doesn't cut it) - no translation of VimL configs and plugins to Emacs Lisp - many plugins for languages, frameworks, etc. which I use daily are severely out of date in emacs (and I'm too lazy to maintain them myself) [0]: http://askubuntu.com/questions/79100/how-to-open-a-remote-file-ssh-with-my-local-emacs http://askubuntu.com/questions/79100/how-to-open-a-remote-fi... [1]: http://melpa.org/ http://melpa.org/
- moosingin3space 10y agoI prefer the Emacs environment: I love TRAMP, org-mode, and the simplicity of getting a fully-featured IDE just by adding a list to my spacemacs configuration. Do you use neovim?
- frederikvs 10y agoAs a vim user, I have to disagree with the "Not vim" part. Learning only vi would lose too many of the advantages of vim. Use vim, learn vim all the way. If/when you're working on an "old" vi (e.g. the one in busybox, for embedded developers), you'll need to drop some of the more advanced stuff, but you'll still be able to do what you want, edit some config file or such, though it may feel a bit awkward at times. But when you're doing the heavy editing, you really want to use all of vim.
- bandrami 10y agoDisagree. I'm talking about building basic editor muscle memory and knowing the base set of ex commands that you can use literally anywhere. For that matter I'd say what's really important is that you learn ex.
- WhatIsDukkha 10y agoVi is vim without text objects ie pretty poor (and one of the most important things a vim user should know). Your advice is very misleading in 2016. I don't think there is an active vi codebase, vi is actually vim in compatibility mode in most operating systems.
- bandrami 10y agonvi is actively maintained by the BSDs, which all ship it as the default system editor. Apple did too until IIRC two versions ago.