Рейтинг:1

Ubuntu 20.04, сентябрь 2021 г. — ошибка только для VIM: какое бы обновление ни было отправлено, нарушилась вставка, как кнопка выделения/средняя кнопка, так и ctrl-insert/shift-ctrl-insert

флаг cn
AJH

Я использую vi с конца 1980-х, так что давайте предположим, что я очень хорошо с ним знаком...

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

Ничего не изменилось, кроме автоматических обновлений, делающих свое дело.

Удалил vi, vim, попробовал версию gtk, пустой ~/.vimrc, без ~/.vimrc, то же самое со всеми комбинациями /etc/vim/vimrc

Удален bashrc, получен /etc/profile, то же самое...

То же самое в gnome-терминале и терминаторе...

Не знаю, что пошло не так, у кого-нибудь еще были подобные проблемы?

vim.gtk3 --версия VIM - Vi IMproved 8.1 (18 мая 2018 г., скомпилировано 15 апреля 2020 г., 06:40:31) Включенные патчи: 1-2269

Поскольку он делает это с пустыми файлами vimrc, при его воссоздании/установке разных vims я оставил их пустыми.

Любая другая программа — даже редакторы на основе оболочки, такие как pico — работают.

SSH-соединение с других машин, на которых работает vim, имеет ту же ошибку.

Обновление: это единственный рабочий стол 20.04, который у меня есть. Куча ноутбуков/рабочих столов/серверов 18.04, проблем с ними нет, но ssh-соединение с любого из них, и ошибка повторяется. Ssh'ing ... давайте посмотрим ... с рабочего стола 20.04 -> сервер ubuntu 18.04 и ноутбук 18.04, та же ошибка.Итак, согласно комментариям ниже, кажется, что-то в системе gnome или x-windows. Я думаю, что обновление, перезаписывающее файл конфигурации, пошло не так? Не уверен, какие конфиги в ~/.config/ мне следует посмотреть? Любые подсказки будут БОЛЬШИМ образом оценены!

guiverc avatar
флаг cn
Последнее изменение, которое произошло с `vim` в *focal*, было датировано `Среда, 15 апреля 2020 года, 16:40:31 +1000`, так что я уверен, что это не проблема `vim` (https://changelogs.ubuntu.com/ журналы изменений/пул/основной/v/vim/vim_8.1.2269-1ubuntu5/журнал изменений). В настоящее время это просто догадки, поскольку отсутствие изменений в `vim` подразумевает, что это связано с чем-то еще в вашей системе, о чем мы ничего не знаем; если бы это было в отчете об ошибке, я бы посмотрел, какие другие пакеты есть в вашей системе, но нам здесь не предоставили ни одного, зная мало о вашей системе
user535733 avatar
флаг cn
В сентябре 2021 года было выпущено множество обновлений пакетов. Просмотрите `/var/log/apt/history.log`, чтобы узнать, какие обновления достигли вашей системы в этом месяце. Из-за поэтапных обновлений ваши обновления могут отличаться от моих (поэтому ваше звание не особенно полезно).
AJH avatar
флаг cn
AJH
Я согласен с обоими и сканировал обновления gnome, но я не знаком с тем, что будет обрабатывать - правильнее вмешиваться только в vim - вставка буфера обмена? Спасибо вам обоим за столь быстрый ответ, я очень ценю это! В нынешнем виде я вставляю в файловую систему старый > и импортирую :r, очень расстраивает!
Nate T avatar
флаг it
@guiverc Я считаю, что Linux изменил команду ioctl () C из соображений безопасности. Смотрите ссылку в моем ответе ниже. Я только сегодня столкнулся с этим.
guiverc avatar
флаг cn
@NateT ; использование *фокусной* справочной страницы было бы лучше; т.е. http://manpages.ubuntu.com/manpages/focal/man8/gpm.8.html
Рейтинг:0
флаг cn
AJH

Ничего не работало.

Итак, глядя на список install history.log, указанный выше, и на то, что vim не менялся какое-то время, я увидел, что gir1.2-clutter-1.0 был среди обновлений. Я никогда не смотрел, что делают программы для девочек *, но apt-cache перечисляет это как владение gsettings, поэтому я подумал, что что-то пошло не так после того, как я обновился до NVME с вращающегося жесткого диска четыре месяца назад или около того. Не в обновлении, так как некоторое время все было в порядке...

У меня есть этот старый магнитный диск с копией ~ до того, как это произошло, я просто сделал ядерную опцию rm -rf ~/.config/ и синхронизировал .config обратно с жесткого диска и вуаля! Больше никаких проблем, даже не перезапускал GDM3.

Оглядываясь назад, я должен был заархивировать неисправный файл ~./config и сделать несколько различий в файлах конфигурации, чтобы найти настоящую проблему, тем более что вы все были так полезны. Так что позор мне там, но это было очень неприятно, и я отстал на работе и потратил слишком много времени на возню с этим.

Не по теме, но я заметил журналы «перезагрузки» как небезопасное отключение nvme, только остановку, выключение / включение питания не работает, так что, возможно, я слишком сильно или неправильно использовал nvme, и что-то вызвало некорректное написание:

(корень): df -h | grep nvme
/dev/nvme0n1p1 1,9T 406G 1,5T 22% /дом/

(корень): смарт-журнал nvme /dev/nvme0n1p1
Smart Log для устройства NVME: nvme0n1p1 namespace-id: ffffffff
критическое_предупреждение : 0
температура : 39 С
доступный_запасной: 100%
available_spare_threshold : 5%
процент_используемый : 91%
power_cycles : 45
power_on_hours : 2806
unsafe_shutdowns : 32
медиа_ошибки : 0
num_err_log_entries : 128
Рейтинг:0
флаг it

Проблема:

Делает это ответить на ваш вопрос?
...3-й абзац

Похоже, Linux изменил уровень разрешений, необходимый для доступа к ioctl() работать программно из-за «проблем безопасности, связанных с копированием целых страниц..»? Насколько я понимаю, почти любое приложение, которое использовало копирование/вставку, использовало его через эту функцию, поэтому все они либо перестали поддерживать копирование/вставку, либо нашли другую реализацию.

Обходной путь, который я использовал для vim:

Я обращаю внимание на количество строк, которые мне нужно вставить. КОГДА у меня есть курсор на строке, где должна начаться вставка (в обычном режиме), я нажимаю [Нет куда [Н] количество строк, которые мне нужно очистить. Сначала он очищает только одну строку и переводит буфер в режим вставки, но как только нажимается escape, остальные очищаются, и вы возвращаетесь в нормальное состояние.Все как было до команды, за исключением пробела [N] строки под курсором.

Резюме:

Удар 9о Esc создаст пробел в 9 пробелов под курсором, в который вы можете вставить.

Это может показаться немного неловким в течение дня или двух, но для меня, как только я освоился, мне показалось, что так было всегда..

AJH avatar
флаг cn
AJH
gpm -- вау, взрыв из прошлого! В моем случае, нет, это не сработало... ...все еще частично вставляется и частично перезаписывается.
Nate T avatar
флаг it
Как? Я предлагал создать несколько пустых строк, в которые будет вставляться текст перед вставкой. Ничего не должно перезаписываться. Кроме того, что вы подразумеваете под «частично пасты». ? Мой просто перезаписывает.
AJH avatar
флаг cn
AJH
Скажем, я копирую ваш текст выше и вставляю его в режиме вставки, он случайным образом размещает вставку не в строке вставки - где-то ниже - и он начинается с «o создать несколько ...» и продолжается до конец. Итак, что-то не так с тем, что вставляется из буфера, и это 1) выдача команд для vim 2) запуск вставки в случайном месте (это не после первого символа «i»). Это очень бесит, но я решил это, ну, вроде как ядерный, и это исправилось, см. Ниже. Но спасибо за время!
Nate T avatar
флаг it
Рад, что это решилось. Кстати, вы уже видели _vim и vi_ SE? Если нет, проверьте это. Вам понравится. Я удалю это, как только вы это увидите.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.