summaryrefslogtreecommitdiff
path: root/oh-my-zsh/plugins/copybuffer
diff options
context:
space:
mode:
authorAditya <bluenerd@protonmail.com>2023-02-27 20:04:56 +0530
committerAditya <bluenerd@protonmail.com>2023-02-27 20:04:56 +0530
commitedc449275b6c04445f58b108ca0937a87c1e8430 (patch)
tree9fd484d58145b616f29a78857cc0b1c8b1c18f05 /oh-my-zsh/plugins/copybuffer
parent6f5424ca96c4221ef433f545642669e9c104d0ed (diff)
add zsh
Diffstat (limited to 'oh-my-zsh/plugins/copybuffer')
-rw-r--r--oh-my-zsh/plugins/copybuffer/README.md11
-rw-r--r--oh-my-zsh/plugins/copybuffer/copybuffer.plugin.zsh16
2 files changed, 27 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/copybuffer/README.md b/oh-my-zsh/plugins/copybuffer/README.md
new file mode 100644
index 0000000..a53d1c8
--- /dev/null
+++ b/oh-my-zsh/plugins/copybuffer/README.md
@@ -0,0 +1,11 @@
+# `copybuffer` plugin
+
+This plugin adds the <kbd>ctrl-o</kbd> keyboard shortcut to copy the current text
+in the command line 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/oh-my-zsh/plugins/copybuffer/copybuffer.plugin.zsh b/oh-my-zsh/plugins/copybuffer/copybuffer.plugin.zsh
new file mode 100644
index 0000000..e67f920
--- /dev/null
+++ b/oh-my-zsh/plugins/copybuffer/copybuffer.plugin.zsh
@@ -0,0 +1,16 @@
+# copy the active line from the command line buffer
+# onto the system clipboard
+
+copybuffer () {
+ if which clipcopy &>/dev/null; then
+ printf "%s" "$BUFFER" | clipcopy
+ else
+ zle -M "clipcopy not found. Please make sure you have Oh My Zsh installed correctly."
+ fi
+}
+
+zle -N copybuffer
+
+bindkey -M emacs "^O" copybuffer
+bindkey -M viins "^O" copybuffer
+bindkey -M vicmd "^O" copybuffer