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

问题描述 投票:0回答:1

我最近在 Bash 中发现了 Alt+. 快捷方式,它极大地提高了我的工作效率。它可以让我复制在我运行的上一个命令中使用的最后一个参数。现在我很想看到这样的东西,但对于那些在 tmux 下运行的命令的输出。有没有一种简单的方法可以创建一个快捷方式来确定我的光标在哪里(它可能是一个 shell 提示符),转到上面的一行并复制该行的最后一个单词?

换句话说,假设我正在使用终端的示例状态运行 tmux:

d33tah@d33tah-pc:/home/d33tah(0) > aws s3 ls s3://tmp-somethingsomething
2022-10-27 13:23:27  242391549 3ac38f9cdd90a1ef6561a11bd171110a.json.gz
d33tah@d33tah-pc:/home/d33tah(0) > 

在那种情况下,命令会自动输入

3ac38f9cdd90a1ef6561a11bd171110a.json.gz
.

tmux
1个回答
1
投票

举个例子。您可以根据您的要求更新它。

首先,创建一个脚本,例如

~/tmp/tmux.sh

tmux copy-mode
tmux send -X cursor-up
line=$( tmux display -p -F '#{copy_cursor_line}' )
sth=$( echo -- "$line" | awk '{ print $NF }' )
tmux send -X cancel
tmux send -l -- "$sth"

然后,像这样在您的 tmux conf 中定义键绑定:

bind z run 'bash ~/tmp/tmux.sh'
© www.soinside.com 2019 - 2024. All rights reserved.