pra*_*upd 24 terminal copy-paste gnome-terminal
在 CLI 中触发命令时,我想复制我刚刚触发的命令或我在终端中编写的任何内容,然后将其粘贴到其他地方而不使用鼠标。
如下图所示,我想在不使用鼠标的情况下复制更新命令(完全或部分)并将其粘贴到某处。
除了已经提供的答案之外,您还可以考虑转向更灵活的终端仿真器。
如果您准备将终端更改为rxvt-unicode,则可以使用类似urxvt-perls的工具:在该终端模拟器中提供以下键盘功能的脚本集合:
您只需安装该软件包,然后在您的~/.Xresources
.
您可以使用以下程序执行此操作xclip
:
NAME
xclip - command line interface to X selections (clip?
board)
Run Code Online (Sandbox Code Playgroud)
安装后,您可以使用它连接到 X 剪贴板。不幸的是,这在您的mysql
环境中不起作用(它有自己的复制行缓冲区),但如果您想运行“正常”命令,它会起作用。例如 :
$ This is a long command line
Run Code Online (Sandbox Code Playgroud)
键入CtrlA以转到该行的开头,将命令括在引号中,然后回显它:
$ echo -e "This is a long command line" |xclip
Run Code Online (Sandbox Code Playgroud)
您现在在单击鼠标中键的剪贴板中有“这是一个长命令行”。
如果您想在不使用鼠标的情况下粘贴,则取决于您粘贴的位置。您可以通过运行粘贴到另一个终端:
$ xclip -o
Run Code Online (Sandbox Code Playgroud)
您可以粘贴到同一个终端中,只需CtrlK使用CtrlY.
您还可以使用 bash 的历史记录跨终端保存命令。将此行添加到您的~/.bashrc
:
PROMPT_COMMAND='history -a; history -r'
Run Code Online (Sandbox Code Playgroud)
PROMPT_COMMAND
是一个特殊的 bash 变量。如果设置了该值,则在发出新提示之前将其作为命令执行。history -a
将当前会话的历史记录写入历史文件并history -r
重新加载该文件。这意味着您运行的每个命令都将立即写入历史文件。
现在,当您运行一个长命令行时,您可以切换到另一个终端并按回车键(只是为了运行$PROMT_COMMAND
,或者打开一个新的终端窗口),并且可以访问该终端的历史记录。如果您现在点击,Up您可以在新终端上运行它。