summaryrefslogtreecommitdiff
path: root/home/.oh-my-zsh/plugins/copybuffer
diff options
context:
space:
mode:
authornavewindre <boneyaard@gmail.com>2025-07-13 06:42:05 +0200
committernavewindre <boneyaard@gmail.com>2025-07-13 06:42:05 +0200
commit02f14a9cb152561a5e44062aac79f3b700403b40 (patch)
tree2db8ebda3b7f6f8777783aeb5c60018e6e1359d8 /home/.oh-my-zsh/plugins/copybuffer
parentcbbdeb2f6b40a102a829f0c47cff052937231f00 (diff)
omz
Diffstat (limited to 'home/.oh-my-zsh/plugins/copybuffer')
-rw-r--r--home/.oh-my-zsh/plugins/copybuffer/README.md11
-rw-r--r--home/.oh-my-zsh/plugins/copybuffer/copybuffer.plugin.zsh16
2 files changed, 27 insertions, 0 deletions
diff --git a/home/.oh-my-zsh/plugins/copybuffer/README.md b/home/.oh-my-zsh/plugins/copybuffer/README.md
new file mode 100644
index 0000000..a53d1c8
--- /dev/null
+++ b/home/.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/home/.oh-my-zsh/plugins/copybuffer/copybuffer.plugin.zsh b/home/.oh-my-zsh/plugins/copybuffer/copybuffer.plugin.zsh
new file mode 100644
index 0000000..e636d97
--- /dev/null
+++ b/home/.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 builtin 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