Vim Beats Emacs in 'Linux Journal' Reader Survey (linuxjournal.com)
The newly-relaunched Linux Journal is conducting its annual "Reader's Choice Awards," and this month announced the winners for Best Text Editor, Best Laptop, and Best Domain Registrar. Vim was chosen as the best editor by 35% of respondents, handily beating GNU Emacs (19%) Sublime Text (10%) and Atom (8%).
Readers' Choice winner Vim is an extremely powerful editor with a user interface based on Bill Joy's 40-plus-year-old vi, but with many improved-upon features including extensive customization with key mappings and plugins. Linux Journal reader David Harrison points out another great thing about Vim "is that it's basically everywhere. It's available on every major platform."
For best laptop their readers picked Lenovo (32%), followed by Dell (25%) and System76 (11%). The ThinkPad began life at IBM, but in 2005, it was purchased by Lenovo along with the rest of IBM's PC business. Lenovo evolved the line, and today the company is well known as a geek favorite. Lenovo's ThinkPads are quiet, fast and arguably have one of the best keyboards (fighting words!). Linux Journal readers say Lenovo's Linux support is excellent, leaving many to ponder why the company doesn't ship laptops with Linux installed.
In February readers also voted on the best web browser, choosing Firefox (57%) over Chrome (17%) and Chromium (7%). And they also voted on the best Linux distribution, ultimately selecting Debian (33%), open SUSE (12%), and Fedora (11%).
For best laptop their readers picked Lenovo (32%), followed by Dell (25%) and System76 (11%). The ThinkPad began life at IBM, but in 2005, it was purchased by Lenovo along with the rest of IBM's PC business. Lenovo evolved the line, and today the company is well known as a geek favorite. Lenovo's ThinkPads are quiet, fast and arguably have one of the best keyboards (fighting words!). Linux Journal readers say Lenovo's Linux support is excellent, leaving many to ponder why the company doesn't ship laptops with Linux installed.
In February readers also voted on the best web browser, choosing Firefox (57%) over Chrome (17%) and Chromium (7%). And they also voted on the best Linux distribution, ultimately selecting Debian (33%), open SUSE (12%), and Fedora (11%).
It's popcorn time!
vim is great because it's on all platforms is like saying anal sex is great because it works on all genders.
It's a better editor.
Regarding the message "Chances are, you're behind a firewall or proxy, or clicked the Back button to accidentally reuse a form. Please try again. If the problem persists, and all other options have been tried, contact the site administrator." you get when you post a comment sometimes. I wonder if this message has EVER been an accurate description of what's happened, rather than someone who can type, typing a short message then pressing send.
Most of the Emacs users are still waiting for it to load so they can cast their vote.
alt.vim.die.die.die
-- Thou hast strayed far from the path of the Avatar.
How to enable color highlighting of source code in Vim OSX bash session?
Emacs works fine.
Hight Sierra 10.13.13
I guess that's settled.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Nuff said.
Sig ?
Blasphemy. It emulates they keyboard commands from WordStar which the Borland tools also emulated. It's the choice of many old-school programmers.
Around 1990 or so I started a new job where everyone used Emacs. So I thought I'd give it a shot. I had 2 major problems:
.emacsrc (or whatever it was called). Yeah, these folks had a huge config file that changed pretty much all the commands in some way or other, and they'd forgotten to mention it to me.
It was easy enough to fire up the help system. I couldn't figure out how to exit the help system to get back to my work without killing emacs and restarting.
A lot of the commands didn't work the way the manual said they would. About 6 months after going back to Vi a co-worker said "oh, you never got our
While it is true some variant of these are available everywhere, just like pico/nano, they can't be relied on to be an iteration of the application you know how to use.
That may be so, but nano, at least, puts the most common commands on the bottom of the screen, including the all-important keystroke that gets you into the rest of the help system. Of course, you need to know that ^X means what most people would write as CTRL+X, but anybody who's expecting to need to use an editor in a CLI shouldn't have any trouble with that.
Good, inexpensive web hosting
Because I usually use "Joe", because of the WordStar compatibility, as I learned coding with Turbo Pascal and Turbo C. I used Emacs for a while until the devel team there made some really stupid decisions, then I went back to Joe. So far it has compiled anywhere I tried and usually just works.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
I've been using VIM for 20 years.
I swear one of these days I'll figure out how to quit the damn thing!
The top vote getters for text editor are vim and emacs? That right there tells you why linux will never succeed on the desktop.
Linux Journal reader David Harrison points out another great thing about Vim "is that it's basically everywhere. It's available on every major platform."
So is Emacs ding-dong.
My $0.02 - I'm a long-time Emacs and Vi user - since the mid 1980s. I use Vi /Vim for short/quick edits and Emacs for things I want more of an IDE. Vim is a fine, fairly simple, text editor and Emacs is, well, Emacs. Granted the learning curve for Emacs much higher to really take advantage of it, but it's well worth it over the long run. If I could only have one editor, it would be Emacs - no question.
It must have been something you assimilated. . . .
Anyone else here use Geany? With the plugin pack, it is my new favorite. Works the same way on Windows or Linux is another plus.
> VI's interface design was crafted to overcome the lack of a mouse and arrow keys
You are doing it wrong.
CONSTANTLY moving your hands off the home row to/from the arrow keys is S-L-O-W. Once you learn how to navigate the cursor it is trivial to whip around the screen using only the keyboard.
Hm, my Mac has a ^ sign on the control key :)
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Unfortunately the non arrow key moving is so counter intuitive that many people never 'acquire' it. ...
And honestly, how much slower is moving the hand to the arrow keys anyway?
I soent my time thinking while I move my hands
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
"Every version is subtly different, and just because you can use the modern version doesn't mean you know the subset of common features that work everywhere."
You are talking about the many vi clones that exist or existed (nvi, elvis, ex-vi, stevie etc). while the article mentions the One True Editor that came to rule them all, Vim, created by Bram Moolenaar. Today any *nix distribution is guaranteed to have vim available, and there is no such difference of common features anymore.
Stupidity is an equal opportunity striker.
Fellow slashdotter Bill Dog
vim is great because it's on all platforms...
Oh come on. Vim is far more versatile than emacs. Have you ever seen anyone using emacs to clean their toilet?
> the non arrow key moving is so counter intuitive that many people never 'acquire' it.
There definitely is some truth to that. That's why I changed my keybinds to use IJKL because HJKL doesn't work for me and I imagine it sucks for a lot of people too.
> And honestly, how much slower is moving the hand to the arrow keys anyway?
You'd be surprised. Quite a bit. It all adds up. Press v, and want to select ...
* ... end of word alphanumeric only? Press w. ... end of a word all chars? Press e ... beginning of word alphanumeric only? Press b ... beginning of word all chars? Press B ... up-to but not including some character? Press t .. up-to and including some character? Press f
*
*
*
*
*
With the arrow keys you are constantly dicking around pressing them.
I found this Vim Cheat Sheet to be quite a handy reference.
You then can have them all at the same time. :D
I had to work remotely on some Macs on my last job, and only had a terminal interface via SSH. nano was my editor of choice. It was there, and reasonably simple to use for what I needed. So, yeah, I agree its ease-of-use is a bonus. I'll typically just fire up nano for editing small text or config files if I've already got a terminal open, but for actual programming work, I tend to use an IDE.
I'm not sure I understand the logic of people who argue about "efficiency" though, at least when it comes to programming. In my experience, writing good code isn't about furiously typing as fast as you can, so I've never felt motivated to learn a bunch of keyboard-only shortcuts.
Irony: Agile development has too much intertia to be abandoned now.
The question was about hjkl versus arrow keys.
Not about e, B, w etc.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
So, those laptops that still, after three model years, don't have Linux driver for a fingerprint reader, those laptops that have a PCIe device whitelist, those laptops that actively prevent installation of a 3rd-party battery, those guys that basically destroyed all good that was in IBM ThinkPads, starting from the keyboard layout and display aspect ratio, have received "best laptop" from Linux Journal? How sweet.
Back in the 80s, I was exposed to emacs on Vaxen (Vaxes?) which were supposed to be pretty powerful mini-computers, and emacs would noticeably slow them down, whereas vi didn't. However, when I bought an Atari 520 ST, there was no good text editor I could find, until I came across microEmacs https://en.wikipedia.org/wiki/MicroEMACS which I downloaded from Usenet (Ah Usenet in the 80s!) This thing was a very stripped down version of emacs that worked like a charm. Eventually, when computers got fast enough to run emacs I went back to using it now and then, partly because I already had the most commonly used keystrokes in my fingers' muscle memory. MicroEMACS was, and maybe still is, one nice bit of software.
In theory, theory and practice are the same; in practice they're different. (Yogi Berra & A. Einstein)
This kind of sums up the whole conversation...
https://imgs.xkcd.com/comics/r...
I ditched Sublime Text for Microsoft's Visual Studio Code because Sublime doesn't support Japanese IME under Linux. I use Vim as well for quick stuff.
Pft kids today ... get off my lawn you heathen. My gray neckbeard says vi and or emacs are the only editors
http://saveie6.com/
If you do app development and are not very old past aged 30 (sarcasm but semi serious in Silcon Valley) you may find Emacs is not so great with integrating and running tools for Android or web development.
If you are a system admin you probably use Vim and have no reason to change.
gcc and gdb too have both gotten a bad wrap after LLVM/Clang came out a few years ago to address issues of error reporting and integration with editors and ides. Other compilers with Atom.io and even Microsoft code with them offer a better development environment than Emacs today.
Really this debate is from the Reagan era as times are changing.
http://saveie6.com/
According to Bill Joy the father of BSD Unix and author of Vi was the reason it has the modes is he had a 300 baud modem at his home in Berkeley to the Univerisity PDP-8. It was to conserve bandwidth on the very slow connection.
But it beat using ed and cat which would be hard and slow on large files on his terminal and 300 baud speed connection.
He mentioned Emacs must have been great that RMS and others at MIT had fiber connections and powerful hardware at his disposal which he did not have.
http://saveie6.com/
C'mon people! There are so many great editors out there today that are actually modern.
- Notepad++
- Sublime Text
- Visual Studio Code
- Visual Studio
These editors can do all the important stuff that vim and emacs could do, and you don't have to memorize a whole list of commands to use them!
Vim is really more a style of keybindings than strictly an editor at this point.
I got used to features such as visual mode, folding and multiple split windows (GP could try :sp, :vs, and C-W w, C-W h, C-W j, C-W k, C-W l etc). Love those fluffs.
Stupidity is an equal opportunity striker.
Fellow slashdotter Bill Dog
Most people are beginners. When they are more serious and want to be a pro, they learn and use emacs for most of their stuff. I use both, however I use emacs a lot more. Only if I need to fix /etc/passwd or some other small config file where it's just a simple change. Otherwise why use vim? Use a real tool. Even works on the bash command line by default.
So, doesn't surprise me.
You are missing the entire point.
WHY do you even use the arrow keys in the first place?
Because cursor movement is step ONE in doing _x_.
In step TWO you are either:
* Adding Text
* Deleting Text
* Pasting Text
* Selecting Text
The arrow keys are a means to an end.
By keeping your hands on the keyboard the _entire_ time you minimize the time for BOTH steps. THAT's the Vim advantage.
I use the arrow keys like every one else:
to move the cursor.
And the arrow keys belong to the keyboard, so no idea what you are talking about.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Moving your hand off the home row to the arrows keys is a complete waste of time.
As I mentioned in another post: 90% of my time I spent with thinking.
If I could speed up my typing by 100% it would be a 5% net gain.
Close to pointless.
And as I pointed out also in another post: using h j k l is counterintuitive. I can not memorize those keys.
And obviously moving my hand from j k to the arrows happens so rarely that the above 5% gain most likely would only be a 5 per mil gain ...
But be free to think otherwise ... I have again to think about what I actually want to write ... :D
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
_Your_ myopic use-case of 90/10 doesn't apply to everyone. You could use Notepad and you would still be just as "productive."
So Vim provide zero benefit _for you._ Great. But only an fool keeps ignoring the answer when people say _why_ Vim is the better solution for _their_ needs.
We see other people coming to the same conclusion:
I tried Vim out in the early 90's. I hated it. Back in 2010 I forced myself to use only Vim for one month. The learning curve is a fucking vertical wall, but once you get over it, you will never look at any other text editor the same way again. My only regret is that I didn't learn it 20 years early.
For the rest of us where our time is split closer to 10% thinking / 90% typing Vim significantly cuts down on the iteration time -- we think and almost instantly our changes are applied which frees us up to repeat the cycle. That's a HUGE productivity boost for us professional programmers.
It sounds like all you do is mickey-mouse "one-off" text editing and never do any advanced text editing.
The ability to repeat (almost) ANY command just by typing in a number before the pressing the operation key shows why every other editor is crap.
* Want to delete 16 chars, type 16x.
* Want to insert 16 spaces, I type: 16 SPACE because my space is mapped to: i SPACE ESC l -- due to inserting spaces being is one of the most common operations.
* Want to insert N columns of spaces? Press Ctrl-Q to start block select mode, type a number, press k to move down, press y to copy, type a number, press p to paste.
* Want to record a macro? Press q, give it a single letter name, type your keypresses, and press q when done. Want to play it back N times? Type in the number, press @, and the macro name. Every other text fucks up this simple operation and make it more complicated then it needs to be.
Plus I can use the same editor, with the same configuration, across Windows, OSX, and Linux. I don't have to use some shitty text editor that only works on one OS, nor use some slow, bloated IDE that only works on another OS.
Vim also comes with a built-in diff tool. You can see 2-way and 3-way diffs AND edit them. It sounds like you have never had to manually merge code.
Constantly complaining about hjkl just shows you are not interested in putting the time in to learn it and would rather just make excuses. Gee, if only there was an option to remap keys ... oh wait, there is!
When I first started learning Vim I started re-mapping every key to better match what I "thought" it should be. It took me about 2 weeks but then I realized that _every_ key in Vim was chosen for a _specific_ reason. The entire key mapping is synergistic -- everything fits together in a logical fashion. You will NEVER understand this until you actually USE it.
Vi / Vim was written by programmers for programmers. It sounds like you are either still an amateur or spend more time managing then programming -- Notepad or Notepad++ does everything _you_ need. But for us professionals who deal with text day-in, day-out, Vim is literally a no-brainer once you learn it.
Rofl,
you still don't explain to me, why hitting ESC, j, j, j and then i again should be faster than just using the down arrow instead of leaving insert mode and getting back into it ...
Yes, vim is an editor for programmers, that is why I use it mostly under unix. However 90% of my editing time I do in a modern IDE. Vim I only use for bash or awk scripts or the occasional other text file I stumble over.
If you spent so much time typing and not thinking, you most likely do it wrong anyway ... work smarter, not harder!
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
> you still don't explain to me, why hitting ESC, j, j, j and then i again should be faster than just using the down arrow instead of leaving insert mode and getting back into it ...
1. Gee, if only you could learn to read.
2. You DO realize you can hit Ctrl-C instead of ESC, right? Pressing ESC is slow.
3. A vim user wouldn't be pressing j 3 times, they would be typing: 3j. They might even type: {LineNumber}g. Which brings me to my next point:
4. You're ignoring the context. WHY are they moving the cursor 3 times? WHAT are they changing 3 lines down? You are focusing on "one-off" edits; when you focus exclusively on a single tree you are missing the ENTIRE forest.
There is a reason Vi/Vim has two modes: Command Mode and Insert mode. Because when you are command mode chances you are will be doing _more_ commands. And when you are insert mode chances are you will probably be doing _more_ inserts. Vi/Vim is optimized for the _common_ case -- not the uncommon case of switching command-mode / insert-mode / command-mode.
If you actually paid any attention to writers you would notice they go through a similar process. In phase 1 they just _write_ -- spelling mistakes included. THEN they go back and cleanup spelling, grammar, re-arranging words / sentences / paragraphs.
Other editors suck -- because you have to hold ADDITIONAL keys down to do commands, such as Ctrl-Arrows or Ctrl-Shift-Arrows to select text. How do you select up-to-and-including a character in this dumbed-down selection mode? How do you select up-to-but-not-including a character in this selection mode?
With Vim, when you are command mode, you only need to press a single key: a-z.
> If you spent so much time typing and not thinking, you most likely do it wrong anyway ... work smarter, not harder!
Incorrect. Just because _your_ brain is slow doesn't imply everyone else's is. Come back when you've been programming for 40+ years and have most of the code "in your head."
If all you are doing is "one off" edits, then stick with Notepad. For any one doing anything serious in their craft, they pick up professional, specialized, tools. Vim is a text editor for professionals, not amateurs.
I don't know why you want to praise the merits of vim to me.
I told you already when I work on the CLI, I use vim exclusively.
And I hit ESC, because my left pinky easy reaches it, CTRL-C are two keys that are awkward to press.
I use vi and now vim since 30 years, do your rant is completely pointless.
Proposing Notepad, even its SuperNotPad variations make you look ike an idiot. It has no single command vim has ... probably not even a regexp search and replace. Also: it does not run on unix. It only runs on windows as you probably know, so how exactly do you think I edit a file via SSH with Notepad?
Again: moving my hand from the home row to the arrow keys is not slow at all, costs me perhaps 1/20th of a second ... less than hitting ESC or CTRL-C and then going back to insert mode.
BTW: I program _professionally_ since 35 years ... and the code I write is always new ... so there is not much as of a template in my head. If I had a template I would probably use m4 instead of typing, or PERL.
Most other work is Java and C++, for both a simple editor like vi/vim (even with ctaggs) is completely unsuited. But I guess you hate both such languages :)
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Ah. I forgot to adress point 3)
I knew you would give that braindead answer, when I made my previous post.
It is faster to type j 3 times than first to count the lines and then decide to type 3j.
Everyone uses [line number]g when he knows the line number and it is more than a few lines away. No idea why you want to teach/preach no brainers, when they are actually wrong :D
You do know that you can move around with [ and ] in structured text, like C?
Anyway, have fun preaching the merits of vim to professioanl vim users, it seems to be important for you.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
> Most other work is Java and C++, for both a simple editor like vi/vim (even with ctaggs) is completely unsuited. But I guess you hate both such languages :)
Out-of-the-box Crap++ is a complete clusterfuck of over-engineering.
I personally use C++ with ctags -- I will clarify that in a moment.
When even a C++ committee member admits that they write in a sub-set of C++ you know the languages is b-l-o-a-t-e-d.
Myself, like many other game developers, such as John Carmack, use something called "Super C" or "Embedded C++" -- basically C++ without all the bloated features.
* No exceptions
* No RTTI
* No References (use pointers)
* Minimal usage of templates
* Const everywhere
* Shallow Class Heirarchy
* Polymorphism when it makes sense
* Inheritance when it makes sense
CppCon 2014: Nicolas Fleury "C++ in Huge AAA Games"
https://www.youtube.com/watch?...
And when _another_ person on the committee officially recognizes iostreams' performance is crap and hates it: ... and not so much interest in fixing or somehow superseding iostreams which I hate in all its forms. you quickly realize iostreams' slow performance and over-engineered design will never be fixed.
In case you didn't notice those C++ morons are STILL trying to add a 2D graphics library -- which would have been fine 20 years ago -- but everyone is either using Direct3D, OpenGL, Vulkan, or some other proprietary piece-of-shit 3D library. We don't need Yet-Another-Graphics library.
Title: A Proposal to Add 2D Graphics Rendering and Display to C++
Date: 2018-02-1
http://www.open-std.org/jtc1/s...
**facepalm**
There is no _standardized_ name-mangling -- something that would help solve _today's_ real problems.
Gee, when are packages coming to C++? You know, something Pascal had 30 years ago???
I could go on but that's enough.
Java is an even crappier language. I wrote some CRC32 in version 7 2 years ago -- it was one of the worst programming experiences I've ever had.
* It took _eight_ revisions to add support for a native unsigned type???
* Any language that _forces_ only one class per file is brain dead
* The compiler was brain dead -- it was unable to cast an int to a boolean and short-circuit an IF clause
* Let me know when there is a way to make the GC _100% deterministic_ AND give it a _hard_ millisecond deadline, or even disable the dam thing. Ignoring memory management doesn't magically make it go away.
* The extra/long/verbose/path/to/my/source is crap,
* The gradle/maven build system sucks
* Verbose languages, like Java and COBOL, suck.
There is a reason the stereotypical Java-weenie exists.
.
I agree with most.
However regarding Java: if you want your own memory management, you can 'disable the GC' in the sense that it only gets triggered when you are really out of memory and manage your 'released' objects in free lists for later reallocation.
Most embedded JVMs make hard guaranties how much time they spent allocating an object, and use that time for a mini GC period. There are commercial JVMs that have similar options, or run on custom hardware which is much faster than an x86 anyway.
The idea that you can assign an int to a boolean is deliberatly not in Java (and its sister languages), so bugs like this can not happen:
// should be == ....
if (a=b)
Of course a matter of taste, I like it though.
Maven sucks, that is true. Some idiots who only had the basic grasp about how to write a build system/build tool invented it and called it maven. Maven as in Magician. Probably the name fits ... magically it somehow works, and no one knows why or how :) And they settled on XML as description language ... but still don't check if the XML is valid ...
Gradle however I like, it is basically a fancy make file.
Java does not require one class per source file. It only requires one public class per source file, and of course you can use nested top level classes (via static).
Yes, being forced to unsigned ints is/was extremely limitating. I once wrote a kind of SWEET16 emulator (same idea, but different hex codes for the instructions), it was a pain in the ass ...
I mean in C/C++ it would have been a quick hack, so it took me 4 days (but it includes a goovy DSL for the mnemonics to have a kind of real assembler)
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.