7

Я ищу способ скопировать и вставить в TTY. У меня есть только тачпад, и использование его с gpm - это боль. Единственная возможность, о которой я могу подумать, - это использовать "screen", но даже после переназначения Ctrl-A на «` »это все еще неудобно и медленно.
Есть ли более удобные подходы?

6 ответов6

6

Если вам не нравится экран или gpm, ваши альтернативы весьма ограничены. Другие варианты, которые я могу придумать:

  1. Запустите терминалы под X, возможно, используя диспетчер окон для минималистского, консольного вида.

  2. Запустите * BSD вместо Linux, что позволит вам использовать sysmouse вместо gpm. Я слышал, что это лучше, и мой ограниченный опыт работы с BSD позволяет предположить, что это может быть лучше, но я не знаю, лучше ли это в области поддержки буфера обмена. Похоже, вам больше всего не нравится ваш трекпад, который, вероятно, невозможно исправить без замены.

  3. Используйте трубы, именованные трубы, царапины и т.д. Например, большинство редакторов Unix позволяют обрабатывать выделенный текст с помощью обычных сценариев командной строки, которые можно настроить, например, для сохранения выделения в ~/.clipboard. Выполнение команд для ввода текста (cat ~/.clipboard) должно быть еще проще.

  4. Используйте редактор, который поддерживает несколько файлов и копирует /вставляет их. я уверен, что и vim, и emacs тоже.

4

Вы можете использовать Ctrl+Y, чтобы вставить. Для копирования это зависит от того, что вы хотите скопировать. Если это в приглашении: Ctrl+u, чтобы вырезать с начала, Ctrl+k, чтобы вырезать до конца.

1

tmux похож на screen и дает вам возможность копировать-вставлять.

dvtm может копировать / вставлять с помощью мыши.

1

в зависимости от того, что вы пытаетесь скопировать и вставить ... bash имеет режим vi, в котором вы можете редактировать свои команды более похожим на vi способом, чем emacs(bash по умолчанию) (zsh имеет режим vim). положив set -o vi в ~/.bashrc, включите его.

0

Попробуй это:

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

Я знаю, что это очень примитивно, но мне лень притворяться, что я умнее этого сценария. :-)

-1

Вы можете подключиться к другому компьютеру по SSH, это опция =).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .