this post was submitted on 14 Jul 2023
828 points (95.1% liked)

Programmer Humor

32361 readers
261 users here now

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

Rules:

founded 5 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 89 points 1 year 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] 23 points 1 year ago* (last edited 1 year 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

[–] [email protected] 6 points 1 year ago

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

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

Commenting to save. Thank you!

[–] [email protected] 18 points 1 year ago* (last edited 1 year 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 1 year ago (2 children)
[–] [email protected] 30 points 1 year ago* (last edited 1 year ago) (3 children)

Actually, most linux terminal allows you to change shortcut in terminal to just use ctrl-c and ctrl-v.

[–] [email protected] 56 points 1 year ago (1 children)

The one I use just wants me to do ctrl+shift+v

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

By default, yes, but most terminal allow you to just open the setting and change the keybinding. And even Ctrl-c will work as you expect, it will copy when text is selected, and terminate command otherwise.

[–] [email protected] 6 points 1 year ago

Ctrl+shift+v is paste without formatting in most apps though, so kind of a good habit

[–] drew_belloc 15 points 1 year ago

If i knew it before, now my brain just knows that it need to press shift on the terminal

load more comments (1 replies)
[–] [email protected] 8 points 1 year ago

We have the middle-mouse-button clipboard for this.

[–] [email protected] 83 points 1 year ago* (last edited 1 year 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 πŸ™‚

[–] NaiveBayesian 15 points 1 year ago* (last edited 1 year 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 1 year ago

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

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

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

[–] [email protected] 22 points 1 year 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)
[–] [email protected] 37 points 1 year ago (1 children)

In a sane editor just press b.

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

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

[–] [email protected] 5 points 1 year 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 1 year ago

It wasn't a serious question πŸ™‚

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

[–] [email protected] 26 points 1 year ago
[–] [email protected] 24 points 1 year ago (2 children)
[–] [email protected] 29 points 1 year ago* (last edited 1 year ago)

Because fuck you! That's why!

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

[–] [email protected] 26 points 1 year 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.

[–] [email protected] 17 points 1 year ago* (last edited 1 year 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] 22 points 1 year 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 1 year 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] 14 points 1 year ago (1 children)

Also in some Windows programs. Infuriating

[–] [email protected] 13 points 1 year ago (2 children)

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

[–] [email protected] 13 points 1 year ago

Getting the little boxes when renaming files. Uuuuuuuuggghhh

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

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

[–] [email protected] 5 points 1 year ago* (last edited 1 year 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] 13 points 1 year ago
[–] [email protected] 11 points 1 year ago (2 children)

Depends on the terminal. xfce4-terminal it works.

load more comments (2 replies)
[–] [email protected] 11 points 1 year 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] 9 points 1 year ago (2 children)

That's why my terminal is emacs

[–] [email protected] 10 points 1 year ago (1 children)
[–] [email protected] 13 points 1 year ago* (last edited 1 year ago)

That's why my terminal is OS

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

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

[–] [email protected] 16 points 1 year 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 1 year ago

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

[–] [email protected] 5 points 1 year ago

✨🌈 R E A D L I N E 🌈✨

load more comments
view more: next β€Ί