summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Urani <bradurani@gmail.com>2016-09-22 10:41:30 -0700
committerMarc Cornellà <marc.cornella@live.com>2016-09-22 19:41:30 +0200
commit1b7fc2f3aca32ba8713be0e27305c5cf578033f6 (patch)
treeaeeb7124be4b233b21249ba018bb1c79d3cccfe0
parentfa78fd456cddc752c5c11808b0a220d65d330d9c (diff)
downloadzsh-1b7fc2f3aca32ba8713be0e27305c5cf578033f6.tar.gz
zsh-1b7fc2f3aca32ba8713be0e27305c5cf578033f6.tar.bz2
zsh-1b7fc2f3aca32ba8713be0e27305c5cf578033f6.zip
Add copybuffer function and keybinding (#5431)
* Add copybuffer function and keybinding: binds ctrl-o to copy the command line buffer to the system clipboard. * Add README
-rw-r--r--plugins/copybuffer/README.md11
-rw-r--r--plugins/copybuffer/copybuffer.plugin.zsh14
2 files changed, 25 insertions, 0 deletions
diff --git a/plugins/copybuffer/README.md b/plugins/copybuffer/README.md
new file mode 100644
index 000000000..da138bdbd
--- /dev/null
+++ b/plugins/copybuffer/README.md
@@ -0,0 +1,11 @@
+# `copybuffer` plugin
+
+This plugin binds the ctrl-o keyboard shortcut to a command that copies the text
+that is currently typed in the command line ($BUFFER) to the system clipboard.
+
+This is useful if you type a command - and before you hit enter to execute it - want
+to copy it maybe so you can paste it into a script, gist or whatnot.
+
+```zsh
+plugins=(... copybuffer)
+```
diff --git a/plugins/copybuffer/copybuffer.plugin.zsh b/plugins/copybuffer/copybuffer.plugin.zsh
new file mode 100644
index 000000000..cc205d40f
--- /dev/null
+++ b/plugins/copybuffer/copybuffer.plugin.zsh
@@ -0,0 +1,14 @@
+# copy the active line from the command line buffer
+# onto the system clipboard (requires clipcopy plugin)
+
+copybuffer () {
+ if which clipcopy &>/dev/null; then
+ echo $BUFFER | clipcopy
+ else
+ echo "clipcopy function not found. Please make sure you have Oh My Zsh installed correctly."
+ fi
+}
+
+zle -N copybuffer
+
+bindkey "^O" copybuffer