Я ищу способ скопировать и вставить в TTY. У меня есть только тачпад, и использование его с gpm
- это боль. Единственная возможность, о которой я могу подумать, - это использовать "screen", но даже после переназначения Ctrl-A на «` »это все еще неудобно и медленно.
Есть ли более удобные подходы?
6 ответов
Если вам не нравится экран или gpm, ваши альтернативы весьма ограничены. Другие варианты, которые я могу придумать:
Запустите терминалы под X, возможно, используя диспетчер окон для минималистского, консольного вида.
Запустите * BSD вместо Linux, что позволит вам использовать sysmouse вместо gpm. Я слышал, что это лучше, и мой ограниченный опыт работы с BSD позволяет предположить, что это может быть лучше, но я не знаю, лучше ли это в области поддержки буфера обмена. Похоже, вам больше всего не нравится ваш трекпад, который, вероятно, невозможно исправить без замены.
Используйте трубы, именованные трубы, царапины и т.д. Например, большинство редакторов Unix позволяют обрабатывать выделенный текст с помощью обычных сценариев командной строки, которые можно настроить, например, для сохранения выделения в ~/.clipboard. Выполнение команд для ввода текста (cat ~/.clipboard) должно быть еще проще.
Используйте редактор, который поддерживает несколько файлов и копирует /вставляет их. я уверен, что и vim, и emacs тоже.
Вы можете использовать Ctrl+Y, чтобы вставить. Для копирования это зависит от того, что вы хотите скопировать. Если это в приглашении: Ctrl+u, чтобы вырезать с начала, Ctrl+k, чтобы вырезать до конца.
tmux
похож на screen
и дает вам возможность копировать-вставлять.
dvtm
может копировать / вставлять с помощью мыши.
в зависимости от того, что вы пытаетесь скопировать и вставить ... bash имеет режим vi, в котором вы можете редактировать свои команды более похожим на vi способом, чем emacs(bash по умолчанию) (zsh имеет режим vim). положив set -o vi в ~/.bashrc, включите его.
Попробуй это:
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
Я знаю, что это очень примитивно, но мне лень притворяться, что я умнее этого сценария. :-)
Вы можете подключиться к другому компьютеру по SSH, это опция =).