Буфер обмена в Linux

Разное > Тюнинг

Часто можно услышать вопросы пользователей альтернативных операционных систем: а буфер обмена в Linux есть? Конечно, есть. Даже два!

И для них есть менеджеры буфера обмена: намного удобней иметь возможность вставить из буфера кусок кода, который часто используется, чем по сто раз его копировать из другого текста. Вот о них в этом посте и поговорим. 


Буферы обмена в Linux
Итак, в Linux буфер обмена есть, и даже не один. В графической оболочке X.org их целых два.
Первый буфер обмена (clipboard) работает так же, как и буфер обмена в Windows: выделяем картинку или текст и нажимаемCtrl+Insert или Ctrl+C для копирования в буфер обмена. Вставка происходит после нажатия комбинации Shift+Insert или Ctrl+V.

Второй буфер обмена (primary) в Linux работает иначе. Если вы выделяете в текст мышью, выделенный текст сразу попадает в буфер primary. Чтобы вставить скопированный текст, достаточно нажать среднюю кнопку мышки (колёсико). Если трёхкнопочной мыши у вас нет или вы работаете на ноутбуке с тачпадом, для вставки текста можно одновременно нажать левую и правую кнопки мыши .
Эти буферы не связаны друг с другом, и хранящиеся в них данные не влияют друг на друга. Однако если вы скопируете другой кусок текста или картинку, новое содержимое затрёт собой предыдущее, и вы потеряете данные в буфере обмена.


Менеджеры буферов обмена в Linux
Для комфортной работы с буфером обмена есть довольно много программ, как консольных, так и графических, что облегчает управление данными в буферах обмена. Эти программы позволяют хранить историю содержимого буферов обмена, что позволяет вернуться к любому из предыдущих состояний.

Буфер обмена в консоли
Даже если вы работаете в Linux в голой консоли, буфер обмена у вас всё равно будет. Достаточно установить пакет gpm (general purpose mouse) и вы сможете копировать и вставлять текст выделением и колёсиком мыши.

Для управления содержимым буфера обмена есть консольная программа xclip. Копирование и вставка текста в xclip выполняется простыми командами, что позволяет использовать её в скриптах,примеры которых можно посмотреть в этом посте.
При возникновении проблем с копированием файлов в KDE, вместо xclip можно использовать xsel.

Буфер обмена в графической среде
Среди программ для управления содержимым буфера обмена можно выделить две:

  • Parcellite -- менеджер буфера обмена на GTK для среды GNOME
  • klipper -- менеджер буфера обмена для среды KDE

Несколько слов о Parcellite и Klipper далее.


Менеджер буфера обмена Parcellite 
На смену уже не подающему признаки жизни glipper приходитparcellite, который довольно активно развивается, может работать как демон и поддерживает действия с буфером обмена. Надо отметить, что Parcellite замечательно работает и в IceWM.

Установка parcellite проста:

aptitude install parcellite

занимает очень мало места (меньше мегабайта). После запуска командой parcellite в трее появится иконка:
Всё очень просто и скромно: нажав на правой кнопкой мыши по значку в трее, можно настроить параметры, а нажав левой - редатировать или очистить содержимое буфера обмена (показано полупрозрачным).

Настраиваемых параметров вполне достаточно: так, например, можно задать число хранимых состояний буфера обмена (25 в данном примере) или хранение только гиперссылок.
Parcellite так же поддерживает задание регулярных выражений (regular expressions) - это вкладка Actions:

В общем, вполне функциональный и простой в использовании менеджер буфера обмена в Linux, который понравится не только гномоводам.



Менеджер буфера обмена Klipper
Для среды KDE есть свой менеджер буфера обмена, который называется Klipper. Доступный в любом современном дистрибутиве, Klipper устанавливается просто:

aptitude install klipper

пакет занимает чуть менее 1Мб, так что не жадничаем и ставим. Работать будет не только в KDE, но и в IceWM, на радость многим лихачам, оный использующим.

После запуска в трее появляется значок Klipper, нажатие на который выдаёт меню с настройками:
А настроек тут хватает:
Перечислю только основные:

  • Save clipboard contents on exit -- сохраняем содержимое буфера обмена Linux при выходе из Klipper.
  • Remove whitespace when executing actions -- удалять пробелы перед или после содержимого буфера обмена, что полезно, если вы ввели URL в буфер обмена с пробелами.
  • Clipboard selection behavior -- игнорировать выделение, то есть не смешивать буфер обмена clipboard и primary.

Ну и конечно, можно настроить размер истории буфера обмена (Clipboard history size). Можно так же задавать регулярные выражения (regular expressions) и связывать их с Klipper:
Относительно Actions, настройка которых показана выше: вообще весьма удобная фукнция. Вот, например, вы выделяете в текстовом редакторе кусочек текста, который является веб-ссылкой. Если включены Actions в Klipper, то вылезет симпатичное всплывающее окошко, которое может сразу вставить эту ссылку в ваш любимый броузер. На скриншоте подсвечен процесс работы Actions:


Ну и настроить горячие клавиши на всё, что только можно:


Заключение
Есть и другие утилиты управления содержимым буфера обмена в Linux, но для начала стоит посмотреть на xclip, xsel, klipper и parcellite. Для среды XFce есть плагин под названием Clipman. Утилиты буфера обмена существенно облегчают жизнь при работе с буфером обмена. И теперь вы уж точно ничего не потеряете!

Источник:
http://mydebianblog.blogspot.com/2011/01/linux.html

Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>