4 ms·
>I've been unable to find out (actually I haven't really looked) how to use vim as a software developing tool (with basic features like autocomplete/suggest and
by buzzkillington 7y ago
>I've been unable to find out (actually I haven't really looked) how to use vim as a software developing tool (with basic features like autocomplete/suggest and error reporting)
Vi is a text editor with an incredibly powerful language to edit text tied to keyboard keys.
Emacs is a lisp interpreter that's optimized for text editing.
They are not IDEs.
- lispm 7y agoGNU Emacs comes with a Lisp IDE. Compiler, Interpreter, interactive read-eval-print-loop, backtrace, stepper, code formatting, profiling, source-level debugger, ...
- dmos62 7y agoThey can be interactive development environments if you configure them as such.
- jpitz 7y agoWhat do you consider to be the defining set of features for an IDE, and what do you think Vim and Emacs are lacking from that list?
- mdtusz 7y agoThey are not integrated. That said, vim and emacs can be in a way a component of a DIY IDE - you just need to put the work in and build it yourself. I exclusively use vim with a handful of useful plugins, scripts, and additional CLI tools in other terminal splits. The terminal is my IDE.
- kragen 7y agoThe standard way to use Emacs is as an IDE; you use M-x compile to run the compiler in a window under Emacs and M-x gdb to run the debugger in a window under Emacs, in both cases with hypertext capabilities. These are standard packages included in a default Emacs install, although you may want to bind them to more convenient keys. (I bind [f5] to recompile.) You do not need to run Emacs in a terminal, and copy and paste to and from Emacs (not to mention things like viewing SVGs you're editing) works better if you run it in a window on its own. You do not need to "put the work in and build [an IDE] yourself" if you are using Emacs. (Of course if you're writing programs in Elisp, Emacs is a more tightly integrated IDE, but the success of Emacs, org-mode, Magit, and Amazon notwithstanding, Elisp is not a very good programming language. Also, if you run Emacs in a terminal, you can quite reasonably use it over a low-bandwidth, high-latency ssh -C connection, and it becomes good for remote pair programming, which is not true of running Emacs in VNC. I haven't tried running it in Xpra.) Historically Emacs started up far too slowly and used far too much RAM to be convenient to use it in the way you're describing, as a text editor invoked by a larger IDE; I remember waiting over a minute for a new Emacs process to start up in the mid-90s. Nowadays it might be reasonable, but it still takes almost 4 seconds on this laptop, which I find to be a painfully long wait for opening a file. Also, Emacs's language-agnostic autocomplete M-/ works a lot better if you have a lot of files open in the same Emacs session. Although there are packages that configure Vim to work the same way, it is more common to use Vim in the way you describe, as a component of the IDE rather than an IDE in its own right. And Vim has the great advantage that it starts up instantly, and the advantage or disadvantage that its equivalent of M-/ (^P and ^N) is buffer-scoped, so it doesn't matter if you have more files open.
- sedachv 7y ago> Nowadays it might be reasonable, but it still takes almost 4 seconds on this laptop, which I find to be a painfully long wait for opening a file. That is one of the use cases for emacsclient/Emacs server.
- kragen 7y agoYes! I should have mentioned that. I mostly use emacsclient as an $EDITOR for git and similar programs in Emacs shell-mode, but you can also use it as a version of Emacs that you can run quickly in a tmux window, if that's what floats your boat!
- kossae 7y agoThey are certainly evangelized as IDEs.