我如何在 Kakoune 中复制到系统剪贴板?
How do I yank to system clipboard in Kakoune?
如果我在 kakoune 中提取一个词,我如何将它粘贴到另一个编辑器(例如 gedit)中?
我读过 How to make vim paste from (and copy to) system's clipboard? 因为 vim 非常相似但是 kakoune 没有任何 *
寄存器。
原来你需要安装 xsel
然后在 wiki 上关注 this guide。
如果所有链接都消失了,这是完整的解决方案:
<a-|> xsel --input --clipboard <ret>
解释:
<a-|>
将当前 selection 通过管道传输到后面的内容。
xsel
是一个用于操作 X 的剪贴板的程序。
--input
告诉 xsel
从标准输入读取。
--clipboard
告诉 xsel
使用哪个 'selection' 商店。共有三个,您需要 'clipboard' 以便粘贴到其他地方。
这将适用于 Linux。不确定 MacOS,我想通过管道传输到 pbcopy
就可以了。
编辑:
为了让生活更轻松,在 User 模式下定义一个键绑定,就像这样(在你的 .kakrc
中):
map global user y '<a-|>xsel -i -b<ret>'
现在您可以 select 文本并按 ,y
猛拉到系统剪贴板。前导逗号告诉 Kakoune 在用户模式下查找键绑定。
请注意,还有一个很棒的插件可以帮助解决这个问题。 Kakboard 无处不在,包括 Mac、Xorg 甚至 Wayland 环境。您还可以通过设置 kakboard_(copy|paste)_cmd
选项在更奇特的环境中设置您自己的自定义命令。
根据documentation,如果您的 Kakoune 版本是 post 2020 年 7 月,那么您可以将以下挂钩添加到您的 kakrc:
hook global RegisterModified '"' %{ nop %sh{
printf %s "$kak_main_reg_dquote" | xsel --input --clipboard
}}
跨平台或与平台无关的解决方案:
系统剪贴板会在您拖动时自动更新。
注意,对于 linux,我使用 wl-copy for wayland。
hook global RegisterModified '"' %{ nop %sh{
case $(uname) in
Linux)
wl-copy -n "$kak_main_reg_dquote" > /dev/null 2>&1 & ;;
Darwin)
printf "%s" "$kak_main_reg_dquote" | pbcopy ;;
esac
}}
如果我在 kakoune 中提取一个词,我如何将它粘贴到另一个编辑器(例如 gedit)中?
我读过 How to make vim paste from (and copy to) system's clipboard? 因为 vim 非常相似但是 kakoune 没有任何 *
寄存器。
原来你需要安装 xsel
然后在 wiki 上关注 this guide。
如果所有链接都消失了,这是完整的解决方案:
<a-|> xsel --input --clipboard <ret>
解释:
<a-|>
将当前 selection 通过管道传输到后面的内容。xsel
是一个用于操作 X 的剪贴板的程序。--input
告诉xsel
从标准输入读取。--clipboard
告诉xsel
使用哪个 'selection' 商店。共有三个,您需要 'clipboard' 以便粘贴到其他地方。
这将适用于 Linux。不确定 MacOS,我想通过管道传输到 pbcopy
就可以了。
编辑:
为了让生活更轻松,在 User 模式下定义一个键绑定,就像这样(在你的 .kakrc
中):
map global user y '<a-|>xsel -i -b<ret>'
现在您可以 select 文本并按 ,y
猛拉到系统剪贴板。前导逗号告诉 Kakoune 在用户模式下查找键绑定。
请注意,还有一个很棒的插件可以帮助解决这个问题。 Kakboard 无处不在,包括 Mac、Xorg 甚至 Wayland 环境。您还可以通过设置 kakboard_(copy|paste)_cmd
选项在更奇特的环境中设置您自己的自定义命令。
根据documentation,如果您的 Kakoune 版本是 post 2020 年 7 月,那么您可以将以下挂钩添加到您的 kakrc:
hook global RegisterModified '"' %{ nop %sh{
printf %s "$kak_main_reg_dquote" | xsel --input --clipboard
}}
跨平台或与平台无关的解决方案:
系统剪贴板会在您拖动时自动更新。
注意,对于 linux,我使用 wl-copy for wayland。
hook global RegisterModified '"' %{ nop %sh{
case $(uname) in
Linux)
wl-copy -n "$kak_main_reg_dquote" > /dev/null 2>&1 & ;;
Darwin)
printf "%s" "$kak_main_reg_dquote" | pbcopy ;;
esac
}}