Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Вставлять куски текста по горячим клавишам  (Прочитано 8474 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Raf73

  • Активист
  • *
  • Сообщений: 740
    • Просмотр профиля
Re: Вставлять куски текста по горячим клавишам
« Ответ #15 : 21 Апреля 2014, 22:11:13 »
Azure, а ведь на самом деле будет проще и универсальнее без позицирования вставлять в текущую позицию.
sergeyzzz, создается текстовый файл, например в gedit, и набивается такое содержимое:#!/bin/bash
xdotool type "вставляемый текст"
сохраняется, например, под именем vstavka1. Дается права на выполнение как программы: щелчок на файле vstavka1 правой кнопкой мыши и в свойствах файла, во вкладке права, ставится галочка напротив "Разрешить выполнение файла как программы". Скрипт готов. Если его запустить, то будет вставлена фраза "вставляемый текст"(без кавычек, естессно) в поле, где находится Привязку скрипта к горячим клавишам делаем через "Параметры системы" - "Клавиатура" - "Комбинации клавиш". При добавлении сочетания в качестве команды указать скрипт с полным путём к нему, например, /home/имя_пользователя/vstavka1

adawdp

  • Гость
Re: Вставлять куски текста по горячим клавишам
« Ответ #16 : 21 Апреля 2014, 23:15:16 »
sergeyzzz, отчаянный Вы однако, я по поводу системы, я жду как минимум 14.04.1 :) !
— Про русский язык я как-то забыл в AutoKey, вернее я даже его и не пробовал, я в русском секторе только общаюсь, по работе мне русский язык не нужен…
— Clipit это вроде „форк“ parcellite, не пользовался, использую Diodon, но по-моему постоянно обновляющие данные не дадут вам использовать нужные данные для вставки, не помню чтобы в какой-то из этих программ были функции типа "закладок"…
— Смотрите где-то здесь файл истории
Код: (=) [Выделить]
~/.local/share/у Diodon'a тут, но формат файла, очень очень вопрос :( , не уверен, что с Clipit дела обстоят лучше…
— Одним словом Ваша „придумка“ меня не воодушевила… Но попробуйте, скорее всего в сторону скриптов придётся смотреть и изучать вопрос в этом ключе :(

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Вставлять куски текста по горячим клавишам
« Ответ #17 : 22 Апреля 2014, 01:31:33 »
Я же уже написал
"запихнуть" в буфер обмена нужный текстecho "техт планируемый к вставке" | xsel -bи вставлять его по Ctrl+V
Т.е. можете прямо на горячую клавишу вешать команду (она запихивает текст в буфер обмена) или сделать скрипт и уже его привязать к горячей клавише (как предлагает Raf73) и то, это в случае если его команда почему-либо не будет работать.
Что касается xneur то доступ к его настройкам осуществляется через его GUI gxneur (апплет в строке индикаторов). Все настройки заносятся в файл ~/.xneur/xneurrc, который отредактировать можно и вручную. Раздел Сокращения. Т.е. назначаете какое-то буквенное сокращение, потом по нажатию определенной в разделе Комбинации клавиш клавиши апплет меняет его на связанный с этим сокращением текст. Для примера кусок файла ~/.xneur/xneurrc# Abbreviations list
# Example:
ReplaceAbbreviation xneur X Neural Switcher
т.е после нажатия горячей клавиши введенный текст «xneur» будет заменён на «X Neural Switcher»
« Последнее редактирование: 22 Апреля 2014, 01:38:21 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

adawdp

  • Гость
Re: Вставлять куски текста по горячим клавишам
« Ответ #18 : 23 Апреля 2014, 07:58:44 »
— Предлагаю несколько громоздкий, можно сказать неострый :) вариант.
— В файлах записываем необходимые для вставки данные, для каждой вставки отдельный файл :(
— Далее такой скрипт
Код: (bash) [Выделить]
#!/bin/bash
xclip -filter -selection clipboard /home/mixail/Документы/Apr22_2318_32
— Потом назначаем сочетание клавиш Параметры системы → Клавиатура → Комбинации клавиш → Допололнительные
— Скрипт поместит содержимое файла (пробовал только текстовые) в буфер обмена который Ctrl+V
— Преимущества, точно работает, проверял на двух компьютерах, недостатки для каждой записи для вставки отдельный файл.
— Короче поздно у нас (2014~Apr~22 23-58 Oakville, ON, Canada.), завтра если что продолжим, тема интересная!!!

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Вставлять куски текста по горячим клавишам
« Ответ #19 : 23 Апреля 2014, 12:01:57 »
adawdp,
Это примерно тоже самое, что предлагал я (только вместо xsel, которая у меня есть по-умолчанию, используете xclip).
Вот если б кто опробовал xdotool type "вставляемый текст"
« Последнее редактирование: 23 Апреля 2014, 13:05:50 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

adawdp

  • Гость
Re: Вставлять куски текста по горячим клавишам
« Ответ #20 : 23 Апреля 2014, 15:27:03 »
Azure, я очень понадеялся на xdotool, однако предложенный Raf73 вариант, подкупающий простотой
Код: (bash) [Выделить]
#!/bin/bash
xdotool type "вставляемый текст"
у меня почему-то корректно не заработал :(
— Работает через раз и вставляет не весь текст что-то где-то не так и требует доработки :(
— Вот есть старая тема, надо полагать, что задача отнюдь не нова :)
https://forum.ubuntu.ru/index.php?topic=162629.0
там предлагается такой вот скрипт
Код: (bash) [Выделить]
#!/bin/bash
A=$(xclip -o)

echo 'qwerty123!#' | xclip -selection clipboard
sleep 0.5s;xdotool key ctrl+v
echo "$A" | xclip -selection clipboard
— Я его проверил, назначал клавиши Alt+2 Параметры системы → Клавиатура → Комбинации клавиш → Дополнительные, работает!!!
— Пока пытаюсь разобраться в причине столь сложной конструкции скрипта и всеобъемлюще проверить. Посмотрите и Вы может быть именно эта схема и есть искомый вариант — одно движение → вставка нужного текста.

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Вставлять куски текста по горячим клавишам
« Ответ #21 : 23 Апреля 2014, 18:19:09 »
sergeyzzz, если в браузере и браузер - firefox, то дополнение Clippings в помощь.

Оффлайн sergeyzzz

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Вставлять куски текста по горячим клавишам
« Ответ #22 : 24 Апреля 2014, 14:46:03 »
у меня совсем с     
#!/bin/bash
xdotool type "вставляемый текст"
ничего не заработало. то есть вообще ничего не вставляет в буфер.

возможно виной всему 14.04 :)
как-то странно ведут себя некоторые программы в ней......

пока прекращаю мучения и буду ждать обновление системы.

adawdp

  • Гость
Re: Вставлять куски текста по горячим клавишам
« Ответ #23 : 24 Апреля 2014, 16:31:52 »
sergeyzzz, у меня от тоже не работает попробуйте скрипт, который я привёл в моём последнем сообщении где строка
Код: (=) [Выделить]
sleep 0.5s;xdotool key ctrl+vон должен работать.
— Скорее всего работать будет только на английской раскладке :(, но кириллицу, а у меня ещё и другие языки вставляет.
— Я активно занимаюсь поисками по данному вопросу так что к какому-то окончательному решению мы должны прийти.
— Для реального прикладного применения нужно наверное будет выработать некое сочетание скриптов с каким-либо менеджером буфера обмена, сейчас исследую данное направление тоже.

Пользователь решил продолжить мысль 24 Апреля 2014, 21:49:56:
peregrine, спасибо, безусловно хорошее дополнение, выгодно отличающееся от известных мне менеджеров буфера обмена тем, что необходимые для вставки фрагменты хранятся как бы в „закладках“, поскольку туда не копируется всё подряд, а только то, что вроде как необходимо.
— Интересный момент заявлен в числе других и  украинский язык, но нет русского :) ! Не политика ли часом?
(Нажмите, чтобы показать/скрыть)
— Я правда не пытался это дополнение украинизировать, но момент мне показался удивительным…
« Последнее редактирование: 24 Апреля 2014, 21:49:56 от adawdp »

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Вставлять куски текста по горячим клавишам
« Ответ #24 : 25 Апреля 2014, 15:33:25 »
Проблема команды xdotool что система за ней не успевает… по умолчанию 12 миллисекунд между нажатиями клавиш. Борется с этим эффектом параметр --delay и подбирается опытным путем. У меня вполне работает такая команда (напрямую привязанная к "горячей клавише"xdotool type --clearmodifiers --delay 50 'Текст, который вставляется'Если писать скрипт, то можно использовать формат#!/usr/bin/xdotool
type --clearmodifiers --delay 50 'Текст, который вставляется'
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

adawdp

  • Гость
Re: Вставлять куски текста по горячим клавишам
« Ответ #25 : 25 Апреля 2014, 21:07:48 »
Azure, у меня тоже работают оба варианта предложенные Вами, но после исполнения ввода текста отказывается работать левая кнопка мыши и вообще не получается закрыть какое-либо приложение :( какое-то странное общее „подвисание“
— Приходится применять команду Ctrl+Alt+Bachspase больше ничего не помогает…
— Потому, наверное, автор скрипта
Код: (bash) [Выделить]
#!/bin/bash
A=$(xclip -o)
 
echo 'qwerty123!#' | xclip -selection clipboard
sleep 0.5s;xdotool key ctrl+v
echo "$A" | xclip -selection clipboard
пошёл таким несколько обходным путям, жаль не пояснил чем вызваны эти действия.
— Кроме того в предложенном Вами варианте, наверное из-за tipe, текст более менее приличного размера вводится довольно долго :( … Приведенным выше скриптом с обычной скоростью, едва чувствуется sleep 0.5s
— Вообще у меня мышь в левой руке, но не думаю, что это может как-то влиять. Хотя из-за расположенной с левой стороны мыши у меня бывали проблемы :(.

Пользователь решил продолжить мысль 25 Апреля 2014, 21:57:02:
— Вот такой ещё вариант.
— Файл Diodon’а ( один из менеджеров буфера обмена) расположен в
Код: (=) [Выделить]
~/.local/share/diodon/storage.xmlлегко подвергается правке, как видно из расширения.
Код: (XML) [Выделить]
<?xml version="1.0" encoding="UTF-8"?>
<clipboard>
<item type="DiodonTextClipboardItem">2014Apr25133921</item>
<item type="DiodonTextClipboardItem">2014Apr25133925</item>
<item type="DiodonTextClipboardItem">2014Apr25133928</item>
<item type="DiodonTextClipboardItem">2014Apr25133932</item>
<item type="DiodonTextClipboardItem">2014Apr25133935</item>
<item type="DiodonTextClipboardItem">2014Apr25133938</item>
<item type="DiodonTextClipboardItem">2014Apr25133941</item>
</clipboard>
— Следовательно изготавливается  файл с нужными данными и подставляется взамен существующего, правда Diodon приходится перезапускать.
— Вне всякого сомнения процесс замены файла и перезапуска программы Diodon легко автоматизируется скриптом. Далее вставляем нужные данные куда необходимо используя  стандартный графический интерфейс Diodon’а.

Пользователь решил продолжить мысль 26 Апреля 2014, 08:34:15:
Azure, провёл инвентаризацию всего здесь ( в теме имею в виду) написанного о скриптах, читал man xdotool, если ещё раз прочитаю, возможно кое-что начну понимать даже :) !
— Вот это должно работать:
Код: (bash) [Выделить]
#!/bin/bash
cat /home/HOME/03_ProgramFileStorage/SED/3pa3oK.txt | xclip -selection clipboard    # берём что вставлять помещаем в буфер
sleep 0.5s; xdotool key Shift+Insert        # спим пол секунды (на всякий случай) и имитируем вставку можно  key ctrl+v
   
— Назначаем любую клавишу и проверяем работоспособность. Программа xdotool космических возможностей в плане автоматизации всяких вставок но… учить надо :(
« Последнее редактирование: 26 Апреля 2014, 08:34:15 от adawdp »

Оффлайн KOT040188

  • Активист
  • *
  • Сообщений: 325
    • Просмотр профиля
#!/usr/bin/bash
xdotool type --clearmodifiers --delay 50 'Текст, который вставляется'
Вставляется ерунда, система сходит с ума и не вырубается, клава перестаёт работать, мышь делает не то что нужно. ЧЯДНТ? Очень нужно вставлять текст в текстовое поле миную буфер обмена. Помогите. Kubuntu 14.04.
Хто ты гэткі?

Оффлайн Евгений М.

  • Участник
  • *
  • Сообщений: 131
  • Mint 19-03
    • Просмотр профиля
Clippings хорошая вещь, то что нужно!!!

Оффлайн KOT040188

  • Активист
  • *
  • Сообщений: 325
    • Просмотр профиля
Жека Линукс, есть ссылка на описание?
Хто ты гэткі?

zse

  • Гость
     — Google конечно отзывается на linux Clippings но как-то не совсем по теме😞…
     — Вот такой ещё есть вариант вставки: у меня Unity, назначаю вставку текста средствами системы вид в dconf, часто об этом пишу, но как-то энтузиастов этого метода мало😕
Код: (bash) [Выделить]
dconf dump /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/|grep -C 2 '<Super>grave'
binding='<Alt><Super>grave'
command="sh -c 'echo -n \"cat /home/AAA|grep -B 11 ry‖149 ;history |grep \"|xsel -pi; xdotool click 2'"
name='AltSup_`_HistoryGrep'
     — По данной команде выводится «cat /home/AAA|grep -B 11 ry‖149 ;history |grep», естественно можно вставить любую фразу или команду или заставить исполняться скрипт…


« Последнее редактирование: 10 Июля 2018, 13:34:37 от zse »

 

Страница сгенерирована за 0.076 секунд. Запросов: 23.