Just use sublime text (anti-vim rant)



  • @Gaska said:

    The goal of categorizing is to show similarities and differences between things. And sticking to first-order morality doesn't give enough perspective to say anything meaningful on the matter, just like you can't tell how far the city is if you place your eyes on the ground (literally - by lowering your head very much).

    Yes, but failing to isolate each layer's goal from each other is a less effective way to gain perspective than a more objective approach would be. For instance, you're

    @Gaska said:

    Not sure about (meta-){4}-morality.

    whereas a recursive meta2 morality could have made the study of all layers above it redundant, offering you a more straightforward framework for analyzing the on the actual questions that you would turn to meta-analysis for, rather than requiring you to manually build each successive layer as a cover for the previous.

    @Jaloopa said:

    In what systems would it be right to shoot a keyboard designer?

    GNU/Linux

    @boomzilla said:

    Or just pick the right morality in the first place. Sheesh, was that so hard?

    Yes, but right for whom? Who does your choice of a particular morality benefit? I hold that it is immoral to require any person to choose a morality that does not serve their own best interests. In my opinion, what people want most from a morality is reassurance that if they do good things, good things will happen to them. Obviously, that doesn't happen, but if you view each individual as an entity trying to optimize their own personal gain with in a complex system, you can consider morality as a tool for approximating the higher-order effects of their actions. As in: stealing might appear to be a good course of action to a greedy optimizer, but morality says that on the balance, it probably isn't worth it.

    @HardwareGeek said:

    @Buddy said:
    if you're discussing meta-meta-meta-moralityanything hoping to accomplishing anything useful, you're wasting your time.

    FTFY

    I would like to point out that while that is one correct way of interpretating of that, there is also a second, ‘paradoxical’, interpretation, in which metaanalysis can be useful as long as you don't go into it hoping to accomplish anything.


  • ♿ (Parody)

    @Buddy said:

    Yes, but right for whom?

    Since you asked nicely, I'll now try a serious reply.

    @Buddy said:

    Who does your choice of a particular morality benefit?

    Personally, I think the point of morality is to benefit individuals and society. The real problem is that we can't agree on what's a benefit and what isn't, or where we compromise between the micro / macro levels.


  • Banned

    @Buddy said:

    a recursive meta2 morality could have made the study of all layers above it redundant, offering you a more straightforward framework for analyzing the on the actual questions that you would turn to meta-analysis for, rather than requiring you to manually build each successive layer as a cover for the previous.

    My method of meta-ing is in fact recursive. Each next layer is basically "what made me get to that one particular conclusion on the lower meta-level? What could be done to make the conclusion different?". But the specific question to be asked, I can think up only to four levels high. And the ultimate goal is always to determine if something is good or bad - looking from many different angles.


  • Discourse touched me in a no-no place

    @Gaska said:

    Aspiring for a badge are we?

    Or a suspension for abusing the flags.... 👿

    Paging @boomzilla.


  • ♿ (Parody)

    I was pretty shocked when all of the sudden six flags showed up at once.


  • Discourse touched me in a no-no place

    Well it's not as if you weren't begging for them by saying it was quiet recently, earlier.


  • ♿ (Parody)

    Today is definitely an uptick in flag activity.



  • @Gaska said:

    My method of meta-ing is in fact recursive.

    Yes, but it's not infinitely recursive. Anyway, enough about you: my reason for engaging in meta-analysis is simple: I want to draw the best conclusion I can on every levelfeel smugly superior to everyone I meet. As you can see, I have chosen a meta-analysis technique that works well for me. You also seem to have chosen a method that does what you want it to, and does that well.

    @boomzilla said:

    Personally, I think the point of morality is to benefit individuals and society.

    As I understand it, there are two main mechanisms by which that can happen: social pressure; everyone wants each other to behave morally as that seems the best route to a global optimum, and human empathy; the fact that improving the lives of others provides a benefit to the individual in the form of satisfying a hardwired drive to do so. Each has its own failure modes, and the way they work together can be confusing or even contradictory.

    @boomzilla said:

    The real problem is that we can't agree on what's a benefit and what isn't, or where we compromise between the micro / macro levels.

    That first one seems like a problem mostly with the ‘social pressure’ model of morality, and probably is the most relevant problem nowadays, what with the internet connecting people from very different cultures and all.

    @PJH said:

    👿

    I'm sorry, won't happen again.

    @boomzilla said:

    six flags

    Hope you made a good shocked-face for the camera.


  • ♿ (Parody)

    @Buddy said:

    That first one [can't agree on what's a benefit] seems like a problem mostly with the ‘social pressure’ model of morality, and probably is the most relevant problem nowadays, what with the internet connecting people from very different cultures and all.

    Sorry, I don't follow this at all. Though I'm not sure I agree with your social pressure / human empathy thing to begin with, so maybe that's part of the problem.

    @Buddy said:

    Hope you made a good shocked-face for the camera.

    Oh, yeah...



  • @boomzilla said:

    Sorry, I don't follow this at all.

    Well, I guess I feel the same way about morality that I feel about coding standards: I don't particularly care which one we use, but in general things seem to go better when everybody's using the same one. But I think that it's impractical to enforce any particular morality on a large scale.

    But I feel like I've drifted back into the kind of stuff you don't necessarily agree with, so I guess I'll ask: in your view, where does morality come from—or, alternatively—on what criteria are moral principles selected?


  • ♿ (Parody)

    @Buddy said:

    But I think that it's impractical to enforce any particular morality on a large scale.

    Definitely. It may also be immoral to even try to enforce it (ha!).

    @Buddy said:

    in your view, where does morality come from—or, alternatively—on what criteria are moral principles selected?

    Good question. I think we can agree that religion has been a major influence on morality. Some would obviously say that sort of influence was handed down from on high, though I can see an alternate, secular explanation, too:

    It's essentially no different than biological evolution. Really, just another component of it. Societies with better morals (as I defined above, part of better is being good for the society) are more likely to survive.

    I'll invoke Chesterton's gate here, and say that post Enlightenment attitudes that the past was dumb and we should recreate ourselves and our world from scratch are bad ideas. This is where an over abundance of something like empathy can be detrimental. "Hey, that's mean," might be right, but that doesn't mean there isn't a good reason for being mean sometimes.

    Our current level of wealth makes it so that it's not always obvious what is detrimental. I would interpret this as having lots of margin for error in a feedback loop, or simply the observation that "there's a lot of ruin in a nation." In anything as complex as human civilization, it's difficult to figure out how things will play out, and people don't even agree on how to evaluate whether something is good or not, let alone the root causes. But I don't think that's a good excuse to not try to understand before we go pulling things down.


  • BINNED

    @Buddy said:

    Whoever was responsible for the omission of the meta key from the qwerty keyboard should be shot.

    What are you talking about? I use it all the time.

    Why they marked it with some sort of waving flag icon is beyond me though.



  • Flag? Mine has some weird trapezoid with a cross on it ...



  • I knew which key you meant! ;<asdf>D



  • @boomzilla said:

    Today is definitely an uptick in flag activity.

    Is that a homosexual euphemism?


  • Banned

    @tar said:

    I knew which key you meant! ;D

    Then you're officially the most special personsnowflake I know.


  • Banned

    @Onyx said:

    Why they marked it with some sort of waving flag icon is beyond me though.

    You're mistaking super for meta.



  • @HardwareGeek said:

    It's a B*****ming text editor: Open, save, insert, delete, search, replace, give it a hint for syntax highlighting when it can't guess the file type.

    And it doesn't just curl up and die when the file is a single multi-megabyte line, and it lets me choose whatever EOL convention and text encoding style I want, and convert between them without fuss, and its syntax highlighting Just Works for everything I ever use it for.

    Vim the Honda station wagon of text editors. It isn't flashy and nobody will think you're a hero for driving it but it gets the job done. And it works over ssh too. It's fine.



  • @Polygeekery said:

    I honestly cannot remember the last time I typed "sudo nano filename" and got an error.

    I can't use Nano. It fucks with my vim muscle memory too much and just feels crippled by comparison.


  • BINNED

    @Gaska said:

    You're mistaking super for meta

    Or I don't care and I just wanted to make a cheap joke.



  • There's a bug involving that key, I think.
    When I hit it, the page moves upward and then the context menu opens.
    (FF35.0.1, Linux)

    Welp, can't seem to repro it anymore now that I scrolled down to my post.


  • Fake News

    I know this topic is by now derailed to hell and back, but I'm still curious what the OP did.
    @cartman82 said:

    I disagree with his "either vim or sublime" mindset (there are other choices out there). But if I ever had any dreams about getting into vim, they are pretty much dispersed. Highly recommended read.

    So you had some time to let this sink in. Have you opened Vim in the mean time? For example, the article did rail on Vim for killing your productiveness, yet you can learn it without going cold turkey on all it's crazy shortcuts. While it might also come with outdated defaults, you can try to use some sane defaults (easiest way to install that though is by copying it whole in your .vimrc file).

    Personally, I don't care much for Vim-the-editor but I still love it's modal editing concept and it's composability. Make no mistake, Vim's current GUI is outdated and is likely never going to change. But others care, so that's why they have started developing clones for IDE's or are even trying to refactor Vim into a backend for a completely new GUI (sadly they're far from there yet).

    One of the complaints was that you need to keep Vim in your head while editing, yet so is it with any other editor assisting the user. Knowing tons of shortcuts in your common IDE also takes exercise, as I would for example lose track of what I was doing after messing up yet another Ctrl+K-something-something shortcut.

    At the end of the day, Vim isn't going to make you a better programmer. But if you have some time and think this model of workflow is interesting, give it a shot.



  • Ok, there are two fundamental complaints I have with vim:

    1. It's terminal-based. Why the fuck do people buy retina HD screens and gigs of ram, only to develop inside what is basically 70-ies era technology? Everything is character based. Can't draw a guideline, can't underline text. Conflicts with the terminal keys. Limited integration with DE. Since this is working inside a subshell, can't group instances or save session.

      I'm convinced it's the "rockstar ninja haxor" image thing. I get it, I feel a bit of the allure myself. Doesn't mean I'm gonna lose my head over it.

    2. It has special snowflake keymappings. I get it that you can become very efficient by moving hands away from mouse and cursors. I can even accept that the guy who wrote this article still didn't reach the level of comfort where his productivity doesn't suffer. And that the 'real' vim guru can hold all these hundreds of commands in his head without cognitive overload.

      But, I just don't see the reason to invest effort into this. I don't know what kind of programming you're doing, but I can rarely just blast away code so fast that the speed of text editing becomes an issue. Analyze the time you spend "coding". Unless you're some kind of genius or always doing greenfield on your own, I bet you'll find that most of it goes towards browsing through existing code, thinking, analyzing, running debugger, organizing with coworkers etc... Vim doesn't help with that.

      And even if it did, there's the whole thing with the rest of the world working different than vim. Every second I invest into learning Sublime Text or Visual Studio way of doing things goes into making me more efficient in Photoshop, Word, Outlook and even typing this post. With vim, I bet it's the opposite. You either start looking for goofy ways of turning everything into vim, or accept the performance hit with your typing outside the vim. That's some amazing opportunity cost there.

    So, these two are basically deal-breakers for me.

    Can you find a GUI version of vim and use the arrows mode? Sure. But then, it becomes just like any other editor. Except hatefully shat out by vim hipsters, hoping to lure you into their moldy ecosystem / religion. No thanks.

    Bottom line, I don't need the fucking coding ninja image and I don't need typing efficiency, even if I accept the (false) premise that vim would provide me with these things.

    So why should I use vim, again? To edit a text file over SSH if there's no other choice, and little else.



  • It's terminal-based. Why the fuck do people buy retina HD screens and gigs of ram, only to develop inside what is basically 70-ies era technology?

    So that you can have multiple terminals and a browswer window and other important things next to each other. Think "dashboard".

    I'm convinced it's the "rockstar ninja haxor" image thing. I get it, I feel a bit of the allure myself. Doesn't mean I'm gonna lose my head over it.

    How patronizing.

    It has special snowflake keymappings. I get it that you can become very efficient by moving hands away from mouse and cursors. I can even accept that the guy who wrote this article still didn't reach the level of comfort where his productivity doesn't suffer. And that the 'real' vim guru can hold all these hundreds of commands in his head without cognitive overload.

    You need about 10 vim commands to be as productive with Vim as basically any other text editor, as people have continuously explained. The nice thing about vim commands is that they can be composed. Want to delete to the end of the line? Hit d. Then hit the "end of the line" button. Want to delete a word? Hit d. Then hit w, the "next word" button. Etc. Want to regex? Hit / and type your regex. It's so SPECIAL!

    With vim, I bet it's the opposite. You either start looking for goofy ways of turning everything into vim, or accept the performance hit with your typing outside the vim. That's some amazing opportunity cost there.

    I don't think you know what 'opportunity cost' means. The fact that you can get something done x% faster without it affecting your productivity in other domains is a benefit, not a cost.



  • @Captain said:

    So that you can have multiple terminals and a browswer window and other important things next to each other. Think "dashboard".

    And you can't have that with GUI editors?

    @Captain said:

    How patronizing.

    Look into your heart and you'll recognize the truth.

    @Captain said:

    You need about 10 vim commands to be as productive with Vim as basically any other text editor, as people have continuously explained.

    The guy who spent 4 years learning vim says otherwise.

    @Captain said:

    The nice thing about vim commands is that they can be composed. Want to delete to the end of the line? Hit d. Then hit the "end of the line" button. Want to delete a word? Hit d. Then hit w, the "next word" button. Etc. Want to regex? Hit / and type your regex. It's so SPECIAL!

    Except you first have to enter a special mode (or exit insert mode, whatever) in order to do these things.
    Either way, nothing there seems like a huge win over GUI ways of doing things.

    @Captain said:

    I don't think you know what 'opportunity cost' means. The fact that you can get something done x% faster without it affecting your productivity in other domains is a benefit, not a cost.

    Except to get there, you need to invest a lot of time learning it.
    Time you could have invested learning something else, that would have brought you much more than x% benefit.
    Which is pretty much the definition of opportunity cost.



  • @cartman82 said:

    The guy who spent 4 years learning vim says otherwise is full of fertilizer produced by male bovines.

    FTFY

    @cartman82 said:

    nothing there seems like a huge win over GUI ways of doing things.
    gvim



  • Except to get there, you need to invest a lot of time learning it.

    Yes, about an hour with vim-tutor. And maybe a week at working just as fast as with a GUI while you get the muscle memory for the basic movement commands going.

    Either way, nothing there seems like a huge win over GUI ways of doing things.

    Says somebody who doesn't know how to do it. Fine, don't learn. Stop whining. Nobody likes a whiner.

    Look into your heart and you'll recognize the truth.

    You can go fuck yourself you shitty little asshole. I learned Vim because a Fortune 500 company I worked with used it, and it was easier to learn it than rock the boat. Where do you work? Oh, never heard of it.



  • @Captain said:

    Yes, about an hour with vim-tutor. And maybe a week at working just as fast as with a GUI while you get the muscle memory for the basic movement commands going.

    I did an hour with vim tutor. That's how I know how to enter insert mode and paste stuff typed in a better editor.

    An hour is about what vim deserves.

    @Captain said:

    Says somebody who doesn't know how to do it. Fine, don't learn. Stop whining. Nobody likes a whiner.

    I like wieners!

    @Captain said:

    You can go fuck yourself you shitty little asshole. I learned Vim because a Fortune 500 company I worked with used it, and it was easier to learn it than rock the boat. Where do you work? Oh, never heard of it.

    WELL MY FORTUNE 1000 COMPANY FLEW ME TO THEIR MOON BASE TO LEARN HOW TO PECK AND TYPE IN NOTEPAD! SO THERE!



  • @boomzilla said:

    It's essentially no different than biological evolution. Really, just another component of it. Societies with better morals (as I defined above, part of better is being good for the society) are more likely to survive.

    My opinion about empathy is that it's the purely biological counterpart of the same principle. A species with empathy is more likely to succeed than a more cutthroat one, for similar reasons.

    @boomzilla said:

    Chesterton's gate

    “If you don’t see the use of it, I certainly won’t let you clear it away. Go away and think. Then, when you can come back and tell me that you do see the use of it, I may allow you to destroy it.”

    Depending on the circumstances, it might sometimes be easier just to remove a gate and see what happens. For an exaggerated example: consider a gate that is just sitting there in the middle of a field, not connected to anything. I feel we could safely assume that that gate is not useful.

    @boomzilla said:

    post Enlightenment attitudes that the past was dumb and we should recreate ourselves and our world from scratch are bad ideas.

    I agree, though I think that the world also changes, and that society changing its attitudes to match is probably a good idea.

    @boomzilla said:

    This is where an over abundance of something like empathy can be detrimental. "Hey, that's mean," might be right, but that doesn't mean there isn't a good reason for being mean sometimes.

    To me, the most egregious version of how empathy goes wrong is when somebody, claiming to be acting out of empathy, proceeds to be mean to people for not being empathetic enough. But I still think that empathy can be a useful tool; just because it can fail in some situations doesn't mean that we should throw it out entirely. Although I acknowledge that you said ‘over abundance’, not ‘appropriate amount’.

    @boomzilla said:

    Our current level of wealth makes it so that it's not always obvious what is detrimental. I would interpret this as having lots of margin for error in a feedback loop, or simply the observation that "there's a lot of ruin in a nation." In anything as complex as human civilization, it's difficult to figure out how things will play out, and people don't even agree on how to evaluate whether something is good or not, let alone the root causes. But I don't think that's a good excuse to not try to understand before we go pulling things down.

    This reminds me of how in leverage points she talks about how if you are trying to intervene in a system, changing the strength of the feedback loop is more effective than pouring resources directly into the inputs or outputs, but changing the speed with which material or information flows through the system is more effective still.

    The best example of this, imo, is the free market: having each node of the graph able to make instant decisions based on local information is just so much more effective compared to having a big communist machine churning away, trying to make decisions about what it thinks the global optimum would be. Any such decisions (wrongly assuming they could even be made) would necessarily be out of date long before they could ever be put into practice.



  • @Buddy said:

    Depending on the circumstances, it might sometimes be easier just to remove a gate and see what happens. For an exaggerated example: consider a gate that is just sitting there in the middle of a field, not connected to anything. I feel we could safely assume that that gate is not useful.

    While you are probably right in that case, that is not Chesterton's gate: "a fence or gate erected across a road." The gate across the road may be useless, beneficial or harmful, but (if closed) it definitely has an effect of some sort. The gate in the field not connected to anything is (probably) useless because it (probably*) has no significant effect.

     

     

     

     

    * Unless it looks something like this:



  • That's true, although for a gate across a road, there are other considerations. Most importantly, there is a real and immediate effect of having that gate closed. In some circumstances, the immediate problem might actually be more important than the potential problem, particularly if you know that traffic along that road has changed significantly in the time that you have been observing, or if land usage on one or both sides of the fence has changed. The trade-offs that were made when that fence was erected may no longer be relevant, and if the original builders left no note to inform future passersby what the circumstances were, the quickest way to find out might just be to open it and see what happens.

    Also, “either leave the gate closed or remove it entirely” is a false dichotomy.



  • @Buddy said:

    Also, “either leave the gate closed or remove it entirely” is a false dichotomy.

    If a slope is too slippery, install a metaphorical hand-rail. Checks and balances aren't just for bank statements, you know.



  • @Buddy said:

    The trade-offs that were made when that fence was erected may no longer be relevant, and if the original builders left no note to inform future passersby what the circumstances were, the quickest way to find out might just be to open it and see what happens.

    No disagreement there. However, and this was Chesterton's point, "the quickest way to find out might just be to destroy it and see what happens" is a sub-optimal approach.

    But mostly I was just being pedantic in pointing out that your example was not actually an example of Chesterton's gate, but a somewhat different situation.



  • @Gaska said:

    Then you're officially the most special personsnowflake I know.

    Would you be at all surprised at this point if I mentioned that I usually have the Number-Pad-as-mouse-cursor-control accessibility option enabled on any PC I use with any regularity?



  • @cartman82 said:

    Can you find a GUI version of vim and use the arrows mode?

    There's always evil-mode in emacs. 😄


  • Banned

    @tar said:

    Would you be at all surprised at this point if I mentioned that I usually have the Number-Pad-as-mouse-cursor-control accessibility option enabled on any PC I use with any regularity?

    I bet you also have Dvorak keyboard with 15 F-keys. And your PC has FreeBSD installed.


  • Banned

    @JBert said:

    One of the complaints was that you need to keep Vim in your head while editing, yet so is it with any other editor assisting the user. Knowing tons of shortcuts in your common IDE also takes exercise, as I would for example lose track of what I was doing after messing up yet another Ctrl+K-something-something shortcut.

    The only shortcuts I use in regular text editors are Ctrl+Z, Ctrl+X, Ctrl+C, Ctrl+V, Ctrl+A, Ctrl+F, Ctrl+Shift+Z, and Ctrl+Space. The first six are universal in Windows world, so you don't really have to learn them; Ctrl+Shift+Z is easy to memorize by analogy to Ctrl+Z; so the only one you have to learn is Ctrl+Space - though to be honest, I don't get to use it very often because in modern IDEs, code completion triggers automatically in most cases. And each of the remaining 345 functions is available through toolbars or menus.



  • @Gaska said:

    I bet you also have Dvorak keyboard with 15 F-keys.

    Sorry to disappoint you :<genuinesadface>(

    @Gaska said:

    And your PC has FreeBSD installed.

    One of my MacBooks has FreeBSD as it's primary OS. I'll accept this one.

    (My other MacBook has Ubuntu on it now. It used to run Windows XP, solely for the purpose of making other Mac users cry...)



  • @Gaska said:

    universal in Windows world... Ctrl+Shift+Z

    Or alas, Ctrl+Y, depending on the app?


  • Banned

    @tar said:

    Or alas, Ctrl+Y, depending on the app?

    I absolutely despise when this is a thing. It's one of the most unconvenient key combinations to use. Made so much worse if Ctrl+Shift+Z is mapped to "erase undo history".



  • @Gaska said:

    "erase undo history"

    Oh god.
    May as well double down on that and map it to a handy keyboard shortcut like 6 or ,, something like that. Or eat some nice glue...



  • @Gaska said:

    [Ctrl+Y] unconvenient key combinations

    Parenthetically, do you have two different Ctrl keys on your keyboard? I believe the preferred usage is to use the left one with keys on the RHS, and vice versa...
    Filed under: this will probably start mattering to you some 10-20 years in the future if you're making a career out of it


  • Banned

    For right half of keyboard, I use left modifier keys, and for left half, I also use left ones - I stretch fingers from Ctrl to whatever I want to press. Y is too far right to stretch my fingers comfortably and too far left to reach with right hand without moving elbow. From right-hand-side modifiers, I use only Alt because left Alt can't write diacritics, and it's very awkward to reach anyway.



  • @Gaska said:

    I stretch fingers

    It's my sleeping time now, so I'm just going to pop this venerable URL here and bow out for the next few hours:

    Everyone should definitely read it though, it contains at least one reference to chiropractic, so that's always nice...


  • 🚽 Regular

    @Gaska said:

    I absolutely despise when this is a thing. It's one of the most unconvenient key combinations to use. Made so much worse if Ctrl+Shift+Z is mapped to "erase undo history".
    I have no problem with this (but then again I have a keyboard where / is <nobr>Shift+7</nobr> so I'm used to have to reach).

    What annoys me is I never trust my memory to be correct and I frequently have to check the Edit menu for the right shortcut.

    Btw, PhotoShop uses <nobr>Ctrl+Alt+Z</nobr> for real undo; <nobr>Ctrl+Z</nobr> only toggles the last operation. it's a worse combination than <nobr>Ctrl+Y</nobr>.


  • BINNED

    And that is why I switched to US layout years ago: no more Shift7 for /, no more Alt GrQ for \ and, most importantly, no more Alt GrB / N / F / G for various brackets.

    When I need diacritics they are just a quick ShiftCaps Lock away (switch layout, I think it's AltShift on Windows?)


  • Banned

    While we are at keyboard layouts, Windows Polish layout has this stupid feature where ~ is a dead key - hit it once, nothing happens, but if you subsequently hit one of "diacriticable" letters, you get diacritic; hit it twice, you get two tildes. It was so annoying that I created my own keyboard layout that's identical to Polish but with regular ~. Kudos for Microsoft for making a nice utility for custom keyboard layouts.


  • 🚽 Regular

    @Onyx said:

    no more Alt GrB / N / F / G for various brackets.
    I don't exactly remember where you're from. Are you from Slovakia maybe?

    The Slovak keyboard layout seems like a programmer's nightmare:

    Ooh, the SVG embedded successfully. Have a 🍪, Discourse.


  • BINNED

    Croatia, but yeah, key placement is the same in regards to brackets.

    @Zecc said:

    Ooh, the SVG embedded successfully. Have a , Discourse.

    About that... see above. You linked the preview, which is PNG


  • Fake News

    Whoah, that's more than I asked for. Sorry for bringing out the local cult of vi, though I can't help but explain my point of view without losing my Vim license.

    @cartman82 said:

    Ok, there are two fundamental complaints I have with vim:

    1. It's terminal-based. Why the fuck do people buy retina HD screens and gigs of ram, only to develop inside what is basically 70-ies era technology? Everything is character based. Can't draw a guideline, can't underline text. Conflicts with the terminal keys. Limited integration with DE. Since this is working inside a subshell, can't group instances or save session.

      I'm convinced it's the "rockstar ninja haxor" image thing. I get it, I feel a bit of the allure myself. Doesn't mean I'm gonna lose my head over it.


    Holy Belgium-ing hipster on a pogo stick!

    Anyone who tells you that you need to run Vim in a terminal for it to be "Vimmy" is wrong (ok, fine when @Captain works that way, bad if they hoist it upon others). gVim has been a thing for several years, and even if it looks outdated it does have the following benefits compared to terminal vim:

    • TrueType font support and font scaling
    • Full RGB color range support (terminal vim depends on your terminal, which mostly supports about 256 different ones and maybe even reversed)
    • Underlining and squigly lines for spellcheck work
    • More keys to use as terminal won't steal them
    • Menus which list commands and their corresponding default shortcut.
    • Toolbar
    • Mouse support enabled by default

    It is still text-based though, but that means it will still work fine if you have to use it in a terminal, and all of it's plugins should still work as well. Same thing with Emacs which also started as a TUI.

    Note about that session and grouping thing: Vim does have it's own session management, and you can have several subwindows - even in a terminal. I'm not sure how gVim reacts if you stuff it in a desktop session manager, it might take some command line parameters to let each window run and save it's own session info. After reading the rest of your post I'm not going to dig it up though.

    @cartman82 said:

    2­. It has special snowflake keymappings. I get it that you can become very efficient by moving hands away from mouse and cursors. I can even accept that the guy who wrote this article still didn't reach the level of comfort where his productivity doesn't suffer. And that the 'real' vim guru can hold all these hundreds of commands in his head without cognitive overload.

    They're special in that they were introduced before CUA or windows shortcuts were invented, but yes, the defaults are unlike anything you encounter in Windows. The insert-mode or commandline-mode mappings share much with Emacs or the Bash command line though so knowing those basics might help you should you ever come across one of those.

    Meanwhile there's this above:

    @tar said:

    @Gaska said:
    universal in Windows world... Ctrl+Shift+Z

    Or alas, Ctrl+Y, depending on the app?


    Just goes to show that other apps also want to fuck with muscle memory if they please.

    @cartman82 said:

    But, I just don't see the reason to invest effort into this. I don't know what kind of programming you're doing, but I can rarely just blast away code so fast that the speed of text editing becomes an issue. Analyze the time you spend "coding". Unless you're some kind of genius or always doing greenfield on your own, I bet you'll find that most of it goes towards browsing through existing code, thinking, analyzing, running debugger, organizing with coworkers etc... Vim doesn't help with that.

    And even if it did, there's the whole thing with the rest of the world working different than vim. Every second I invest into learning Sublime Text or Visual Studio way of doing things goes into making me more efficient in Photoshop, Word, Outlook and even typing this post. With vim, I bet it's the opposite. You either start looking for goofy ways of turning everything into vim, or accept the performance hit with your typing outside the vim. That's some amazing opportunity cost there.</blockquote>
    

    I think I can make an argument for Vim... but only barely.

    • Vim does have support for a CTags index file and allows you to use any external tool to generate it. Hence, knowing the shortcut for "go to tag" should work for any language you can generate a tags index for.
    • It's not as if navigation stuff doesn't exist. You got search, go to line, bookmarking, go back in "jump history", actually listing all those jumps... and gets it right.

    For example, I have failed to find certain stuff in Sublime because it's indexer puked on some escape chars in strings, and it looks like Sublime's bookmark support got someone ticked off enough to write a "better" plugin. (Then again, those are arguments against ST and not for Vim, so maybe I should just invoke Sturgeon's law.)

    I must admit though that I mostly vim-ify other tools because you could otherwise spend weeks in customization if you want anything more than a text editor. Vim is built from the *nix mindset that tools "should do one thing and do it well". The current code is sadly so crufty that you can't properly hook up a REPL or debugger (unless shelling out completely, that is). Emacs got this right ages ago, and it now takes a project like NeoVim to clean up this mess. Sadly it's not there yet.

    Note though that I don't rely too much on a debugger. When working in Java in the backend, most of the time you want to see state changes and that's something which logging excells at thanks to it's macroscopic view. It's only when I don't understand why a piece of code is behaving like it is that I step through it.

    I did go for an alternative route though so that I don't have to Vimify everything: I changed keyboards to one that allows me to bring the arrows to the homerow when pressing the Fn key; $deity bless my employer for letting me bring my own keyboard.

    @cartman82 said:

    So, these two are basically deal-breakers for me.

    Can you find a GUI version of vim and use the arrows mode? Sure. But then, it becomes just like any other editor. Except hatefully shat out by vim hipsters, hoping to lure you into their moldy ecosystem / religion. No thanks.

    Bottom line, I don't need the fucking coding ninja image and I don't need typing efficiency, even if I accept the (false) premise that vim would provide me with these things.

    So why should I use vim, again? To edit a text file over SSH if there's no other choice, and little else.


    Looking back at it, I guess I do called you back in for selfish reasons. The more Vim users there are, the more they can whine how some newfangled piece of software didn't look at what was there before and be more supportive of Vim users.

    At the end of the day though, I wouldn't really care if you locally use notepad, copy con, Emacs or Vim, as long as work gets done. So your post was a good (humbling) read and would have been more so if it didn't have the flamebait parts. Still, thanks for typin'.


Log in to reply