如何使用 VIM(buffer) 快速编辑剪贴板内容
How to use VIM(buffer) for quick editing of clipboard content
被 ZSH 上令人敬畏的 VIM 模式宠坏了,我想为我的剪贴板重新创建相同的体验。 ZSH 中的 VIM 模式允许在 VIM 缓冲区中编辑当前命令并写回命令行,示例:
Example of VIM mode on ZSH
我想为我的剪贴板(在 macOS 上)重新创建相同的体验。我使用以下迷你脚本让它工作:
#!/bin/bash
tmpfile=/tmp/$(openssl rand -base64 8)
touch $tmpfile
pbpaste > $tmpfile
vim $tmpfile
pbcopy < $tmpfile
rm $tmpfile
我觉得这可能会容易得多。我想要完成的是:
1.用系统剪贴板的当前内容打开VIM(命令行)
2.编辑VIM中的内容
3.写出后,将内容复制回系统剪贴板
最终目标是在允许我快速编辑剪贴板内容的 Alfred 工作流程中实现这一点。
这需要 vipe
工具(我认为它代表 vi 管道):我有一个名为 pbed
的 bash 函数,它完全满足您的要求:
pbed () {
pbpaste | vipe | pbcopy
}
您可以轻松地将其转换为脚本。您可以在 moreutils 包中从 brew 获取 vipe。
我的 zshrc 上有这个:
# Edit content of clipboard on vim (scratch buffer)
function _edit_clipboard(){
# pbpaste | vim -c 'setlocal bt=nofile bh=wipe nobl noswapfile nu'
pbpaste | vim
}
zle -N edit-clipboard _edit_clipboard
bindkey '^x^v' edit-clipboard
被 ZSH 上令人敬畏的 VIM 模式宠坏了,我想为我的剪贴板重新创建相同的体验。 ZSH 中的 VIM 模式允许在 VIM 缓冲区中编辑当前命令并写回命令行,示例:
Example of VIM mode on ZSH
我想为我的剪贴板(在 macOS 上)重新创建相同的体验。我使用以下迷你脚本让它工作:
#!/bin/bash
tmpfile=/tmp/$(openssl rand -base64 8)
touch $tmpfile
pbpaste > $tmpfile
vim $tmpfile
pbcopy < $tmpfile
rm $tmpfile
我觉得这可能会容易得多。我想要完成的是: 1.用系统剪贴板的当前内容打开VIM(命令行) 2.编辑VIM中的内容 3.写出后,将内容复制回系统剪贴板
最终目标是在允许我快速编辑剪贴板内容的 Alfred 工作流程中实现这一点。
这需要 vipe
工具(我认为它代表 vi 管道):我有一个名为 pbed
的 bash 函数,它完全满足您的要求:
pbed () {
pbpaste | vipe | pbcopy
}
您可以轻松地将其转换为脚本。您可以在 moreutils 包中从 brew 获取 vipe。
我的 zshrc 上有这个:
# Edit content of clipboard on vim (scratch buffer)
function _edit_clipboard(){
# pbpaste | vim -c 'setlocal bt=nofile bh=wipe nobl noswapfile nu'
pbpaste | vim
}
zle -N edit-clipboard _edit_clipboard
bindkey '^x^v' edit-clipboard