Вставить фиксированную строку без использования буфера обмена (т.е. обычное копирование и вставка)

Вставить фиксированную строку без использования буфера обмена (т.е. обычное копирование и вставка)

Мне часто нужно вставлять фиксированную строку ( <br>). Поэтому я создал следующую комбинацию клавиш для копирования текста в буфер обмена:

sh -c 'echo "<br>" | xclip -rmlastnl -selection clipboard'

Работает хорошо. Но это все еще слишком много работы. Поэтому: можно ли вставлять <br>напрямую через отдельную комбинацию клавиш? Идеальным решением было бы что-то, что не перезаписывает текущее содержимое буфера обмена.

Спасибо за любые предложения.

решение1

‣ Если ваша команда работает хорошо, вы можете напрямую назначить ее сочетанию клавиш в разделе «Настройки» - «Клавиатура».

‣ Возможно, лучше использовать функцию «печатать» xdotoolдля непосредственного ввода строки при каждом нажатии сочетания клавиш. xdotoolможно «печатать», чтобы можно было вводить ее напрямую, а не использовать буфер обмена.

Начните с такой команды:

xdotool keyup ctrl+shift+b type \<br\>

Это делает xdotoolтип <br>. \Это управляющая строка, указывающая bash, что он не должен интерпретировать символы <и >как символы перенаправления, которые они обычно представляют.

Здесь есть дополнительный трюк: keyupкоманда. В этом примере я предполагаю, что вы назначите команду горячей клавише ctrl+ shift+ b. Вы будете нажимать эту комбинацию клавиш, чтобы вызвать команду. Клавиши в большинстве случаев могут быть нажаты во время xdotoolнабора текста. Это может не привести к ожидаемому результату. Оператор keyupиспользуется для имитации отпускания этих клавиш до того, как произойдет набор текста. Измените клавиши, указанные после, keyupна фактическую комбинацию клавиш, которую вы используете.

Связанный контент