LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > General
User Name
Password
General This forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!

Notices


Reply
  Search this Thread
Old 11-16-2011, 05:53 PM   #1
splintercdo
Member
 
Registered: Feb 2011
Posts: 141

Rep: Reputation: 11
Emacs vs Vim


I know this is most original topic ever. =)

Almost year using Linux as main system(At work my OS is windows)

I like to use most efficient tools I can find for more or less specific tasks(but open source is a very strong argument too)

On windows hands down(my opinion =) ) the best text editor is np++, when at last I decided to make linux seriously to be my system of choice I encountered a problem there were no powerful enough text editors for me to use except these both: emacs and vim,

sidenote(no guys, you who say that you can boost up gedit with plugins to level of np++ you are incorrect :P and do not systematically encounter serious problems in your everyday work)

So back to main topic, in the beginning, it was frustrating that on linux there is no native application which is as user friendly, but at the same time as powerful as np++, BUT I didn't want to use application which is not native to linux, while I appreciate greatly that np++ is open source application!

So I put a target for me to use for 2 months, for actual everyday work, one editor, then another.

I already have to confess to my sin, that I started with emacs! So, I guess, this may influence my opinion, anyway

after 6 months using other editors and for last 4 emacs + vim.

I came to opinion, that none of them is as efficient as np++ in gui!
* You surely can achieve greater speed at editing text itself in these editors, but when it comes to more advanced needs, np++ is a LOT more efficient, why? Because,
* using emacs or vim, asks you to keep your brain sharp on editor itself, and that consumes your energy, which instead had a possibility to be used for actual work or rest,
* new unknown functions can be found only through documentation or google
* you have to use your preferred editor frequently or you loose skill to use it efficiently

all that consumes valuable time!

But what I started to appreciate is that
* np++ can't be launched without x windows(while both emacs and vim can), so grand minus there
* also text editing speed grows quite a bit using emacs
* the thing that emacs actually is lisp programming environment
* configurability of emacs and vim for specific needs
* and funny, but with time I started to appreciate that I have to think about, what am I doing and even thou I may lose some time on current task it compensates over time and I become more careful and thoughtful as a programmer
* and so on, I do not intend here to list all of the things

so emacs and vim are more powerful and ability to launch them into text mode, compensates efficiency of gui power of np++

and as I want native editor

we have two participants left:

Now there is a LOT of articles and posts of emacs vs vim

I don't want to start to list all I have found out, but I must say
* one plus to vim is that it is truly platform independent editor you can run it on linux or windows and it will do it's job, with emacs I must sadly admit it has to be worked on quite a bit and you have to install other content on your computer, like cygwin for use on windows!

* BUUT, as I intend to use editor on linux the problem above lose it's topicality,

* In the end about efficiency, I just can't understand, why there are more vim users than emacs, vim is horrible to use with it's crippled undo/redo functions, utterly stupid shortcuts, and moronic visual, insert and so on modes,

so those who say that vim is more efficient than emacs, they are in words of Linus Torvalds: "Ugly and stupid" =)

don't get me wrong I think vim is very powerful text editor, BUT less powerful than emacs, because of, again, emacs is lisp programming environment, that means it gives you incredible freedom and potential

So I don't really have any specific questions, this post is just having fun as description of this section of forum intends.

What I have to say is after these four months of emacs and vim, I have came to conclusion that emacs is my editor of choice!

So, hello fellow emacs users, there is one of you(or should I say one of us) more =)

What are your thoughts and opinions on this?
 
Old 11-16-2011, 06:05 PM   #2
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836
Blog Entries: 1

Rep: Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251
Not this topic again!

I'm an emacs person, but appreciate the benefits of vim.
Vi(m) is installed by default almost on all *nix systems, Emacs is not.
IMHO, vim is more convenient for quick edits. Generally, vim is a great program.
Still, I prefer Emacs. As I mentioned in a few threads, I love emacs because:

- There's no limits in terms of how you could extend its functionality
- It's got slime (best Lisp environment out there)
- It's got org-mode
- It's brilliant with LaTeX

