this post was submitted on 08 Apr 2024
947 points (98.1% liked)

Programmer Humor

19652 readers
2252 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 54 points 7 months ago (2 children)

As someone who's been a software developer for over a decade and in IT even longer, I still don't use vi/vim for anything other than when crontabs have it set as the editor.

[–] [email protected] 29 points 7 months ago (2 children)
[–] [email protected] 27 points 7 months ago (2 children)

export EDITOR=nano.

But (neo)vim is amazing so there is no need to do that.

[–] [email protected] 17 points 7 months ago

I transfer all my files over to a Windows machine and edit them in Notepad

[–] [email protected] 4 points 7 months ago* (last edited 7 months ago) (1 children)

Based nano user

From my .zshrc (typing this on mobile so cope if it's wrong)

case "$OSTYPE" in
  linux*)
    export EDITOR=nano
  ;;
  freebsd*)
    export EDITOR=ee
  ;;
[–] [email protected] 2 points 7 months ago (2 children)

I guess shell languages can't do this:

export EDITOR=case "$OSTYPE" in
  linux*)
    nano
  ;;
  freebsd*)
    ee
  ;;
[–] [email protected] 2 points 7 months ago* (last edited 7 months ago)

That would be too smart. Smells like kotlin's when

[–] [email protected] 2 points 7 months ago

Put backticks around the entire case statement, and you can.

[–] [email protected] 2 points 7 months ago

You can set your default editor (maybe in .bashrc or .bash_profile? I forget), but I'm far too lazy.

[–] Hexarei 4 points 7 months ago (3 children)

Honestly if you don't use vim motions in your ide of choice, you're missing out big time. Being able to do things like "Delete everything inside these parentheses". di( or "wrap this line and the two lines below r in a pair of {}" ys2j{ , or "swap this parameter with the next one" cxia]a. with a single shortcut is game changing.

Even just being able to repeat an action a number of times is ridiculously useful. I use relative line numbers, so I can see how many lines away a target is and just go "I need to move down 17 lines" and hit 17j.

Absolutely insane how much quicker it is too do stuff with vim motions than ctrl-shift-arrows and the like

[–] [email protected] 14 points 7 months ago (1 children)

That's really neat, but I don't think I do that often enough to really make the performance hit of learning a whole new thing and memorizing keyboard shortcuts and commands worth it. I don't find myself refactoring code a ton, especially after moving to a more TDD-like model.

[–] Hexarei 8 points 7 months ago

It's less about refactoring and more about navigation of your code while editing. Ever wanted to delete a single word? daw deletes the word your cursor is currently in. How about "copy everything up to (but not including) the nearest "D" on the current line? yfD.

The whole point is that editing code in the middle of writing it, not just refactoring it, is immensely faster.

[–] [email protected] 7 points 7 months ago (1 children)

Absolutely insane how much quicker it is too do stuff with vim motions than ctrl-shift-arrows and the like

Those tasks are a very small part of work time, so most people don't feel the need to optimize it.

[–] Hexarei 7 points 7 months ago (1 children)

As a software dev, they're significant parts of what I do

[–] [email protected] 7 points 7 months ago (1 children)

Are you one of those rare developers who spend most of their day actually coding?

[–] Hexarei 6 points 7 months ago

Yes, absolutely. And I refuse to let my day be anything else! :-)

[–] [email protected] 1 points 7 months ago

Only if you use a qwerty keyboard, otherwise it's just annoying as shit