Skip to content

Vim plugin for copying to the system clipboard with text-objects and motions

License

Notifications You must be signed in to change notification settings

0x450x6c/vim-system-copy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

System Copy

System copy provides vim mappings for copying / pasting text to the os specific clipboard. Most people will be happy just setting their Vim clipboard to the system clipboard, but I find that doing so pollutes my clipboard history. Instead, this plugin creates a unique mapping that explicitly pulls content from Vim into the system clipboard.

Usage

System copy provides a mapping to copy to the system clipboard using a motion or visual selection. It also provides a mapping for pasting from the system clipboard.

The default mapping is cp for copying and cv for pasting, and can be followed by any motion or text object. For instance:

  • cpiw => copy word into system clipboard
  • cpi' => copy inside single quotes to system clipboard
  • cvi' => paste inside single quotes from system clipboard

In addition, cP is mapped to copy the current line directly.

The sequence cV is mapped to paste the content of system clipboard to the next line.

Clipboard Utilities

  • OSX - pbcopy and pbpaste
  • Windows - clip and paste
  • Linux - xsel

Note: xsel can be installed with apt-get install xsel if your system doesn't have it installed

Options

system-copy uses default copy and paste command based on your OS, but you can override either of these commands if you have more specific needs.

To declare custom copy command use following example:

let g:system_copy#copy_command='xclip -sel clipboard'

And to declare custom paste command use:

let g:system_copy#paste_command='xclip -sel clipboard -o'

You can disable default mappings, and declare custom mappings:

let g:system_copy_disable_default_mappings = 1

nmap <leader>p <Plug>SystemCopy
xmap <leader>p <Plug>SystemCopy
nmap <leader>P <Plug>SystemCopyLine
nmap <leader>v <Plug>SystemPaste
xmap <leader>v <Plug>SystemPaste
nmap <leader>V <Plug>SystemPasteLine

Installation

If you don't have a preferred installation method, I recommend using Vundle. Assuming you have Vundle installed and configured, the following steps will install the plugin:

Add the following line to your ~/.vimrc and then run :PluginInstall from within Vim:

call vundle#begin()
" ...
Plugin 'christoomey/vim-system-copy'
" ...
call vundle#end()

About

Vim plugin for copying to the system clipboard with text-objects and motions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vim Script 100.0%