and many more

I'm in the process of learning Common Lisp so the .emacs file is getting less and less mysterious for me, which obviously is a very good thing.


At the end of the day, it depends on personal preferences. Use Emacs or Vim - whatever rocks your boat.
 
Old 11-16-2011, 06:37 PM   #3
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 234Reputation: 234Reputation: 234
Thumbs down

Quote:
Originally Posted by splintercdo View Post
I know this is most original topic ever. =)
"Red or blue: which color is superior?".

Use whatever you want, and don't overthink it.

Quote:
Originally Posted by splintercdo View Post
after 6 months using other editors and for last 4 emacs + vim.
And this is why I think "the best is the enemy of good". You could learn basics of ANY editor in a day or two, and get used to it in a week. Instead, you wasted 6 months searching for the perfect tool.

Quote:
Originally Posted by splintercdo View Post
all that consumes valuable time!
Your quest already consumed 6 months of valuable time, which is 6 month too long.

Use vim if you want to be able to work on any linux machine. AFAIK it is almost never custmoized, so controls are the same.
Use emacs if you want infinite customization. As a side effect once you're done customizing, you won't be able to work on any machine that doesn't have your version of emacs config file.
Or forget about both of them, and use any other GUI editor. Kate, jEdit, or even windows text editor under wine.
 
Old 11-16-2011, 06:51 PM   #4
Jenni
Member
 
Registered: Oct 2011
Distribution: Slackware, Fedora
Posts: 158

Rep: Reputation: Disabled
Yay this old fight again~

I use emacs most of the time, but I disagree that vim is less efficient, once you learn how to use it you can be surprisingly productive in both, I use emacs over vim simply because I can do more with emacs - it can act as a terminal emulator, text editor, web browser, etc. and basically by using C-x b to switch buffers I can do an entire project, including compiling, file managment, and web searches when I need to look something up, without ever looking away from emacs.
That said, I learned Vi(m) too because it's basically universal in the *nix world, so I can use it at home, on my friends' *BSD machines, on the solaris machines I ran into at uni etc.
 
Old 11-16-2011, 09:28 PM   #5
ntubski
Senior Member
 
Registered: Nov 2005
Distribution: Debian, Arch
Posts: 3,780

Rep: Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081
Quote:
Originally Posted by splintercdo View Post
* one plus to vim is that it is truly platform independent editor you can run it on linux or windows and it will do it's job, with emacs I must sadly admit it has to be worked on quite a bit and you have to install other content on your computer, like cygwin for use on windows!
Huh? Emacs has a working native Windows version that doesn't require Cygwin.

Quote:
* In the end about efficiency, I just can't understand, why there are more vim users than emacs, vim is horrible to use with it's crippled undo/redo functions, utterly stupid shortcuts, and moronic visual, insert and so on modes,
I'm an emacs user, but I don't like its undo/redo system at all. I haven't got around to figuring it out but from what I've read, it seems like vim's undo/redo functionality is much better (there is an emacs package to provide similar functionality, of course).
 
Old 11-17-2011, 06:33 AM   #6
splintercdo
Member
 
Registered: Feb 2011
Posts: 141

Original Poster
Rep: Reputation: 11
Quote:
Use whatever you want, and don't overthink it.
We are people, that is our privilege, to think into future and make decisions that can benefit greatly over time!

Quote:
Your quest already consumed 6 months of valuable time, which is 6 month too long.
That is not true, I have learned a LOT! And it pays off already!

Quote:
Use vim if you want to be able to work on any linux machine. AFAIK it is almost never custmoized, so controls are the same.
Use emacs if you want infinite customization. As a side effect once you're done customizing, you won't be able to work on any machine that doesn't have your version of emacs config file.
Again, you are incorrect! For example most popular distribution - Ubuntu (which, on desktops, is used more than all other distributions taken together) does not have vim installed by default, it has vi(and nowadays vi and vim is like comparing moon to the sun, they are absolutely different beasts), so if you do not have administrator rights on the ubuntu desktop you are using, you are stuck with vi as much as with emacs.
Even more Vim is very configurable editor and I guess, you know little, because, from what I have seen people love to specify editor settings for their specific needs or preferences a lot!

