Как я могу использовать только один единый буфер обмена? (даже для «пути копирования» IntelliJ)

23

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

Текущая проблема, которая меня беспокоит, это то, что действие IntelliJ «копировать путь», похоже, копирует путь к текущему файлу, но я могу только вставить его обратно в сам IntelliJ - если я попытаюсь вставить его в терминал, содержимое просто не в буфер обмена.

ripper234
источник
Никогда не использовал эту IDE, но у меня нет проблем с буфером обмена Linux. Существуют ли другие ситуации?
Чепанг
1
@Tshepang - один пример в gvim, если я выделю текст, отредактирую -> скопирую, затем выделю другой фрагмент текста, тогда у меня фактически будет два разных фрагмента текста для вставки. Средний щелчок вставит последний выбранный текст, а edit-> paste вставит текст, который я редактировал-> скопированный.
ripper234
В системе X Window есть концепция буфера обмена. Учитывая, что большую часть времени вы работаете в X, это только вопрос настройки / исправления программ, не использующих X буфера обмена для его использования. Например, GNU Emacs с поддержкой X-окна по умолчанию не копирует в буфер обмена X, но его можно легко настроить для этого.
Алекс
@alex Не совсем верно, в X Window System есть несколько концепций буфера обмена.
Адам Быртек
1
@ ripper234: Это потому, что Vim по умолчанию копирует в свой внутренний буфер. Если вы хотите скопировать в системный буфер обмена, используйте специальный буфер + для копирования "+yи вставки "+pв командном режиме. * Буфер - это буфер среднего щелчка, и есть много обычных буферов, которые могут использоваться только Vim, к которым можно получить доступ, предварительно добавив к копированию / вставке "a to" b (например "aY)
Lie Ryan

Ответы:

14

Есть несколько менеджеров буфера обмена, таких как parcellite, klipper, glipper, glippy, anamnesis, pastie и другие. Как правило, они позволяют вам управлять своим буфером обмена, представляя историю.

Некоторые из них позволяют вам обращаться с первичным и вторичным буфером обмена как одно целое (parcellite и klipper определенно это делают).

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

Шон Дж. Гофф
источник
4
Я только что установил Parcellite по вашему совету, и он прекрасно работает. Это просто и сделай свою работу. Спасибо за предложение!
Йерун
Anamnesisхорошо вписывается в работу. Очень маленькая кодовая база и легко читаемая, для загрузки.
Этеш Чоудхури
1
Тем из нас, кто интенсивно использует ssh и vim с его визуальным режимом, нужно будет рассмотреть этот вопрос, чтобы заполнить пробел: Сеанс обмена через SSH через VIM (Подсказка: на сервере не требуется xserver)
Алоис Махдал
4

autocutsel - это легкий инструмент, который объединяет содержимое обоих буферов обмена. Вы также можете рассмотреть возможность использования полноценного менеджера буфера обмена, как предложил Шон.

Адам Быртек
источник
3

Предположительно, вы пытаетесь вставить в терминал, используя средний щелчок.

Вообще говоря, если вы копируете с помощью меню приложения, контекстного меню (которое обычно просто вызывает меню приложения) или ^c(которое также обычно запускает меню приложения), результаты сохраняются в выборе «Буфер обмена» и могут быть вставлены с помощью ^vили соответствующее меню.

Если вы копируете, выделяя текст мышью, результаты сохраняются в «Первичном» выделении и могут быть вставлены путем щелчка средней кнопкой мыши по целевому окну.

Если вы выделите текст в приложении с помощью мыши, а затем с помощью функции « ^cКопировать его» вручную, вы сохраните результаты в выделении «Основной» с помощью мыши и выделении «Буфер обмена» с помощью кнопки ^c, чтобы они оба совпали, и вы не нажали не путайся.

Но если вы выделите текст в своем приложении с помощью клавиатуры, затем нажмете ^c, а затем выделите какой-то другой текст (например, целевое выделение для перезаписи), результат не будет сохранен в выделении «Основной», и вы не получите скопированный текст. , Вы не сможете щелкнуть средней кнопкой мыши, чтобы вставить скопированный текст, но вы можете использовать меню терминала или контекстное меню для вставки из выбора «Буфер обмена».

Некоторые приложения также заполняют выбор «Основной» при копировании в «Буфер обмена». Это нестандартное поведение, и его следует избегать и не полагаться на него.

Рич Ремер
источник