我正在编写一个Makefile,其任务是将文本内容从给定文件复制到计算机的实际剪贴板中。
我认为有一种方法是使用特殊的启动命令运行vim(选项-c'命令')。所以我想到了
vim -c '%w !pbcopy | q'
这不起作用,因为!pbcopy会提示回车(我认为)。无论如何,在运行时Vim告诉我
zsh:1: command not found: q
shell returned 127
Press ENTER or type command to continue
吸收。
我能用其他任何方式吗?要么在这个双vim命令中解决回车问题,要么只是找到另一种方法从我的终端复制我的文本(我使用Zsh)。
提前致谢!
答案 0 :(得分:2)
引用pbcopy(1)
:
pbcopy获取标准输入并将其放在指定的粘贴板中。如果没有粘贴板 如果指定,默认情况下将使用常规粘贴板。输入被放入粘贴 - 除非以Encapsulated PostScript(EPS)文件头开头,否则将其作为纯文本数据 富文本格式(RTF)文件头,在这种情况下,它作为其中一个放在粘贴板中 那些数据类型。
所以你只需要执行命令pbcopy < file
熟悉Unix命令man
,可以访问命令的手册页。如果您熟悉它,那么很容易为自己得到这些问题的答案。
答案 1 :(得分:2)
你根本不需要Vim;你正在做的就是在世界各地旅行,只是为了从前廊取回报纸。
解释Vim错误:有些Vim命令可以链接在一起,例如: :version | help
,但有些命令可以采用任意参数(包括|
命令分隔符),因此链接不是直接可行的。正如您在:help :|
所看到的,:write !
命令就是其中之一。您可以通过将命令包装在:execute
(允许链接)中来解决此问题:
:execute '%w !pbcopy' | q
答案 2 :(得分:0)
您可以使用xclip:
cat file | xclip -i -selection clipboard