Я хотел бы вставить всю историю буфера обмена, состоящую из скопированных слов (Ctrl + C / по выделению) во время моих сеансов чтения. Я установил такие программы, как Glippy и ClipIt, но я не мог понять, как вставить все слова. Если в этих программах есть такая опция, я копирую сразу в простой текстовый файл, а не по одному слову за раз. Кто-нибудь может мне помочь?
Спасибо!
Вы можете увидеть некоторые строки в файле истории клипов с помощью этой команды:
strings ~/.local/share/clipit/history
Но это не лучший способ. Вывод может быть искажен.
Пользователь Parcellite, щелкните левой кнопкой мыши по его значку «Очистить», выберите, сколько раз вы хотите, после этого «Редактировать буфер обмена» и скопируйте все это! Не забывайте так устанавливать предпочтения: используйте первичный выбор, чтобы было легче копировать текст!
существует сценарий Python для ClipIt, выполненного это как это python cliphist.py > clipit.history.txt
#!/usr/bin/env python
"""cliphist.py: utility to print clipit history file.
If an argument is passed on the command line, it will
be used as a separator, otherwise history items are
separated by a blank line. """
import struct, os, sys
homedir = os.environ['HOME']
histfile = homedir + '/.local/share/clipit/history'
if len(sys.argv) > 1:
sep = sys.argv[1]
else:
sep = '---------------------------------------------------------------------'
with open(histfile,'rb') as f:
f.read(68)
size,_ = struct.unpack('2i',f.read(8))
while (size > 0):
item = f.read(size)
print item
_,_,_,size,_ = struct.unpack('5i',f.read(20))
if size > 0:
print sep
Установите KDE Klipper Clipboard Manager и используйте следующий простой скрипт:
text="nothing yet"
cnt=0
while [ "$text" != "" ]; do
text=`qdbus org.kde.klipper /klipper getClipboardHistoryItem $cnt`
echo "==== Clipboard content line $cnt:"
echo "$text" # to terminal output
echo "$text" > /path/to/file # to file (EDIT this)
cnt=$((cnt + 1))
done
Примечание. Это не очень хорошо работает в Unity так кажется. Поэтому в других средах рабочего стола, кроме KDE: ваш пробег может отличаться .
В последней версии Parcellite есть пункт меню «Сохранить как» при нажатии на значок. Это сохранит все записи истории в файл. Существует также вставка всех при щелчке правой кнопкой мыши по списку истории, в результате чего весь список истории помещается в буфер обмена. В настройках есть разделитель «Вставить все», который он ставит в конце каждой записи.
https://sourceforge.net/projects/parcellite/files/parcellite/parcellite-1.1.1/ ppa здесь: https://launchpad.net/~rickyrockrat/+archive / PPA
Модифицированный код из @ stepan-shamaiev для Python 3
и без настройки разделителя:
#!/usr/bin/env python3
"""cliphist.py: utility to print clipit history file."""
import struct, os
homedir = os.environ['HOME']
histfile = homedir + '/.local/share/clipit/history'
with open(histfile,'rb') as f:
f.read(68)
size, _ = struct.unpack('2i', f.read(8))
while size > 0:
item = f.read(size)
print(item.decode())
_,_,_,size,_ = struct.unpack('5i',f.read(20))
if size > 0:
print('------------------')