Буфер обмена Linux, в том числе с консолями WSL

Fish не поддерживает подстановочные знаки скобок ¹ по своей конструкции.

function find_special_filename
    find ! -path './.*' -name '[^-.a-zA-Z0-9_]*' $argv
end

Команда не выполняет поиск в скрытых каталогах и отображает имена файлов, которые не начинаются с символов letters, digits,._-(ср. документацияfind).

Примечание:$argv— это специальная переменная массива (Fish shell ), которая содержит аргументы функции, поэтому базовая команда может принимать любое выражение (, например. псевдоним).

find_special_filename -exec mv '{}' misc/ \;

¹ На самом деле, Fish поддерживает расширение скобок (расширение переменных массива ), но Bash использует другую терминологию (расширение параметров и имен файлов ).

1
13.10.2021, 11:05
1 ответ

I don't know where the names pbcopy and pbpaste come from

Это инструменты командной строки для Mac.

the bash clipboard

На самом деле это не буфер обмена, а внутренний буфер в библиотеке readline , которую bashиспользует. Он называется kill ring после emacs и работает так же, как и emacs. См. man bashв разделе readline для более подробной информации.

Then we have the X clipboard, which is setup as follows

На самом деле X сам работает с первичным и вторичным выбором , и выборы управляются приложениями, а не X-сервером. Буфер обмена X является дополнением к этому.

Что еще хуже, такие библиотеки, как Gtk, имеют свой собственный буфер обмена .

I have not found a way to pipe things into the bash buffer

В справочной странице не упоминается какой-либо способ каким-либо образом манипулировать списком уничтожений (по крайней мере, я не знаю ни одного ), хотя вы можете -перепривязать различные команды, которые работают в списке уничтожений..

How can I pipe something into all 4 clipboards

Вы не можете, если только вы не напишете собственную команду или не используете другие существующие команды.

Если вы хотите, чтобы выбор X и буфер обмена Windows были синхронизированы (, чтобы изменение одного влекло за собой изменение другого ), я думаю, что видел инструменты для этого, но мне придется искать самому снова.

Сохранение списка уничтожений во всех экземплярах bash, синхронизированных с чем-либо, просто не будет работать, учитывая архитектуру. И ничто не мешает вставить из X или Windows в терминал.


Если вы думаете: «Но я могу использовать один буфер обмена в Windows, поэтому мне нужно то же самое в WSL» :Это не так.

2
13.10.2021, 12:49

Теги

Похожие вопросы