Quote:
Or forget about both of them, and use any other GUI editor. Kate, jEdit, or even windows text editor under wine.
As I said previously, these aplications, lack functionality I need and prefer. Plus I want to use native linux application, because, through the wine, you do not obtain all the functionality of np++, that you would get running it natively on windows!

It's funny, everything you said, was wrong =)

--------------------------------------------------

Quote:
Huh? Emacs has a working native Windows version that doesn't require Cygwin.
Quote:
I'm an emacs user, but I don't like its undo/redo system at all. I haven't got around to figuring it out but from what I've read, it seems like vim's undo/redo functionality is much better
hmm... if you are an emacs user, you are very unexperienced one!

Because:

1. Yes emacs do have working Windows version, BUT, have you ever tried to do some:
grep finding
or
tried to compare two files using EDiff

if you would do that, you would know that, for example, for these functions you do need to install cygwin AND even when that's done you would need to configure all three of them: cygwin, emacs and windows, for them to work together correctly!

2. I guess you say that vim has better undo/redo functionality, because you don't know how to work with as simple thing as undo in editor for which you call yourself user

If you would spend 5 minutes to understand functionality of this specific function, you would be amazed how powerful it is, I have not seen any other editor, that would offer such a power(you can infinitely move through your undo stack forward and back!!!, even after file has been saved!!!)

Oh my god, this one is funny they say in Vim you have to move your hands less around the keyboard, that way you spend your energy more effectively, BUT to use undo/redo and a lot of other functionality correctly you CONSTANTLY have to use ESC key, this is reason, which DESTROYS all of the less hand movement paradigm, which is so much defended by vim users =)

Yes you can configure to use TAB, for example, instead of ESC, BUT, here comes in configuration file and logically that way we lose all of the consistency of Vim on different OS's!

Even more, for new users, on Windows, if they do not know, where are all vim configuration files located, after creating new vimrc in their home directory, they lose all of the "out of box" windowish controls(which again cripples consistency of vim on different Os's), so if they want, for example, change look of statusline, they have to configure all of their windows like hotkeys too, or say to them bye, bye and learn to use native vim commands!

---------------------------------------------------------------

Quote:
but I disagree that vim is less efficient
+
Quote:
IMHO, vim is more convenient for quick edits.
Yes, these are disputable questions.
I agree that over time, you can become very proficient with Vim!

But the lack of dynamic searching, using backslashes for new lines and figuring out every little mistake in these sections of text, lack of possibility to leave any command and return to it any time, with latter prepared expression, for example, worse movement around text without mouse, very looooong shortcuts by default, for example, to paste text, you have to use "+gP and so on and on...

all these little and less little things collects into one big snowball!

-----------------------------------------------------------------------------

I don't want to sound pretentious and I think Vim is good editor, it's just that Vim is way less productive than Emacs, but despite that, more people use Vim than Emacs!?
But from what I see, the quality is more important than quantity and from what I have found out more experienced users appreciates functionality of emacs and chooses it over Vim, that is calming factor =)

-----------------------------------------------------------------------------

What I have understood is that topical efficiency is not always the best one, if you use application which asks you to be more careful and be in control of things you are doing,
it overcompensates greatly through the time!

Last edited by splintercdo; 11-17-2011 at 06:45 AM.
 
Old 11-17-2011, 10:04 AM   #7
alexcg
LQ Newbie
 
Registered: Mar 2010
Location: St. Petersburg, Russia
Distribution: Slackware, Debian
Posts: 13

Rep: Reputation: 2
Well, with Emacs I can write code, compile it, debug, listen to music, browse some simple web sites via w3m, and most important I can play tetris.

I think the problem #1 with Vim is its scripting language. IMHO Emacs Lisp is much more logical and easier to read than Vimscript.
 
