San*_*cho 11 command-line clipboard xclip paste xdotool
我试图找出一种方法,无需触摸鼠标即可将命令行中的当前文本复制到剪贴板。换句话说,我只需要用键盘选择文本。我找到了一个可能导致完整解决方案的半途而废的解决方案:
Ctrl+a - 移动到行首。
Ctrl+k - 切断整条线。
Ctrl+y - 将剪切的文本拉回来。
或者,我也可以Ctrl+u用来执行前两个步骤。
这当然有效,但我想弄清楚剪切文本的确切保存位置。有没有办法在不使用的情况下访问它Ctrl+y?我知道xclip
并且我什至用它来将文本直接传输到剪贴板,所以我正在考虑通过管道传输Ctrl+kto保存的数据xclip
,但不知道该怎么做。
到目前为止,我得到的方法是编写一个脚本,用于xdotool
添加echo
到行首和| zxc
行尾,然后按回车键(zxc
是一个自定义别名,基本上是通过管道连接到xclip
)。这也有效,但它不是一个真正“干净”的解决方案。
如果这有什么不同,我正在使用 Cshell。
编辑:我不想screen
用作解决方案,忘了提及。
谢谢!
如果使用xterm
或衍生,您可以设置键绑定来开始和结束文本选择,并将其保存为 X11 主要选择或剪切缓冲区。见man xterm
。例如,添加到您的~/.Xdefaults
:
XTerm*VT100.Translations: #override\n\
<Key>KP_1: select-cursor-start() \
select-cursor-end(PRIMARY, CUT_BUFFER0)\n\
<Key>KP_2: start-cursor-extend() \
select-cursor-end(PRIMARY, CUT_BUFFER0)\n
Run Code Online (Sandbox Code Playgroud)
您只能有一个XTerm*VT100.Translations
条目。使用新文件内容更新 X11 服务器xrdb -merge ~/.Xdefaults
。开始一个新的xterm
.
现在,当您在命令提示符下有一些输入时,1在数字小键盘上键入将开始在当前文本光标位置选择文本,就像鼠标上的按钮 1 所做的那样。使用箭头键移动光标,然后点击2数字键盘,中间的文本会突出显示并复制到主要选择和 cutbuffer0。显然可以选择其他更合适的键和动作。您可以类似地使用绑定粘贴选择insert-selection(PRIMARY)
。