Linux:在 TTY 中复制/粘贴

Linux:在 TTY 中复制/粘贴

我正在寻找一种在 TTY 内复制和粘贴的方法。我只有一个触摸板,使用它gpm很麻烦。我能想到的唯一可能性是使用“屏幕”,但即使将 Ctrl-A 重新映射到“`”,它仍然不方便且缓慢。
有没有更舒适的方法?

答案1

如果你不喜欢 screen 或 gpm,你的选择就非常有限了。我能想到的其他选择是:

  1. 在 X 下运行终端,也许使用平铺窗口管理器来获得简约的、类似控制台的外观。

  2. 运行 *BSD 而不是 Linux,这样您就可以使用 sysmouse 而不是 gpm。我听说它更好,而且我有限的 BSD 经验表明它可能会更好,但我不知道它在剪贴板支持方面是否更好。听起来你主要是不喜欢你的触控板,如果不更换它可能无法修复。

  3. 使用管道、命名管道、临时文件等。例如,大多数 unix 编辑器都允许您通过普通命令行脚本处理选定的文本,例如,可以将其设置为将选定内容保存到 ~/.clipboard。运行输入文本的命令(cat ~/.clipboard)应该更加容易。

  4. 使用支持多个文件并在它们之间复制/粘贴的编辑器。vim 可以,emacs 也可以,我确信。

答案2

您可以使用Ctrl+y粘贴。要复制,则取决于您要复制的内容。如果是在提示符下:Ctrl+u表示从开头剪切,Ctrl+k表示剪切到结尾。

答案3

tmux类似于screen并允许您复制粘贴。

dvtm可以用鼠标复制/粘贴。

答案4

尝试这个:

ls $(xsel -o --display :0)

如果剪贴板中有“wa*”,它将在任何 TTY 终端上生成以下内容:

$ ls -l  $(xsel -o --display :0)
-rwxr-xr-x 1 root root 1254 Jan 30 11:44 wav_to_mp3.sh
$ 

也许可以通过 bash 别名使其更加简单。无论如何,我最终通过以下方式解决了这个问题:

1) 将文本复制到 TTY7 - GUI 中的剪贴板中 2) 然后我切换到 TTY1 并写入命令:expandclipboard.sh youtube-dl cb 3) 脚本扩展命令并将剪贴板的内容插入 cb 的位置并运行。

脚本的代码是:

    #!/bin/bash
    var1=$1
    if [ "$var1" = "cb" ]; then
    var1=$(xsel -o --display :0)
    fi

    var2=$2
    if [ "$var2" = "cb" ]; then
    var2=$(xsel -o --display :0)
    fi

    var3=$3
    if [ "$var3" = "cb" ]; then
    var3=$(xsel -o --display :0)
    fi

    var4=$4
    if [ "$var4" = "cb" ]; then
    var4=$(xsel -o --display :0)
    fi

    var5=$5
    if [ "$var5" = "cb" ]; then
    var5=$(xsel -o --display :0)
    fi

    var6=$6
    if [ "$var6" = "cb" ]; then
    var6=$(xsel -o --display :0)
    fi

    var7=$7
    if [ "$var7" = "cb" ]; then
    var7=$(xsel -o --display :0)
    fi

    var8=$8
    if [ "$var8" = "cb" ]; then
    var8=$(xsel -o --display :0)
    fi

    echo $var1 $var2 $var3 $var4 $var5 $var6 $var7 $var8
    $var1 $var2 $var3 $var4 $var5 $var6 $var7 $var8

我知道这非常原始,但我懒得假装我比这个脚本更聪明。:-)

相关内容