Why is copy and paste so difficult for Linux to solve?
It seems like for at least a decade every application/framework has had their own paste buffer, and honestly I'm surprised this isn't "just working" out of the box by now.
Open Terminal
Run pwgen, double click one of the passwords.
Middle click in Terminal, the copied password pastes just fine.
Switch back to Chrome, CTRL-V into the password field.
Realize 5 minutes later when you can't login with the user you've just created, it's because the content you pasted into the password field was an URL you copied in Chrome 15 minutes ago.
And don't even get me started on vim/neovim having yet another copy/paste buffer.
Yeah this is probably the best way to do it. I think(?) the middle-click copy/paste has a separate buffer so you should use it separately from ctrl+c and ctrl+v.
I've been using Linux since RedHat 4.2, and for a number of years in the early 2000's as a desktop. Since then it's mainly been as a server, and I just recently got back into running it as a primary desktop.
The "it's always been that way" argument is stupid and you should know better.
The question is not that it has always been that way. The question is that different systems do things differently and one must take time to learn it.
If I would use an Apple system I'd have to learn how things are done on it. Of course you can always compare different approaches, but take time to understand why the differences exist.
When I use Windows I often miss the middle click copy, but I'm not saying window copy paste is broken for the lack of it.
Again, sorry for being harsh. A vacation is very much overdue for me.
oldschool ( from terminal-only era ) => copy by selecting text (mostly in terminals) and paste using middle mouse click
more modern new style ( based on graphical interfaces ) => copy by ctrl+c (or ctrl+shift+c in terminals and such) and paste ctrl+v (ctrl+shift+v in terminals ...)
Normally both those clipboards work independent as they are handled by 2 different processes, so you can for example copy one text using ctrl+c and copy another text by only selecting second text, then you can paste both, one with middle click, second with ctrl+v
More and more distro have a clipboard managers that have a feature to "sync" both clipboards, but it's a lot of time disabled because it's more confusing people and sometimes annoying.
Why it's confusing and disabled by default?
Imagine that you selected some text, then did a ctrl+c, you move to some word document, select text, remove it, and want to Paste it. Guess what, the selecting you did to remove text did copy the selection to clipboard overriding what you did have there from ctrl+c.
Most if not all terminal emulators (konsole, gnome-terminal, xterm) support both clipboard styles, old-school select to copy, and new one but because the "ctrl+c" shortcut reserved to stop/interrupt applications they all decide to use ctrl+shift+c to do a copy. And yes, not only terminal emulators use ctrl+shift+c, I did have few encounters on some random apps, but most of the time, if ctrl+c is used for something else, ctrl+shift+c was available.
Yes this makes sense. I've been using terminals for years with the 'copy on highlight' feature enabled, and I'm pretty sure when I was on OSX it was a single buffer.
I can see how having mouse selected text end up in the buffer on a non-Terminal app would probably not be the desired behavior.
I found 'autocutsel' which will keep PRIMARY and CLIPBOARD in sync, however Gnome Terminal doesn't seem to support 'copy on highlight' while Terminator does.
A very comprehensive and complete reply. I did know about the different clip buffers but reading this was still so good because no one was actually explaining it. Thanks
There are two copy/paste buffers. The one you get with just the mouse is not the same as the one you get with ctrl-c ctrl-v. And frankly, once you know this, it's f*ing awesome.
If you really want a single buffer, there are apps that do that.
Others have covered PRIMARY vs CLIPBOARD (the separation of which I find to be extremely useful).
For Vim, you have access to these both via the registers + (CLIPBOARD) and * (PRIMARY). So, for example, to paste from your CLIPBOARD selection, you'd do this:
If you want to use ctrl-v you need to the newer method of ctrl-shift-c first. It uses shift for the same reason windows does in a command prompt, ctrl-c is a reserved combination.
Not a Linux issue. Two different paradigms one older than the other, chose which is best to use.
On my laptop's I use ctrl-shift-c and ctrl-shift-c due to not having a middle click. With a mouse I middle click instinctively.
You can set the touchpad to emulate third button by clicking left and right together. this setting is buried in the mouse configuration options and usually disabled by default.
I have an issue that clipboard content is application dependent.
So many times, I will open a program to find some text, Ctrl+C to add it to the clipboard, close that program because I'm done with it, switch to the second program, push Ctrl+V, nothing happens because closing the first program cleared the clipboard's content when closed.
Is this inherent to Linux, or could using something other than KDE fix it?
As far as I know that happens because in Linux ctrl+v and middle click pastes are stored in different places and are considered different things, in fact there's a third way to paste which I don't remember. But basically the middle click paste is used whenever you select a string, there's no need to copy it, and the ctrl+v paste works when you do ctrl+c.
From what I understood is that the functionality that pastes selected text with middle-click is coded deep in the Linux kernel, so it doesn't even use a clipboard and it would be hard to get rid of this functionality. As others mentioned, using normal copy-paste commands (ctrl+shift+c) shouldn't be a problem because it uses a clipboard.