复制光标上方一行的最后一个单词?

复制光标上方一行的最后一个单词?

有时我希望能够从当前正在处理的行上方复制最后一个单词(以空格分隔)。考虑以下场景:

> aws s3 ls s3://some-bucket | grep 2019-06
2019-06-04 20:25:17 2073695507 some-file-with-too-long-name.tar
> 

命令执行后,我的光标位于>最后一行,我很快要做的是:

aws s3 cp s3://some-bucket/某些文件名称太长.tar

我觉得使用鼠标或屏幕的复制功能很浪费时间,而使用特定的复制粘贴热键会更好。

有没有办法使用任何终端或多路复用器(例如 Screen 或 Tmux)来实现这一点?

答案1

使用 tmux,您可以设置一个绑定以进入复制模式,将光标向上移动一行,找到第一个空格,从那里复制到行尾并进入缓冲区,然后将该缓冲区粘贴到您的输入中。将类似下面的内容放入您的~/.tmux.conf

bind-key '.' copy-mode\; \
 send-keys -X cursor-up\; \
 send-keys -X previous-space\; \
 send-keys -X copy-end-of-line\; \
 paste-buffer

然后您可以键入前缀键(默认为 control-b)和点来运行命令。在 2.6 版上测试,早期版本可能不具备所有必需的功能。

相关内容