Как я создаю ярлык для команды, которая берет вход?

Его довольно твердое для объяснения, но что я хочу, должно сделать команду, которую я могу активировать через ярлык, который берет в настоящее время выделенный текст и подкачивает его для некоторого другого текста. Я думал об использовании использования ctrl+c (с xdotool или чем-то), получая доступ к буферу обмена, делая материал, справляясь он к буферу обмена, чем использование ctrl+v тот же путь. Но сначала я должен сохранить то, что копируется в буфере обмена, и скопируйте его в конце, но, чем он, вероятно, вызовет проблемы, когда что-то неожиданное будет скопировано (как большой файл). так есть ли более хороший способ сделать это?

Например, команда берет строку и вставляет пробел между каждым символом. Таким образом, если я выделяю "this sentence" и нажатие, например, ctrl+shift+q (или независимо от того, что я установил как ярлык), выделенный текст (это предложение) заменяется текстом "t h i s s e n t e n c e".

Спасибо в усовершенствованном.

1
задан 5 January 2020 в 17:46

1 ответ

Здесь следует за отрывком кода, который может быть запуском:

#!/bin/bash
# Save current textual clipboard
OLDSELECT="$(xsel --clipboard --output)"

# put selected text in keyboard
sleep 0.1s
SELECTION=$(xsel -b)

# Insert your code that does something with the selection here and save that back to SELECTION
###########
###########
#

# Paste into clipboard

echo $SELECTION | xsel -b -i

# paste snippet
xdotool key --delay 0 shift+Insert
sleep 0.4s   #Firefox needs long delay: 0.2 s not enough - would paste replaced selection
echo "$OLDSELECT" | xsel  --clipboard --input

Первый, текущий textselection сохраняется к OLDSELECT использование xsel (xclip, был бы альтернативный инструмент). Затем выделенный текст помещается в буфер обмена к выбору переменной. Это - то, где Вы затем можете так что-то с содержанием, т.е. вставлять пробелы между каждой буквой.

конечный результат отложен в буфер обмена, затем вставил использование xdotool.

получающемуся сценарию можно затем присвоить сочетание клавиш.

1
ответ дан 6 January 2020 в 16:23

Другие вопросы по тегам:

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