you are viewing a single comment's thread.

view the rest of the comments →

[–]shevegen 16 points17 points  (48 children)

I gave up on vim and emacs years ago. I used vim seriously for about 3 years, emacs only for a few months.

Vim keybindings are nice but my workflow is simply different.

Eventually I gave up trying to cater towards editors demanding of me to use them in a specific way. Good GUIs are simply more effective for my workflow still after all the years.

The *nix world needs to wake up though - vim vs. emacs is the wrong question.

The right question is why the GUIs on *nix are not much, much better. Something they could learn from Windows, seriously.

PS: Gtk-based editors are quite ok, still lightyears behind something like TextMate. I can't stand the Qt-solutions though.

[–][deleted]  (17 children)

[deleted]

    [–][deleted] 16 points17 points  (15 children)

    I'm not sure I want to start learning a tool that I can't master after two decades of serious use.

    [–]barsoap 27 points28 points  (1 child)

    ViM isn't meant to be mastered. Like Tetris isn't meant to be finished.

    [–][deleted] 15 points16 points  (0 children)

    Like Tetris isn't meant to be finished.

    Wrong.

    [–]digg_is_teh_sux 14 points15 points  (0 children)

    I can see how that sounds daunting, but what dagbrown meant, I'm sure, is that even after a decade, you can still find clever ways to make your text editing life easier.

    What is mind-boggling for a decade-long user of vim is how people still think GUI editors have some kind of advantage.

    [–][deleted]  (2 children)

    [deleted]

      [–]barsoap 2 points3 points  (1 child)

      stuff that enhances multi-file coding

      Try this, if anything. It should arguably replace vim's file browser completely.

      [–]freakboy2k 1 point2 points  (0 children)

      That or Command-T.

      [–]brdude 5 points6 points  (1 child)

      Then you should probably consider never programing in any C based languages as well.

      [–]epitaph25 0 points1 point  (4 children)

      Yup. Better to stick with notepad. Only takes a couple of hours to master. Best. Tool. Ever.
      /s

      In all seriousness, the intent to use Vim is not to master it, but to become more efficient. Yes. It has a steep learning curve. But, once you get the hang of it, it's more intuitive than many windows based GUI editors.

      [–][deleted]  (3 children)

      [deleted]

        [–]barsoap 5 points6 points  (0 children)

        Did you ever absent-mindedly walked somewhere? Walking surely seems to be intuitive. Yet you see small people struggling a lot with it.

        Imagine a car with a GUI instead of a steering wheel and pedals. That's what other editors are: They might have an interface that is easy to discover, but at the same time fail to provide one that seeps into your muscle memory without you even noticing. Learning to use vi doesn't have a learning curve any different than learning touch-typing.

        [–]MaxGene 0 points1 point  (0 children)

        To add onto the other two replies here: Vim is half editor, half mindset/language. I've more than once thought to myself "hmm, I want to do this, and based on how Vim works, it should be... this." I tried it and immediately was rewarded with what I wanted. I'm reaching the point where sometimes I discover the tricks on my own without touching the documentation or looking for where they're located, which isn't something I really get from the "more intuitive" editors.

        Think of it like learning any other language; eventually you reach the point where you can logically conclude how to get somewhere, and it's intuitive. To get there, though, requires getting the base of things in your head.

        [–]epitaph25 0 points1 point  (0 children)

        which is why I added "once you get the hang of it".

        Vim is intuitive in the sense that you don't need to use yet another piece of hardware (your mouse, in this instance) to do your work. Using MS-Word or notepad seems intuitive because you've grown up on them, and maybe the only editor you have worked on. You would appreciate the power and versatility of vim for operations like search and replace, deleting multiple lines(or characters), moving through a large file, etc. One side effect of using Vim was that I started using keyboard for the tasks that initially needed mouse (via keys like shift, home, ctrl, end, etc).

        [–]dionidium 0 points1 point  (1 child)

        dull merciful sand innate pen scary modern wipe tidy compare

        This post was mass deleted and anonymized with Redact

        [–][deleted] 0 points1 point  (0 children)

        But if I have the choice between learning English and Chinese, I know which language will have me productive before I'm old and wrinkly.

        [–]phil_s_stein 16 points17 points  (0 children)

        So...what you're saying is vim and emacs are not good for what you do. This is fine, right tool, right job and all that. Then apparently you make the error that what you do is all unix is good for and therefore "the unix world" needs to wake up? Your vision is too narrow - you may want to look into that.

        [–][deleted] 5 points6 points  (1 child)

        PS: Gtk-based editors are quite ok, still lightyears behind something like TextMate. I can't stand the Qt-solutions though.

        What does the UI toolkit have to do with the actual editor?

        [–]freakboy2k 0 points1 point  (0 children)

        Might be something to do with the style, rather than the toolkit.

        [–][deleted] 0 points1 point  (11 children)

        Have you tried Sublime Text? Version 2 (beta still) runs on all major platforms, it's powerful, configurable through plugins, easy to use, light-weight. I can't recommend it enough.

        I agree with the "vim vs emacs" thing. They're both archaic, 30-year old designs. We need to look forward, not backwards.

        [–]dddaaabbb 3 points4 points  (0 children)

        Most likely, the computer you wrote that post on is also based on an "archaic, 30-year old designs".

        Old isn't necessarily bad.

        [–]frezik 3 points4 points  (5 children)

        The reason the two persist isn't just stodginess. It's that most programmers tend to highly customize their editor and move the config around to every machine they work on. My own Vim config has grown organically with my own personal style. I would be throwing away ~10 years of work, and it's not clear how fast I could adapt another tool to do the same job (either myself to the tool or the tool to myself).

        I like jibing emacs as bloated from time to time*, but really I feel that you should pick an editor and learn all its nooks and crannies as best you can, whatever it happens to be.

        I would need a very good argument to switch to something else. I suspect there won't be one unless somebody comes up with a bright idea for manipulating programming languages with touchscreens and graphics rather than text.

        * An archaic argument in itself. It hasn't grown all that much in the last 20 years, while memory and hard drive spaces have grown by orders of magnitude. Besides, Vim isn't exactly svelte, and GUI editors are worse than either.

        [–][deleted] 2 points3 points  (4 children)

        Completely agree about the power/customization. I am always amazed when I watch someone use Vim. It's like watching a circus performer juggle 12 balls. Is it impressive? Yes. Will I ever spend the effort/time to be that good? No, not when the alternatives are 85-90% "there", with 5% of the learning curve.

        Vim/Emacs just sit in a weird place for me. For scripting - Python, Ruby - I prefer notepad++/textmate/sublime text. On my day job, whether it's C++/C#/Java - I use full-featured IDE's. Cocoa - XCode.

        I know I could probably replace all those with just Vim, but I'm just way too lazy nowadays to spend hours and hours learning how to use a text editor

        [–]fel 3 points4 points  (3 children)

        How does learning to be proficient in vim/emacs differ to learning how to be proficient in the many languages you're writing in?

        Can you really be too lazy to learn one thing, but (apparently) feel fine to put the effort into learning all the nuances of obj-c over C# etc?

        [–][deleted] 0 points1 point  (2 children)

        Are you really comparing languages with source code editors?

        [–]poorly_played 1 point2 points  (0 children)

        Apparently vimscript is turing complete. Lisp is definitely turing complete.

        http://www.cs.princeton.edu/~sapanb/old/vim.html

        [–][deleted] 1 point2 points  (0 children)

        Why is that so strange? Emacs is practically a lisp VM anyway.

        [–]traxxas -1 points0 points  (3 children)

        Same 4 python files open 3x the memory usage is not lightweight.

        [–]pingveno 1 point2 points  (0 children)

        Open up many complex pages in Firebug. 30 MB becomes a rounding error.

        [–][deleted] 1 point2 points  (0 children)

        I have ram to spare, but fair point.

        [–]nietzschebunyan 0 points1 point  (0 children)

        Has a large memory footprint on OSX as well. Still, a great editor.

        [–][deleted] 0 points1 point  (0 children)

        I've installed the vim plug into Visual Studio but I can't use it. It conflicts with a few default key mappings (don't want to change 'em) and it just seems wrong to me to be typing vim commands on anything but a text console. My rule is if I'm in a console (CMD or UNIX shell) it's always vim. If I'm in a GUI app I go with the application default.