this post was submitted on 14 Jul 2023
888 points (95.5% liked)

Programmer Humor

31230 readers
1127 users here now

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

Rules:

founded 4 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 89 points 11 months ago (2 children)

Works the same as M-b for me (backwards-word)

Make sure your /etc/inputrc or ~/.inputrc contains

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving

"\e[1;5C": forward-word

"\e[1;5D": backward-word

"\e[5C": forward-word

"\e[5D": backward-word

"\e\e[C": forward-word

"\e\e[D": backward-word`
[–] [email protected] 22 points 11 months ago* (last edited 11 months ago) (1 children)

Lemmy:

> meme with problem

> SolutionCommentMemeCommentCommentMemeQuestion

Others:

> meme with problem

> BotCommentCommentAwardsAwardsBotShitpostAwardsShitpost

I hope the formatting shows properly... And thanks for this 😁 now to update the .inputrc on my laptop and VPSes

Edit: fix typo and formatting

[–] 4am 6 points 11 months ago

It would have been funnier if you put in “\e;D5c1-7” or whatever the fuck VT-100 gobbledegook

[–] bisq 7 points 11 months ago (1 children)

Commenting to save. Thank you!

[–] angrymouse 18 points 11 months ago* (last edited 11 months ago) (1 children)

Idk if you know but you van actually save a post or comment pressing the button "save" under it. It will appear in your profile in a section of saved stuff.

load more comments (1 replies)
[–] [email protected] 83 points 11 months ago* (last edited 11 months ago) (3 children)

Ctrl+a - go to beginning of line (alpha? I dunno)

ctrl+e - go to (e)nd of the line

alt+f - (f)orward one word

alt+b - (b)ack one word

You might already know these but no one else has posted them on this thread yet. I work in both Linux and Mac a lot and this works for them. No idea about Windows I'm no longer forced to use it at work 🙂

[–] [email protected] 15 points 11 months ago* (last edited 11 months ago) (1 children)

Also Ctrl + w to delete one word backwards (which is what OP wants to do).

Edit: Nvm I misread the post, deleting is not what OP wants to do. Still gonna keep this because Ctrl + w is easily the readline shortcut I use the most.

[–] [email protected] 5 points 11 months ago

While we're at it: Alt+d deletes the next word.

[–] dot20 11 points 11 months ago (1 children)

If you use WSL (which you should), you have a normal Bash, so it works

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

The best part of Windows is the part that isn't Windows lmao lawd I'm glad I don't work for the federal government (exclusively Microsoft) anymore

load more comments (1 replies)
[–] debil 37 points 11 months ago (1 children)

In a sane editor just press b.

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

Is Ctrl + ⬅️ for typing 'b' then?

[–] debil 5 points 11 months ago (1 children)

No (although you can easily create such a key mapping if so inclined). To type b character one must first enter the so called Insert mode. Depending on where exactly you wish to type the character, you can enter the Insert mode by typing for example i, a, I, A, o or O.

[–] [email protected] 5 points 11 months ago

It wasn't a serious question 🙂

Sounds like you're talking about good old vi or vim.

[–] [email protected] 27 points 11 months ago (2 children)
[–] [email protected] 29 points 11 months ago* (last edited 11 months ago)

Because fuck you! That's why!

Edit: serious answer, I'm pretty sure it's outputting the key events to the terminal line.

[–] gornius 26 points 11 months ago (1 children)

Because terminal emulators are literally the old terminal emulators (ye oldy screens + keyboard combos that looked like a computer but were just IO) and everything modern they do is just a hack.

[–] grue 16 points 11 months ago* (last edited 11 months ago)

Terminals with screens? What's all that newfangled shit?

Nah, whippersnapper, this tech goes all the way back to teletypes. You didn't get a fancy-shmancy "screen;" instead, it printed out the results of your commands. On actual paper!


Seriously though, that's why the device files for terminals in Linux are named tty[$NUM] -- "tty" is shorthand for "TeleTYpe."

I believe it's also why really primitive programs can't scroll up and do things like writing an entire screen worth of content in order to emulate interactivity (as opposed to seeking the cursor backwards and replacing only the parts the program wants to replace): they're using a version of the control protocol so primitive that it didn't have a function to go backwards because teletypes didn't need it due to physical impossibility. (That's my theory, anyway -- I haven't dug deep enough into the guts of TERMCAP etc. to be sure. I'm also not actually old enough to have experienced that stuff, despite my joke above.)


Edit: look at this excerpt from man terminfo(5), for instance:

Basic Capabilities
The number of columns on each line for the terminal is given by
the cols numeric capability.  If the terminal is a CRT, then the
number of lines on the screen is given by the lines capability.
If the terminal wraps around to the beginning of the next line
when it reaches the right margin, then it should have the am
capability.  If the terminal can clear its screen, leaving the
cursor in the home position, then this is given by the clear
string capability.  If the terminal overstrikes (rather than
clearing a position when a character is struck over) then it
should have the os capability.  If the terminal is a printing
terminal, with no soft copy unit, give it both hc and os.

To this day, the info database entry for your virtual terminal has to specify that it's capable of deleting a line of text instead of merely striking it out, because some terminals back in the day actually couldn't!

[–] [email protected] 25 points 11 months ago
[–] [email protected] 22 points 11 months ago

What happens to me is the opposite. I got used to Ctrl+w to delete a word in terminal and accidentally closed browser tabs many times while typing in them.

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

Also in some Windows programs. Infuriating

[–] [email protected] 15 points 11 months ago (2 children)

More often it's Ctrl + backspace that doesn't work. Ctrl + <- works nearly everywhere.

[–] [email protected] 13 points 11 months ago

Getting the little boxes when renaming files. Uuuuuuuuggghhh

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

i’ve noticed ctrl + backspace works in windows 11 where it didn’t work in 10

[–] [email protected] 5 points 11 months ago* (last edited 11 months ago) (2 children)

I hope you don't expect that to convince me to upgrade. That doesn't even make up for what they did to the taskbar.

load more comments (2 replies)
[–] [email protected] 16 points 11 months ago (1 children)

In any sane editor:

Save a file - CRTL-S

In VI:

  1. Switch to command mode by pressing the Esc key.

  2. Type : (colon). This will open the prompt bar in the bottom left corner of the window.

  3. Type w after the colon and hit Enter.

In Emacs:

https://www.gnu.org/software/emacs/manual/html_node/emacs/Save-Commands.html

C-x C-s Save the current buffer to its file (save-buffer).

C-x s Save any or all buffers to their files (save-some-buffers).

M-~ Forget that the current buffer has been changed (not-modified). With prefix argument (C-u), mark the current buffer as changed.

C-x C-w Save the current buffer with a specified file name (write-file).

M-x set-visited-file-name Change the file name under which the current buffer will be saved.

When you wish to save the file and make your changes permanent, type C-x C-s (save-buffer). After saving is finished, C-x C-s displays a message like this:

Wrote /u/rms/gnu/gnu.tasks

If the current buffer is not modified (no changes have been made in it since the buffer was created or last saved), saving is not really done, because it would have no effect. Instead, C-x C-s displays a message like this in the echo area:

(No changes need to be saved) With a prefix argument, C-u C-x C-s, Emacs also marks the buffer to be backed up when the next save is done. See Backup Files.

The command C-x s (save-some-buffers) offers to save any or all modified buffers. It asks you what to do with each buffer. The possible responses are analogous to those of query-replace:

y SPC Save this buffer and ask about the rest of the buffers.

n DEL Don’t save this buffer, but ask about the rest of the buffers.

! Save this buffer and all the rest with no more questions.

q RET Terminate save-some-buffers without any more saving.

. Save this buffer, then exit save-some-buffers without even asking about other buffers.

C-r View the buffer that you are currently being asked about. When you exit View mode, you get back to save-some-buffers, which asks the question again.

C-f Exit save-some-buffers and visit the buffer that you are currently being asked about.

d Diff the buffer against its corresponding file, so you can see what changes you would be saving. This calls the command diff-buffer-with-file (see Comparing Files).

C-h Display a help message about these options.

load more comments (1 replies)
[–] [email protected] 13 points 11 months ago
[–] s0phia 11 points 11 months ago

Idk about bash but at least in fish I can do alt + arrows to move the cursor by word, also alt + backspace works to delete whole words.

[–] [email protected] 11 points 11 months ago (2 children)

Depends on the terminal. xfce4-terminal it works.

load more comments (2 replies)
[–] [email protected] 9 points 11 months ago (2 children)

That's why my terminal is emacs

[–] SanndyTheManndy 10 points 11 months ago (1 children)
[–] Rootiest 13 points 11 months ago* (last edited 11 months ago)

That's why my terminal is OS

[–] grue 6 points 11 months ago (3 children)

Emacs and bash use the same navigation shortcuts though, LOL.

[–] [email protected] 16 points 11 months ago

Bold of you to assume that an Emacs user will have anything remotely resembling the default keymap by the time they're proud enough to brag about it

load more comments (2 replies)
[–] [email protected] 6 points 11 months ago

I've never used a distro that didn't come with a sane default shell config to avoid this

[–] [email protected] 5 points 11 months ago

Alt-B usually works fairly reliably

load more comments
view more: next ›