this post was submitted on 26 Oct 2024
368 points (97.2% liked)

Programmer Humor

32305 readers
510 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 45 points 8 hours ago (4 children)

Recently had to edit the hosts-file on a remote host, and I don't know if using two proxy jumps to SSH into it broke it, but it just wouldn't let me select text with the mouse.
I had to duplicate seven lines and edit the IP addresses, and without being able to copy-paste, I already saw myself manually typing it out.

Then I remembered that in Vim, you can do d5↓ to delete 5 lines. Surely that would also work with copying/yanking. And yep, a y7↓ and a paste later and I had duplicated the lines.

Then use the multi-line cursor like I routinely do for changing all 7 IP addresses...
...and now I feel like I've crossed the line where people will think I'm just a wizard.

[–] [email protected] 16 points 6 hours ago (3 children)

Ctrl-K and Ctrl-U in nano, a sane editor that does not hate you

[–] [email protected] 14 points 6 hours ago (2 children)

Ctrl-X Ctrl-V in micro, if you appreciate a sane editor with sane keybindings.

[–] [email protected] 4 points 5 hours ago

That's cool, and I can't wait for it to gain widespread adoption, but nano is already more commonly installed by default.

[–] Blisterexe 3 points 6 hours ago (2 children)

How does micro compare to nano?

[–] [email protected] 14 points 3 hours ago (1 children)
[–] [email protected] 4 points 2 hours ago
[–] [email protected] 2 points 2 hours ago* (last edited 2 hours ago) (1 children)

better ootb experience with syntax highlighting, sane keybindings, plugin system, and other little things nano lacks.

[–] [email protected] 1 points 53 minutes ago* (last edited 15 minutes ago)

Nano has had syntax highlighting for quite a while.

Its keybindings also make sense if your brain is still stuck in the '90s. If not, they're literally printed at the bottom of the terminal.

If I need plugins, I'm not gonna be fucking around with a terminal text editor.

What are these "other little things?" Certainly not "probably already installed on your system."

[–] [email protected] 3 points 6 hours ago (1 children)

How do I do regex or connect to an LSP with nano?

[–] [email protected] 3 points 5 hours ago (1 children)

That's the neat part: you don't.

[–] [email protected] 3 points 4 hours ago (1 children)

Fair enough. Those are things that I like to be able to use, however. Which makes nano/pico/micro a non-starter for me. Different strokes for different folks.

[–] [email protected] 2 points 3 hours ago

Well, they're not necessary for 99.999% of what you need a quick CLI text editor for.

[–] [email protected] 2 points 6 hours ago (1 children)

Doesn't that just cut one line at a time? Or is this Emacs-like, where it buffers the lines?

That host doesn't have internet access, though, so installing a different editor wasn't really an option to begin with...

[–] [email protected] 5 points 5 hours ago

If the host doesn't already have nano, you fucked up super early

But yeah, it buffers the lines.

[–] [email protected] 3 points 5 hours ago (2 children)

Just switch to visual mode and select the text and yank it.

Press v where you want to start the selection from (switches to visual mode), hjkl (or arrow keys) to move the cursor to the end, then you can yank it from there. It'll highlight what you're selecting just like you're using your mouse, but you're using the keyboard.

If you want to get really fancy there are 3 different kinds of visual mode, but lower case is the most often one that I use because it's char by char, V is line by line, Ctrl+v is "block" (you can select chunks across several lines omitting things at the beginning or end of lines).

Ctrl+V to do the block mode is nice if you need to edit the same part of several lines that all line up vertically, you just Ctrl+v, jk to select the lines, then I (shift+i) to insert on all those lines (if you're in vim you can delete things in insert mode also, if you're in vi you'll need to delete first then insert)

[–] [email protected] 1 points 8 minutes ago

y6jjp is generally faster, tho, as long as you know you need exactly 7 lines or happen to have :set nu rnu in your config. Also, if using nvim, having yanks highlighted helps immensely

[–] [email protected] 2 points 4 hours ago

Had not heard of block mode. I need to try this.

[–] [email protected] 2 points 4 hours ago (1 children)

The real question is why you're torturing yourself by manually fixing that stuff? Don't you terraform your Ansibles?

[–] [email protected] 4 points 6 hours ago

I've been using vim as my primary text editor and IDE for near a decade. I forgot that this was a thing so, I've been using visual mode like a peasant.