Old 11-17-2011, 10:37 AM   #8
ntubski
Senior Member
 
Registered: Nov 2005
Distribution: Debian, Arch
Posts: 3,780

Rep: Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081Reputation: 2081
Quote:
Originally Posted by splintercdo View Post
1. Yes emacs do have working Windows version, BUT, have you ever tried to do some:
grep finding
or
tried to compare two files using EDiff
I have the native Windows ports of grep and diff. Does vim have diff and grep builtin then? It seems strange to me that you would cite this as an advantage for vim because my impression is that vim has less things builtin. For instance, sort-lines is a builtin Emacs function, whereas I believe the preferred method in vim is calling the external sort program. EDIT: also dired-mark-files-containing-regexp has similar functionality to grep without requiring grep.

Quote:
If you would spend 5 minutes to understand functionality of this specific function, you would be amazed how powerful it is, I have not seen any other editor, that would offer such a power(you can infinitely move through your undo stack forward and back!!!, even after file has been saved!!!)
The undo/redo actions clearly form a tree, the Emacs system flattens the tree into a list which is awkward. It's better than most editors that only remember a single branch of tree.

Last edited by ntubski; 11-17-2011 at 10:52 AM. Reason: mention dired-mark-files-containing-regexp
 
Old 11-17-2011, 09:21 PM   #9
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 234Reputation: 234Reputation: 234
Quote:
Originally Posted by splintercdo View Post
We are people, that is our privilege, to think into future and make decisions that can benefit greatly over time!
Thinking about future isn't bad, but when you spend all your time thinking about future, IMO, it is bad.

Quote:
Originally Posted by splintercdo View Post
That is not true, I have learned a LOT!
//IMO:
The amount of time you spent choosing editor is (no offense) insane. 6 months is enough to learn slackware from scratch (having no previous linux knowledge). Selecting editor is not a lifetime commitment, and 6 months is enough time for developers to roll out new release (with new features). It is up to you, but I think no matter how seriously you take your text editor, this is overkill.

Quote:
Originally Posted by splintercdo View Post
Plus I want to use native linux application, because, through the wine, you do not obtain all the functionality of np++, that you would get running it natively on windows!
Well, *if* you are developer, you could've submitted patches to wine in order to make np++ work. Unless there's a very fundamental problem, you could've done it in 6 months. Wine is not an emulator, so there's no reason to search for native app. Sometimes there's simply no comparable equivalent.

Anyway, do what you want.
 
Old 11-18-2011, 05:52 AM   #10
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,657
Blog Entries: 4

Rep: Reputation: 3938Reputation: 3938Reputation: 3938Reputation: 3938Reputation: 3938Reputation: 3938Reputation: 3938Reputation: 3938Reputation: 3938Reputation: 3938Reputation: 3938
Red face Yawn ... just don't forget to bring the ring.

When you use any tool long enough, it's rather like being married to it: you know its every quirk and idiosyncrasy, but you still love to see it every day. (And you hope that the feeling is mutual ... )

The sheer beauty of Linux/Unix is that, here, you have "a choice," and it is a meaningful choice, and it is nearly-always free. This is not like Microsoft Windows, where by-and-large there is one size and it must fit all and you must pay a lot of money to get it. If you are a software-tools geek, like I basically am .. .. this is Nirvana.
  • Microsoft is like that crappy neighborhood you grew up in. You never realize just how crappy and run-down it is until you move away.)
  • Moving from the Windows environment to the Linux environment, for a software engineer, is like your first day at Stanford University. "Why, at WhatTheFook High School you were sooooo smart. You knew everything that there was to know, and you even had this-here lil' piece of paper to hang on your wall to prove it."

Last edited by sundialsvcs; 11-18-2011 at 06:37 AM.
 
Old 11-18-2011, 07:04 AM   #11
MrCode
Member
 
Registered: Aug 2009
Location: Oregon, USA
Distribution: Arch
Posts: 864
Blog Entries: 31

