Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Are there any inherent advantages to a terminal text editor over a gui version of the same editor (vim and gvim for example) or are the people using terminal text editors just using them because that's what they're used to?

I am not asking about vim in particular. I am asking whether, all else being equal, a terminal text editor has advantages over a gui text editor.

share|improve this question

marked as duplicate by gnat, maple_shaft Apr 17 '13 at 11:33

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
1  
@gnat. The question is not a dupe and not about "why VIM". It's about why you would elect to use the terminal version over the gui version. –  mike30 Apr 17 '13 at 13:56
    
@mike did you read duplicate question and its answers? It's not about vim at all. "What are the advantages that they provide over conventional editors etc" –  gnat Apr 17 '13 at 14:19
1  
@gnat. The suggested duplicate answer deals with the advantages of VIM and does not address this question which is about why to use the terminal version. There are "conventional" terminal editors such as MS-DOS Edit editor. –  mike30 Apr 17 '13 at 14:28
add comment

7 Answers

up vote 5 down vote accepted

Historically because there were no GUI editors. Even now, when you ssh to another computer, terminal editors are the easist way to edit something.

Also, when I am working in the terminal and I want to change one command in a script, using terminal editor is very fast.

Also, when I am editing files that can be written only by the admin, it's easier to sudo from the terminal then to open the file using a GUI editor.

share|improve this answer
add comment

Let me start from the opposite and name the only disadvantage of using terminal editor (compared to native GUI application) - text pasting issues.

As of advantages, here are my reasons for sticking to console:

  • Start time. Typically terminal application starts way faster. Believe me, when you are editing many text files on a daily basis, this is huge.
  • Memory and CPU footprint. Typical GUI application is a-priory more resource greedy than it's terminal analogue.
  • Seamless integration with remote machines. Here I'm talking on behalf of all vim-ers :) Once you are in terminal, there's no big difference (from UX point of view) of editing file on local or remote machine.
  • Window management. Even advanced GUI editors suffer from lack of flexibility which we have when we are working in command-line. One can split existing window, create new window, arrange windows side by side, open new tab etc.
share|improve this answer
    
The start time issue is moot if, like me, you start your editor when the machine boots and just leave it running. As for your fourth point ... emacs (and I assume vim and other "professional strength" editors) allow you to create multiple windows, split windows, etc, both in terminal and GUI mode. –  Bryan Oakley Apr 17 '13 at 11:16
    
@BryanOakley, well, as of start time, it's just a matter of habit. As for working with windows in GUI-fied emacs or vim, well, don't know much about emacs, but as for vim - personally I feel more comfortable to work in terminal. May be because "GUI version" of vim tends to be sort of terminal emulation. –  shabunc Apr 17 '13 at 12:40
    
Text pasting is really not much of an issue: quite often (almost all the time) the OS or terminal application handles this fine for me. –  Evert Apr 17 '13 at 13:25
    
@Evert, well, I like to split window and to have line numbers turned on, so there are cases when this is an issue) –  shabunc Apr 17 '13 at 13:33
1  
@BryanOakley: "when the machine starts"? As if I ever could restrict myself to work on a single machine at a time! ;-) –  Joachim Sauer Apr 17 '13 at 13:57
add comment

The most likely reason is, you are already working in a terminal and just need to quickly edit something.

share|improve this answer
add comment

An expert user of a tool like Emacs or vi will hardly ever take their hands off the keyboard because they will be doing everything through keystrokes which is always the fastest and most efficient way to operate. In that circumstance it makes almost no difference to them whether or not there is a window around their editor or not, save that there may be some variance in functionality available.

share|improve this answer
add comment

I use Vim, and while I have MacVim installed, I somehow always find myself using vim on the terminal rather than MacVim.

It's not that I'm against the GUI of MacVim, it's just that when I have it open, I don't use the GUI bits of it! I'm guessing that it's a similar story for users of gvim etc, and also with emacs and xemacs.

I know other devs who prefer to use Sublime Text 2 for everything, but to me that just seems inefficient, especially for remote files. I prefer to connect to a remote machine through SSH and edit a file directly there rather than having to send the entire file through a network/the internet every time I open/save it.

Muscle memory has probably driven me to use vim on a terminal on my local machine - why have two workflows when there's one really efficient one that I can use in circumstances?

share|improve this answer
add comment

The advantage of a terminal text editor is that it doesn't have a GUI.

I use both a terminal editor (vim) and normal editors if I don't have the choice. The point about vim in particular is that you really don't need the GUI for anything: vim is a GUI-less editor by design, and the GUI would only eat the screen away without adding any value.

And of course, if you happen to log into remote servers and work on them, you have no choice. Being used to vi (almost guaranteed to be on any *nix installation) is an added benefit.

share|improve this answer
add comment

This is the wrong alternative to ask. I've never seen a GUI version of a "hacker's" editor that didn't do everything the terminal version did and more, so there is little point in not using a GUI version when it is available, other than trying to impress others (or yourself, subconsciously) by how hard-core you are. And when it isn't available, there is not even a choice to make.

The more relevant alternative is whether to use a programmable swiss-army-knife tool without some menu/icon/eyecandy vs. a GUI tool with menus but less functionality. Unfortunately that question is virtually guaranteed to devolve into boasts and flames on both sides, so it is very probably "not constructive" as per the guidelines to this site.

share|improve this answer
    
Slightly condensing the sentence from your second paragraph: "... whether to use a programmable swiss-army-knife tool vs a tool with less functionality". A power user will simply use the former. But then we can ask a follow-up question: "Why are there more swiss-army-knife editors without a GUI?" My guess would be partly due to historical reasons and partly due to adding a GUI doesn't make it more powerful, only slightly more accessible and as a power user, this is not that important to you. –  bhaak Apr 17 '13 at 11:10
add comment

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