Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Copy to clipboard from terminal with Vim bindings

+5
−0

Question

How do I copy to clipboard from terminal with yy, assuming it's configured to use Vim bindings?

I am using zsh with bindkey -v.

MWE

  1. Enter something on the commandline (without pressing enter): $ uptime.
  2. Enter visual mode: ESC.
  3. Yank: yy.

This successfully yanks uptime\n, but only copys to the primary buffer. I'd like to copy to the secondary (clipboard) buffer.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

0 comment threads

2 answers

+0
−0

Vim has multiple "registers", which in modern parlance is multiple internal clipboards.

By default, yank sends to an anonymous register, which is separate from the clipboard. However, you can make it send to other registers. The registers * and + in particular are interesting, because they happen to be connected to the system clipboard that most people use.

So all you do is yank to a non-default register: "*y And you can paste from the same with "*p.

You might want to make that behavior the default for yy - you can do so with set clipboard=unnamed,unnamedplus. On Linux with X, one of these is for the "normal" clipboard, the other is for the select-and-middle-click clipboard.

See also:

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.

0 comment threads

+0
−1

I use kitty as my terminal, which allows you to map a key for copying any text from the screen to the keyboard. The text is selected by pressing some hint keys, similar to the Vimium extension. It's quite flexible but I mostly use "copy line" and "copy word".

This just works with clipboard managers like CopyQ, courtesy of Kitty supporting modern clipboards. This is not specific to vim, it's a general feature for anything that runs in the terminal, which vim happens to be. It's convenient enough that I haven't bothered setting up the vim clipboard integration since it stopped working a while ago.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.

0 comment threads

Sign up to answer this question »