Rep: Reputation: 148Reputation: 148
I use nano. I am not a real programmer.

Actually, if I'm doing anything remotely "serious" (read: tiny, non-useful learning experiments with SDL ), I use Geany, but compile in a separate terminal. I don't really care for the way Geany and most IDEs handle "projects"; too much complication for a single-source-file program IMO (which is what most of my "projects" consist of).

If I had to settle, I'd probably go with vim, since it's installed on virtually every Linux distro (and plenty of other UNIX-likes, too, or at least vi), and I can use vim. I'm no expert, but at least I know how to switch between edit/command mode, save files, and quit.

Really, though, the first command I enter when I want a non-graphical text editor is "nano". If it's not there, I go for vim next.

I'm clueless with emacs; never really used it.

Anyways, let the flamewar continue!
 
Old 11-18-2011, 07:57 AM   #12
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836
Blog Entries: 1

Rep: Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251
Yaaawwnnn. Real programmers code in MS Word 2010 Professional Edition!
 
Old 11-18-2011, 10:46 AM   #13
brianL
LQ 5k Club
 
Registered: Jan 2006
Location: Oldham, Lancs, England
Distribution: Slackware64 15; SlackwareARM-current (aarch64); Debian 12
Posts: 8,298
Blog Entries: 61

Rep: Reputation: Disabled
Yaaaaaaaaaawwwnnnn...real programmers use ed.
 
Old 11-18-2011, 07:44 PM   #14
splintercdo
Member
 
Registered: Feb 2011
Posts: 141

Original Poster
Rep: Reputation: 11
Quote:
I use nano. I am not a real programmer.
When I saw Yaaaaaawn comments, I knew that under your link will be this short comic. Good one!

Quote:
my impression is that vim has less things builtin
Not quite! For example, to use decent autocompletion, in emacs you have to install separate package! Or for example to use syntax highlight for xbase(foxpro, klipper) files, you have to install separate lisps and basically when people say that they can do almost everything they want in emacs, there is a big chance they had to install a bunch of separate lisps to get all working!
But I agree that emacs is larger application and takes a bit more time to start, but if you use it on modern machine, it's hard to notice these factors.

Quote:
Yaaawwnnn. Real programmers code in MS Word 2010 Professional Edition!
no no no no no
 
Old 11-18-2011, 08:08 PM   #15
Telengard
Member
 
Registered: Apr 2007
Location: USA
Distribution: Kubuntu 8.04
Posts: 579
Blog Entries: 8

Rep: Reputation: 148Reputation: 148
My opinion, copypasta from a post I made in one of billions of threads on the topic:

Vim is a text editor for people who like memorizing cryptic commands.

Emacs is a text editor for people who like memorizing obscure key combinations to execute cryptic commands.

I learned Emacs first so I use it.

I've read that real programmers use ed, but haven't tried it yet.

edit
Quote:
Originally Posted by splintercdo View Post
Ubuntu (which, on desktops, is used more than all other distributions taken together) does not have vim installed by default, it has vi
Every time I've invoked vi on an Ubuntu system it has been VIM. Which release of Ubuntu are you using? Really, I wanna know.

Code:
$ lsb_release -d
Description:    Ubuntu 8.04.4 LTS
$ vi --version
VIM - Vi IMproved 7.1 (2007 May 12, compiled Jan  8 2009 02:12:14)

Last edited by Telengard; 11-18-2011 at 10:41 PM. Reason: wait, what?
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Which editor is better, vim or emacs dspjm Programming 16 09-09-2011 10:20 AM
Livecd with VIM and emacs steve s. Linux - Distributions 5 02-19-2007 07:50 AM
How do I program in Emacs/Vim? coolblue Programming 5 07-29-2005 03:00 AM
how to get colors in emacs and vim pranith Linux - Newbie 1 02-11-2005 12:35 AM
regarding colors in vim and emacs pranith Linux - Newbie 0 02-10-2005 03:10 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > General

All times are GMT -5. The time now is 03:24 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration