Почему в gnome-терминале иногда не работает вставка?

34

Ctrl+ Shift+ Cи Ctrl+ Shift+ Vдолжны заменить нормальные Ctrl+ Cи Ctrl+ Vв gnome-terminal.

Иногда они работают, но обычно они не имеют никакого эффекта. Каковы некоторые потенциальные причины для этого? Я не уверен, какую другую информацию дать.

Редактировать: кажется, что ручной выбор Pasteиз Editменю тоже не работает. Right click > Pasteработает, но Edit > Pasteнет. Копирование работает, а вставка - нет.

Также у меня включен режим vi ( set -o viпо моему ~/.bashrc). Может ли это быть как-то связано с этим?

Редактировать: вот видео, демонстрирующее проблему. Я использовал Screenkey (в «сыром» режиме, чтобы поймать «shift»), чтобы показать, какие клавиши я нажимаю.

Мэтью
источник
5
Ваше наблюдение верно: копирование или вставка в gnome-терминал иногда не работает. Разумно полагать, что обработка первичного (вторичного) выбора и буфера обмена в gnome-терминале не совсем корректна.
Гедель
1
Я никогда не испытывал это. Какая версия Ubuntu у вас есть? (Поместите это в тег, например, 10.10или 10.04)
Мариус Гедминас
@Marius: Готово (10.10).
Мэтью
2
У меня точно такая же проблема в двух установках моего Ubuntu. У обоих была проблема при обновлении с 10.4 до 10.10. После чистой установки на обеих машинах (10.10), похоже, эта проблема возникла только на моем ноутбуке. Ви не имеет к этому никакого отношения, так как я там не пользовался. Такое поведение имеет место ТОЛЬКО в gnome-терминальном сокращении ctrl + shift + c или v, которое делает точку Годеля сильнее. Сочетание клавиш для выбора терминала или буфера обмена.
топлесс
1
У меня это тоже есть в одной из моих систем. Я считаю, что это ошибка. У меня есть функции копирования / вставки, сопоставленные с другой комбинацией клавиш, но обходной путь для меня заключается в том, чтобы перейти к сочетаниям клавиш, дважды щелкнуть запись (ничего не меняя), а затем копирование / вставка работает. Копирование / вставка правой кнопкой мыши всегда работает, как вы заметили.
belacqua

Ответы:

12

Это ошибка в gnome-Terminal, отчет об ошибке здесь с патчем:

https://bugzilla.gnome.org/show_bug.cgi?id=600876

Гном не решил проблему, хотя.

Ubuntu исправил это независимо от Gnome. Подробный отчет об ошибке здесь:

https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/630383

Согласно сообщению об ошибке, исправленный пакет Ubuntu является версией gnome-терминала 2.32.1-0ubuntu3. В настоящее время он находится в очереди выгрузки предложенного Maverick репозитория (с неутвержденным статусом). Очередь загрузки здесь:

http://launchpad.net/ubuntu/maverick/+queue

Вы можете скачать исходный пакет и собрать его самостоятельно с помощью debuild.

Надеюсь, скоро он будет перенесен в обычные репозитории обновлений.

щелчок
источник
1
Обратите внимание, что это исправлено в Gnome по состоянию на 20 марта 2011 года.
Мэтью
1
У меня все еще есть эта проблема в 2018 году. Терминал Gnome v3.28.2
Jason
7

Как вы подозреваете, это связано с режимом "vi".

Как вы знаете, режим «vi» имеет отдельные режимы вставки и команд. В командном режиме весь текст, отправляемый на терминал, интерпретируется как команда.

Чтобы договориться, сделайте это:

  • скопировать куда-нибудь строку, содержащую "isometext"
  • перейдите в терминал и нажмите ESC, чтобы перейти в командный режим
  • вставить

вы должны увидеть только «sometext», потому что начальное «i» было интерпретировано как команда вставки.

Решение: в командном режиме нажмите «i» перед вставкой. Если вы не уверены, нажмите ESC и «i» перед вставкой.

enzotib
источник
4
Спасибо, но я боюсь, что это не так. Я дважды проверил, чтобы убедиться, что я в режиме вставки, и я определенно нахожусь.
Матфея
1
У меня та же проблема, что и у Мэтью (она приходит и уходит), и я никогда не запускаю свой терминал в режиме vi. Сейчас на Maverick, но раньше это было и на Jaunty.
Кит Сунде
2

Использование терминала копирования и вставки использует два разных метода, в зависимости от того, как вы выполняете копирование и вставку. Если вы используете выделение и вставку с помощью третьей кнопки, вы используете один из буферов в X для выполнения этой работы. Если вы используете меню или щелкаете правой кнопкой мыши для копирования и вставки, вы используете другой буфер.

Таким образом, если вы копируете с выделением из меню, то вы должны либо вставить с помощью меню, либо использовать контекстное меню. Вы не можете выбрать с помощью, Edit > Copyа затем использовать третью кнопку мыши для вставки.

Это также причина, по которой вы не можете скопировать, выделив, затем перейдя в другое приложение и используя Edit > Paste.

Mei
источник
1

попробуйте shift-ctrl-v(те же кнопки, другой порядок). Вы также можете переназначить сочетания клавиш в меню редактирования терминала. Не переназначайте его на Ctrl + C, потому что Ctrl + C используется для уничтожения процессов в терминале (ну, для отправки сигнала TERM).

Pawełkowy
источник
2
Я могу подтвердить, что shift-ctrl-v тоже не работает. Однако, когда я проверял ярлыки, я заметил, что ручной выбор «Вставить» в окне редактирования тоже не работает. Так что, возможно, это не проблема быстрого доступа, а проблема вставки. Я отредактирую вопрос с этой информацией.
Матфея
Вы знаете, что когда вы закрываете приложение, из которого вы скопировали, то ваш скопированный контент теряется? так что, может быть, это проблема
Pawełkowy
1
Да, я знаю об этом. Я gnome-terminalпросто копирую, чтобы быть в безопасности, и это работает, если я Right Click > Paste. Только не из меню Правка / ярлыки.
Матфея
1

Для меня самый простой способ вставить это щелчок средней кнопкой мыши. Однако я все еще копирую, используя меню, потому что мне не нужно копировать часто.

Тадас Н.
источник
1
Спасибо за ваш вклад! Средняя кнопка мыши не достаточно хороша для меня, потому что, когда я работаю в терминале, я обычно хочу избегать переключения между клавиатурой и мышью. Я вставляю довольно часто, поэтому это может стать проблемой, если это не упрощено.
Матфея
1

Для справки, я запускал этот тест на различных виртуальных экземплярах стандартных установок, начиная с 9.04 до 11.04 Alpha 3. Я не смог воспроизвести ваши проблемы.

Я считаю, что проблема может быть в том, что какая-то конфигурация конфликтует с другой. Что касается конкретной конфигурации, я не знаю. Однако ... (цитата из чата)

Я бы выбросил свои файлы .config для gnome-терминал, но это неприятно - создавать резервные копии профилей.

Вы можете начать стирать свои конфиги gnome-терминала, но после этого я не уверен, как вы это исправите.

Томас Уорд
источник
Я иногда натыкаюсь на некоторые из моих старых ответов, когда я был новичком, и удаляю те, которые я бы сегодня не написал. Например, те, которые говорят «я верю», «я не знаю» и «я не уверен, как вы это исправите». Думаю, вы хотели бы, чтобы я указал вам на этот семилетний ответ, если вы думаете так же. :)
WinEunuuchs2Unix
0

Я не знаю почему, но я всегда использую Menu-Key (= справа между Superи Ctrl) для копирования и вставки.
Я надеюсь, что это поможет вам ;-)

Даниил
источник
1
Я знаю, что это возможно (и я использовал это в качестве обходного пути), но это боль. Я действительно хотел бы иметь возможность использовать shift + ctrl + c/v.
Мэтью
0

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

nathwill
источник
Терминал определенно имеет фокус. Если я ударю menu > p, он вставляется, как и ожидалось.
Мэтью
0

Я думаю, это проблема с внутренним виджетом терминала, который не имеет фокуса, возможно, подключен к внутренней панели мыши. Если вы нажмете в корпусе терминала перед нажатием клавиш, это исправит это?

(Если это правда, это ошибка.)

poolie
источник
Боюсь, это не сработает. Посмотрите видео в моем втором редакторе, чтобы понять, что происходит.
Матфея