Совместно используйте буфер обмена между ударом и X11

При использовании Pulseaudio в Wiki Ubuntu существует практическое руководство. Это в основном сводится к использованию импульсного аудио микшера, для перенаправления звука от его источника до смелости, где это сохраняется вместо вывода по умолчанию (который был бы Вами динамики).

11
13.04.2017, 15:36
2 ответа

Буфер обмена Bash является внутренним, чтобы колотить, колотить, не соединяется с X-сервером.

То, что Вы могли сделать, изменить значение M-w скопировать выбор в X буферов обмена ¹ в дополнение к внутреннему буферу обмена удара. Однако интеграция удара довольно свободна, и я не думаю, что существует способ получить доступ к информации о регионе или буферу обмена из кода удара. Можно сделать привязку клавиш для копирования целой строки в X буферов обмена. ²

if [[ -n $DISPLAY ]]; then
  copy_line_to_x_clipboard () {
    printf %s "$READLINE_LINE" | xsel -ib
  }
  bind -x '"\eW": copy_line_to_x_clipboard'
fi

Если Вы хотите сделать необычные вещи в оболочке, переключиться на zsh, который (среди других преимуществ) имеет намного лучшую интеграцию между строчным редактором и языком сценариев.

if [[ -n $DISPLAY ]]; then
  x-copy-region-as-kill () {
    zle copy-region-as-kill
    print -rn -- "$CUTBUFFER" | xsel -ib
  }
  x-kill-region () {
    zle kill-region
    print -rn -- "$CUTBUFFER" | xsel -ib
  }
  zle -N x-copy-region-as-kill
  zle -N x-kill-region
  bindkey '\C-w' x-kill-region
  bindkey '\ew' x-copy-region-as-kill
fi

¹ Gnome конкретно не имеет буфера обмена, это является общим к X.
² С удара 4.1, в ключевом коде парсинга существует ошибка: сочетания клавиш, связанные с bind -x могут не быть больше чем два символа долго. Я думаю, колотят 4.2, фиксирует некоторые случаи более длинных префиксов, но не всех их; я не исследовал детали.

9
27.01.2020, 19:58
  • 1
    Спасибо за идею @Gilles! Я думаю, что пора мне учиться и переключиться на zsh. –  Amelio Vazquez-Reina 14.08.2011, 21:02

@Gilles уже дал превосходный ответ. Я был бы точно так же, как для упоминания существования xclip, который является также очень полезным способом скопировать терминальный вывод в X буферов обмена, просто передав что-либо по каналу в него:

$ cat /etc/passwd | xclip
7
27.01.2020, 19:58
  • 1
    Просто примечание это xclip копии в основной буфер по умолчанию. Для использования буфера обмена использовать xclip -selection clipboard. –  Sparhawk 30.05.2014, 09:23

Теги

Похожие вопросы