this post was submitted on 30 Sep 2024
904 points (94.2% liked)

linuxmemes

21607 readers
162 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.
  •  

    Please report posts and comments that break these rules!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't fork-bomb your computer.

    founded 2 years ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] Draegur@lemm.ee 67 points 2 months ago (6 children)

    If I wanted to hear about what's good about Vim, should I:

    a) ask what's good about vim

    -OR-

    b) assert blindly that there is nothing good about vim so fanboys will come crawling out of the walls tripping over each other to tell me how I'm wrong?

    [–] MajorHavoc@programming.dev 56 points 2 months ago (2 children)

    Doesn't matter we will tell you either way.

    • Instead of simply shortcuts, vim uses "chords". Every new shortcut I learn can be combined intuitively* with all the other shortcuts I know.
    • Because of this there's no faster way to edit files than Vim in the hands of an experienced user.
    • this let's me spend almost no time editing code, freeing up the rest of my time for swearing at piss poor documentation.

    * I use "intuitively" here in a way that not merely stretches, but outright abuses the definition of the word.

    [–] Draegur@lemm.ee 15 points 2 months ago (1 children)

    Thank you for telling me all this neat stuff! :D

    I think I get what you are intending to imply by the word "intuitively"; it's that it eventually becomes as reflexive and fluid as touch-typing itself.

    Gosh you make it sound almost like you play Vim like an instrument more than use it...!

    Honestly that sounds cool ^_^

    [–] MajorHavoc@programming.dev 8 points 2 months ago

    I think I get what you are intending to imply by the word "intuitively"; it's that it eventually becomes as reflexive and fluid as touch-typing itself.

    Exactly like that!

    It's also another source of the many "I can't exit Vim" jokes, because it is now genuinely disorienting for me to try to edit text without Vim key bindings.

    Gosh you make it sound almost like you play Vim like an instrument more than use it...!

    That's a great analogy. It does very much feel that way.

    Honestly that sounds cool ^_^

    It is pretty cool.

    Wether it's really worth the learning curve is probably unique to each person that tries it. But for folks who need to edit a lot of text a lot of the time, it's pretty great.

    [–] pmk@lemmy.sdf.org 10 points 2 months ago* (last edited 2 months ago) (1 children)

    It's intuitive if your previous editor was ed(1) and you're using an ADM-3A-like keyboard.

    [–] MajorHavoc@programming.dev 2 points 2 months ago

    It's intuitive if your previous editor was ed(1) and you're using an ADM-3A-like keyboard.

    Exactly! Ha!

    [–] kattfisk@lemmy.dbzer0.com 18 points 2 months ago (1 children)

    tl;dr: Run vimtutor, learn vim, enjoy life

    It's extremely powerful, for mostly the same reason that it's incomprehensible to newbies. It's focused not on directly inputting characters from your keyboard, but on issuing commands to the editor on how to modify the text.

    These commands are simple but combine to let you do exactly what you want with just a few keypresses.

    For example:

    w is a movement command that moves one word forward.

    You can put a number in front of any command to repeat it that many times, so 3w moves three words forward.

    d is the delete command. You combine it with a movement command that tells it what to delete. So dw deletes one word and d3w deletes the next three words.

    f is the find movement command. You press it and then a character to move to the first instance of that character. So f. will move to the end of the current sentence, where the period is.

    Now, knowing only this, if you wanted to delete the next two sentences, you could do that by pressing d2f.

    Hopefully I gave a taste of how incredibly powerful, flexible, yet simple this system is. You only need to know a handful of commands to use vim more effectively than you ever could most other editors. And there are enough clever features that any time you think "I wish there was a better way to do this" there most certainly is (as well as a nice description of how).

    It also comes with a guide to help you get over the initial learning curve, run vimtutor in a console near you to get started on the path to ~~salvation~~ efficient editing.

    [–] interdimensionalmeme@lemmy.ml 0 points 2 months ago* (last edited 2 months ago) (1 children)

    I'm not against that,

    But if ctrl+f doesn't let me type a search term then I'm going to scream

    The war could have been avoided if user had the option to easily rebind any key/action

    [–] MajorHavoc@programming.dev 10 points 2 months ago (1 children)

    But if ctrl+f doesn't let me type a search term then I'm going to scream

    It's been awhile since I've bothered to remap a key in Vim, but adding this to .vimrc should do it for you:

    nnoremap <C-f> /
    

    I started with a bunch of these to let me keep using existing muscle memory while training new.

    [–] interdimensionalmeme@lemmy.ml 1 points 2 months ago (2 children)

    Is there a .vimrc that already maps all the standard notepad++ keybindings in one go ?

    [–] MajorHavoc@programming.dev 7 points 2 months ago* (last edited 2 months ago)

    Is there a .vimrc that already maps all the standard notepad++ keybindings in one go ?

    You may find someone who has one, but I just did the ones I found myself missing as I encountered them.

    I tried someone's all-in-one .vimrc, but it broke too many community recipes while rebinding a bunch of shortcuts that weren't in my muscle memory anyway.

    I kept adjusting my .vimrc as my muscle memory transitioned. So having less to fiddle also made it easier for me to keep my .vimrc tuned to my muscle memory.

    For example, I was using / instead of Ctrl+F because I liked it better within a month or two.

    [–] rezifon@lemmy.world 3 points 2 months ago* (last edited 2 months ago)

    There are better editors to learn if your goal is to not learn vi.

    In vi, search is not only used for searching, but also for navigation. Demoting search from an easy-to-reach single key to a difficult-to-press chorded key combination breaks one of vi's core philosophies, natural editing flow, and will significantly reduce your enjoyment and efficiency using the editor.

    [–] babybus@sh.itjust.works 18 points 2 months ago (3 children)

    You shouldn't talk about vim at all! Just write that vscode is the most flexible code editor.

    [–] LucidNightmare@lemm.ee 14 points 2 months ago (1 children)

    Don’t use Microsoft’s version. Use Vscodium! :)

    [–] MajorHavoc@programming.dev 1 points 2 months ago

    Yeah. And VsCodium with NeoVim is fantastic.

    [–] Buddahriffic@lemmy.world 9 points 2 months ago

    I've seen vscode fill up home directories unnecessarily when run on the machine directly as well as remotely!

    IMO vscode is a perfect example of recent software that looks great from a features pov but horrible from an efficient implementation pov. I loved it until I hated it.

    [–] kattfisk@lemmy.dbzer0.com 4 points 2 months ago

    It does have a vim plugin, so it's a perfectly fine editor

    [–] Classy@sh.itjust.works 10 points 2 months ago

    To add to your line of query, what if I don't give a shit about writing code and I just use Linux as a casual laptop user? I've never looked at vim or emacs, I use Kate and OnlyOffice

    [–] Buddahriffic@lemmy.world 5 points 2 months ago

    Vim has been around long enough that I've found anything I want to figure out how to do has been discussed many times on various places around the internet and have yet to fail to find what I'm looking for with a search.

    [–] nickwitha_k@lemmy.sdf.org 1 points 2 months ago

    They're both fine choices.