问题标签 [xclip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 为什么 xclip -loop 1 停止工作?
如果我使用例如
并粘贴到另一个终端窗口,它按预期工作,即粘贴“测试”,然后主要选择返回到前一个客户端,“测试”消失了。但是,如果我粘贴到 X 程序中,这将不起作用。如果我使用-loops 10
,我可以看到“测试”被粘贴到应用程序的第四个循环中,例如 gedit 和 webkit 浏览器,在 Firefox 中它甚至是第七个循环。如果我xsel
改用,我会得到以下行为:
如果我使用clipboard
而不是primary
. 前几个循环会发生什么,数据去哪里了?
注意:这很有趣,因为在密码管理器中,您可能希望只粘贴一次密码...
另一个注意事项:我记得这曾经在过去的某个时候工作过,可能在旧的 Ubuntu 版本上。现在我可以在 Ubuntu 12.04 和 Debian 测试上重现这种行为。
bash - 使用 xclip 将剪贴板内容粘贴到 bash 中的变量中
我知道此命令会将剪贴板内容粘贴到文件中:
如果我想将剪贴板内容粘贴到字符串等变量中,我该怎么办?
bash - xclip 和尾随空格
我使用 xclip 以这种方式在剪贴板中获取当前路径:
它几乎可以工作:如果您将 (ctrl v) 粘贴到一个空文件中,您将看到后面有一个回车符。这很烦人,因为如果您输入一个术语,那么即使您没有完成输入,它也会立即执行您的表达式。
问题与以下相同:
- 是因为 xclip 吗?
- 为什么 xclip 会添加尾随回车符?
- bash 中每个字符串的末尾是否有回车?
git - Git pre-push hook 在管道到 xclip 后挂起
前言:
提交时,我倾向于将消息格式化如下:
[<task number>] <task title>
应该通过 pre-push 挂钩将其转换为有效的 GitHub 语法,如下所示:
Work item [[<git_branch>](http://tracker/_workitems/<git_branch>)]:
- [x] [[<task_number>](http://tracker/_workitems/<task_number>)] <task title>
然后将其cat
转换为控制台输出,因此我可以将其复制粘贴到 github 上的 PR 描述中。
任务
更进一步,将该消息放入剪贴板,这样我就不必手动选择它并从控制台复制。因为我在 Linux 机器上,所以我决定使用xclip
这个任务。
我当前的 git hook 脚本如下所示:
问题
当我将以下行添加到此脚本的末尾时
我在 Ctrl+C/V 剪贴板中收到消息,但 git 挂起,我必须中止它。鉴于它应该是一个 pre-push 钩子,它有效地阻止了我实际推送我的代码。
UPD:正如@wumpus-q-wumbley 所建议的,这是 strace 输出:
这基本上表明 git-push 正在等待ssh git@github.com git-receive-pack 'eduard-sukharev/ProFIT.git'
挂起的 ssh 进程。这一切都稍微转移了问题的焦点。
UPD2:设置GIT_TRACE=~/git_trace.log
提供此信息:
问题
如果没有,为什么这个过程会挂起?
我应该如何重写那行来完成预期的任务?
我应该使用其他工具来管理剪贴板xclip
吗?
vim - Vim,用 xclip 拉扯,摆脱转义字符
我正在使用vim通过ssh在几个系统上编辑文件,其中一些有或没有编译-clipboard选项。因此我一直在尝试使用xclip将文本的某些部分复制到X剪贴板中,然后通过 ssh 迅速通过管道传回我的机器,在那里我可以使用它。
现在,我知道了,我可以使用
如果我想将整行或多行复制到剪贴板,但我不想复制整行,我想要一个任意选择
为了解决这个问题,我做了一个绑定,它将选择保存到 @i 寄存器中并将其通过管道传输到 xclip
对于在一行中选择文本似乎工作正常,但似乎保留了转义字符,并且当我复制几行时,例如
我在我的 xclip 中得到以下内容 - 换行符的转义仍然存在
我尝试使用 shellescape 和 escape 的几种变体,但它们似乎都将转义字符留在原处。我不知道 vimscripting 足以自己修复它。
我知道已经有几个关于 vim 和 xclip 的问题,但我都找不到答案。
提前致谢!
linux - 粘贴 xsel / xclip 时避免“回车”
我想这有点简单,但我仍然不知道该怎么做。我定义了以下函数:
它获取时间戳并将其放入剪贴板。我主要想用它来命名文件,所以我可以,例如,去
但是当我将日期粘贴到终端(使用 control+shift+V)时,它已经输入了命令,所以我从来没有机会输入_somemorethings.txt
. 换句话说,xclip
保存的最后一个字符是 Enter 键。每次我将某些内容传送到xclip
or时都会发生这种情况xsel
,而不仅仅是上面定义的函数。
我知道这听起来像是不重要的事情,但如果这个小问题可以解决,它确实会提高生产力。
我已经尝试了几种选择,xclip
但xsel
似乎没有什么可以克服这一点。有任何想法吗?这甚至可能吗?
linux - 如何通过 ssh 将命令行的输出从远程复制到本地剪贴板
我在校园里使用 HPC,它是 CentOS。我要求管理员在 HCP 中安装 xclip。但他说这会危及HPC。我不是root用户。我想知道是否有一种方法可以直接将命令行的输出复制到剪贴板而无需安装 xclip。我不想用鼠标来选择和复制。终端中有没有办法可以将输出重定向到剪贴板?
bash - xclip 检查“选择”是否为空
作为一个仅供参考,这是在 Linux 上。
我想在脚本中有一个选项来拉取选定的文本。所以我开始我的脚本
但是,如果我没有选择任何内容,则会引发错误
我可以检查是否选择了某些内容,如果没有则跳过此命令吗?
bash - Code in Shell Script runs before other Operations
This same problem is better formulated in a question posted to the Unix & Linux StackExchange community.
I am programming a script which opens on a key press, open a new terminal (gnome-terminal), runs scrot (screenshot tool), saves the picture with random name to a directory, uploads it to pomf.cat and copies the link to the clipboard.
This works fine. What im trying to do now is, when uploading is done, close the terminal.
My script works like this:
Shortcut (PrtScr) -> gnome-terminal -e "python path/to/script.py" -> Start Scrot -> Save File (and remember path to file) -> bash script2.sh path/to/picture -> Upload to pomf.cat -> Get the link -> Put into clipboard via "xclip -selection clipboard"
Since i want to close the Terminal after putting the String into Clipboard, i added this:
The problem with this is, nothing gets copied into clipboard and the terminal closes.
However, without "&& sleep 1 && pkill terminal" the link gets copied but the terminal stays open.
Thanks in advance.
//EDIT
First Script (for running scrot)
Second Script (for uploading the screenshot)
bash - Bash - 使用 xclip 更改复制到剪贴板的文本
我正在尝试转换从以下内容复制到剪贴板的文本:
像这样:
我在网上找到了这段代码:
但它只是删除了空白。我需要做的是:+xx.xxxx-yy.yyyy/
在剪贴板中x
有y
数字 0 - 9
- 从剪贴板中提取文本作为参数
+
从头开始剪geo:
在开头添加xx.xxxx
之后添加geo:
(无空格),
之后添加xx.xxxx
(无空格)yy.yyyy
之后添加,
(无空格)/
从末端切开- 添加
,0
到末尾(没有空格) - 将结果返回到剪贴板
稍后添加我自己想通了。这是有效的代码: