复制命令/搜索历史到剪贴板

6

我正在尝试插入以下命令:

复制命令历史到剪贴板 q::%y
复制搜索历史到剪贴板 q/:%y

在 vimscript 中进行如下操作:

:normal q::%y
:normal q/:%y

但它没有复制任何内容
为什么?

(当我手动执行 (q::%y q/:%y),它可以正常工作)


2
我不知道为什么它不起作用。很奇怪。这不是一个完整的答案,因为我不知道为什么,但你可以使用:call feedkeys("q::%y\<CR>:q\<CR>")代替。 - DJMcMayhem
它在命令行上可以工作,但在我的vim脚本中无法工作。错误:call feedkeys("q::%y 缺少引号 - 尝试双反斜杠,但不起作用。 - Reman
4
找到了! :) call feedkeys("q::%y\<lt>CR>:q\<lt>CR>") 感谢你的帮助。 - Reman
4
这无法工作的原因是因为 :normal! q: 无法正常运行,可能是因为大部分多字符 normal 命令在代码中都是特殊处理的缘故。建议将此报告为错误。 - Martin Tournoij
2
@Reman 你应该发布并接受一个自我答案。 - bennyty
显示剩余4条评论
1个回答

2
这对我起了作用:
nnoremap <Leader>r q::%y<cr>

并在此后关闭窗口:

nnoremap <Leader>r q::%y<cr>:q<cr>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接