Hacker News new | past | comments | ask | show | jobs | submit login

I don't understand - I never see a mention of the biggest annoyance to developers on linux : consistent copy paste. It is a cognitive exercise to copy from the terminal or paste to the browser...or (the horror) copy from the terminal and paste on vim.

It does not help that this works beautifully on the Mac.

Is this not an annoyance to anyone else...and more importantly, considering all distros are now using libinput,can I compile my own libinput that will universally copy paste using win+c ?




Is the issue specific to terminal or are you seeing it somewhere else?

The issue is that the default terminal behavior of ctrl+c sends a SIGINT to the running application[1], and so terminal programs override it with shift+ctrl+c, and likely add the shift for the others for consistency.

I use "Terminator" as my terminal app - which allows you to set your keybindings - so I replace the "shift" in copy / paste and it's worked great for me for years. Unfortunately it doesn't allow you to override the SIG* keys, so it can be an issue when using `watch`, which removes your selection when it updates and then if you don't tap ctrl+x in time, it will send SIGINT the watch command, which is the exact opposite if what you want at that moment.

As for VIM, being sure you're in insert mode is essential no matter what OS you're using.

Is there anywhere else besides the terminal where copy / paste are inconsistent? I haven't seen any that I recall in quite a few years of Ubuntu on my desktop, laptop, media PCs, etc.

1: https://en.wikipedia.org/wiki/Control-C


no please - I'm not talking about ctrl-C. I'm talking about CUA - https://en.wikipedia.org/wiki/IBM_Common_User_Access

Even on OSX, the bindings that are used are cmd-c and cmd-v. It is universal - if you have never used the terminal, vim and firefox on a mac... I really urge you to do that.

you'll see what i mean.


I see, thank you for clarifying. Having used all versions of Windows up until 8[1] and 8+ years of ubuntu, I'm surprised I never realized this standard existed. It makes perfect sense that it does - I just didn't know it. I agree that it's unfortunate it's not as well supported on Linux as it should be.

Coming from the other side of things, I had a lot of trouble when I was lent a brand new Macbook Pro for travel during my last job. It seemed some things worked using cmd and others using ctrl. I don't remember the specifics, as I didn't use it often enough, except that I'd find myself mashing keys on occasion trying to figure out the right combination.

It was far worse when I dual booted with ubuntu. The keys made no sense to me there either. Finally, I replaced OSX completely and the keys were "normal" again (ctrl+* for everything).

1: Also lots of DOS, but I don't even remember what versions. I had managed lots of desktops and servers running DOS for a few years in IT a couple lifetimes ago.


You've got the causality reversed. The Apple Lisa introduced the command-Z/X/C/V keyboard equivalents for undo/cut/copy/paste, and they were kept with the Macintosh and Apple IIgs.

IBM CUA and Microsoft Windows adopted them afterwards, adapted to the PC keyboard; I think Windows only adopted them with Windows 95 and NT4.


No, they were already there in Windows 3.x


> Unfortunately it doesn't allow you to override the SIG* keys

You should be able to set these with `stty` (they're not actually a function of the terminal but of the tty, a detail no one should have to know).


Highlight to copy, middle-click to paste. Works every time for me.

Obviously, if you want to paste into vim you have to be in insert mode.


Technically vim exposes the x11 clipboards (plural) as registers - I never use registers, but I think

  "+p
[Ed: for those not familiar with vim: " can be thought of as 'with/from/into register named:', + is the register and p is paste. Similarily "+yw is 'yank/copy current word into register named +' ]

should be paste x11 selection. I don't normally use gvim/vim as an x11 application, but looks like * (star) is typically system clipboard:

http://vim.wikia.com/wiki/Accessing_the_system_clipboard


why does it work on osx then ? is there something special happening at the OS level there ?


Afaik ctrl-v works in gvim? (I think its just bound to "+p or similar).


Only with :behave ms (default on windows), else ctrl-v starts block visual mode.


Yes, except when you have to select something in between the time you copy & paste, e.g. change focus to the URL bar of a browser. Then ctrl-C is your friend, and works everywhere except the terminal.

But the terminal is a special case when it comes to copy/paste and always will be a little weird on any platform. Especially when it comes to line-wrapping in full-terminal applications like vi.


Pretty much, never had a problem with it.


my laptop does not have middle button. so I have to do a weird left-right button click. Very inconvenient for me.

I truly envy the OSX people just on this one aspect.


shift-insert works in X if you can't middle click. In gvim too, out-of-the-box if you're in insert mode.


I was HOPING for that. Its part of IBM CUA. Unfortunately it doesn't work everywhere.. Especially the terminal (unless you remap keybindings)


Oh, this was an annoyance until I installed a clipboard manager (parcellite in my case) which automatically syncs the different clipboards.


But how do you paste? I mean I have all sort of keymaps to enable paste in vim using CUA (shift-insert), but try explaining that to a first time user.

Its the small things that OSX does right.


Why would you need keymaps? As far as I know, the terminal emulator (urxvt in my case) takes care of pasting the text into Vim. I never had to configure anything to use shift-insert or the wheel button to paste.


ahh.. I see.

s/vim/gvim/g


Why would a "first time user" use a program that has a user interface designed in 1976? Why would a "first time user" expect this program to obey interface guidelines that did not exist until 11 years after that user interface was designed?


ctrl-shift-C on the terminal, ctrl-V on everything else. How is this a significant annoyance to you?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: