Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to learn C++ in school using a UNIX environment and our professor urges us to use VIM or Emacs because a GUI is disadvantageous for two reasons:

  1. Moving your hands off the keyboard and using the mouse to move around reduces coding speed
  2. The GUI can be slow over a network.

Now I understand these reasons, but I feel like my professor is a bit bias with using non GUI editors. I mean Kate is technically through the terminal, which I really like. Besides disadvantage number 1. if you are on a fast network, is the speed difference really that slow for executing commands through SSH? I mean is it a few milliseconds slower or is it really bad to use Kate and I should just stick with VIM/Emacs?


share|improve this question

closed as not constructive by uther, rahmu, jw013, Ulrich Dangel, jasonwryan Jan 24 '13 at 18:01

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

VIM and emacs both have GUIs, I personally use the emacs GUI. Learning vi/vim is a requirement, since it's the POSIX standard editor and will be one every POSIX system you touch. – jordanm Jan 24 '13 at 16:09
Comparing "speed" between editors... if Kate is fast enough for you than good. However just like your professor, and many members here I'm sure, I'd recommend taking the habit of using vim/emacs. Not because what you have is bad, but because using them is ... better. – rahmu Jan 24 '13 at 16:32
I switched from Kate to VI at some point, I think way to late. Also, he is not referring to network speed, but to typing speed. Typing is way faster in VI – Bernhard Jan 24 '13 at 16:36
What is your question? Is it "should I use kate or learn vim/emacs?" or "are GUI programs over a ssh X forwarding too slow for practical use?" or "Is using a mouse with a 'modern' editor faster or slower than traditional keyboard-only editors like vim/emacs?" Only ask one question per ... question. Your title is a bit vague given your question itself - "Kate vs Vim/Emacs regarding speed" - is that editing speed / efficiency or network speed? – jw013 Jan 24 '13 at 16:47
In the case you need to work over (very) slow network connection or on systems which do not have installed a graphical user interface (like most servers), you are dependant on editors with a TUI. – jofel Jan 24 '13 at 17:07
up vote 3 down vote accepted

I'm sure there will be a difference in speed over a network, but I'm not sure it will be enough to make your decision. It may only be a minor annoyance from time to time.

However, I would emphasize point number 1, especially for coding. Here are some things I use VERY often in vim when I'm coding:

  1. comment/uncomment blocks of code all at once (using block highlighting and :s)
  2. run make directly from within vim (:make)
  3. look up man pages (K) of text under cursor
  4. make folds (zf, zo, zc) to hide blocks of code that I don't want to see
  5. copy lines with substitutions (y, p, :s)
  6. move around code efficiently (lots of ways)
  7. use buffers and split panes to edit multiple files, move code between files (:vs, :open, :b)

I haven't used emacs, but I believe all these capabilities are available there as well.

If you take up one of these editors, you will think it's a pain for 1 week, be comfortable for a few weeks, and then never want to go back.

share|improve this answer
Another very nice feature of vim is the vertical block mode, used for example here. – jofel Jan 24 '13 at 16:58

Besides what was said above, your teacher's advice is trying to create your habits for the future. You can always get a CLI interface on Linux/Unix, and it will be consistent, unlike GUIs which won't be always available (e.g. on a server) or might differ from what you're used to. So I'd go with vim, which, as said before, will be there almost anywhere, and, if you don't like modal editors, go Emacs. Don't get used to a graphical text editor on Linux. My two cents.

share|improve this answer

I use emacs and I like it. Not many people do though. I happen to program on Linux in my job. Give the other options a really good go. Then decide and use what you're comfortable with - even if it is Kate.

Most likely, when you get out there into a job you might end up using visual studio or something else. I don't know of many people who use emacs or vim on a regular basis.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.