Ошибка Vim E138: не Может записать viminfo $HOME/.viminfo файла!

Если Вы делаете a

$ делают справку

в исходном каталоге ядра Вы будете видеть среди других

...
Упаковка ядра:
deb-pkg - Создайте ядро как deb пакет
...

make deb-pkg сборки несколько связанных с ядром пакетов:

  • linux-firmware-image_*.deb
  • заголовки Linux - *.deb
  • изображение Linux - *.deb
  • linux-libc-dev_*.deb
20
05.06.2014, 01:40
10 ответов

Когда вы запускаете sudo vim , вы запускаете vim как root. Это означает, что проблема заключается в файле viminfo в / root. Вы должны сделать rm /root/.viminf*.

Чтобы убедиться в этом, запустите sudo vim и выполните следующую команду: :! echo $ HOME . Это покажет вам, что ваш домашний каталог / корень.

Я бы порекомендовал вам не запускать vim от имени пользователя root, а использовать sudoedit . Это более безопасное решение, поскольку редактор работает не от имени пользователя root. Никогда не знаешь, что может делать плагин. Кроме того, он позволяет вам использовать свои собственные настройки и плагины в vim, а не в root vimrc. sudoedit - это то же самое, что и sudo -e . sudoedit работает, создавая временную копию файла, принадлежащего вызывающему пользователю (вам). Когда вы закончите редактирование, изменения будут записаны в фактический файл, а временный файл будет удален.

Общее практическое правило: не запускайте что-либо от имени root, если в этом нет необходимости.

30
27.01.2020, 19:43

Гораздо более чистый способ создания домашнего каталога будет использовать скелет, который Linux обеспечивает для вас, например.

sudo cp -a /etc/skel /home/usernmae && sudo chown -R usernmae:usernmae /home/usernmae
3
27.01.2020, 19:43

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

5
27.01.2020, 19:43

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

E138: Can't write viminfo file /Users/henrik/.viminfo!

Удаление ~ / .viminfo не устранило ошибку.

Оказалось, что у меня была куча временных файлов viminfo, и их удаление устранило проблему:

 ls ~/.viminf*      # If you want to see the files.
 rm -rf ~/.viminf*  # Remove them.

Нашел это решение здесь .

14
27.01.2020, 19:43

Скорее всего, это происходит из-за того, что в домашнем каталоге закончилось место на диске, и любая новая операция vim не может выполнить запись в файл .viminfo.

0
27.01.2020, 19:43

У меня была такая же проблема при обновлении содержимого Makefile. Мне нужна была локальная переменная, и я решил назвать ее HOME , поэтому я ввел строку HOME = 2.154 . Это приводит к замене параметра vim-HOME несуществующим каталогом. Не используйте переменную HOME для других целей.

0
27.01.2020, 19:43

Для меня проблема заключалась в том, что я изменил свой домашний каталог на расположение внутри монтирования NFS. По какой-то причине это привело к тому, что владельцем каталога стал «никто». Добавление разрешений на запись для «другого» решило проблему, поскольку я явно не владелец файла.

chmod o+w ~/.viminfo
3
27.01.2020, 19:43

Похоже, вы очистили переменные среды.

Сделай это:

экспорт HOME=/root

Это должно решить вашу проблему.

1
27.01.2020, 19:43

Не уверен, как я сам столкнулся с этим сценарием, поскольку я не помню, чтобы открывал какие-либо файлы с помощью sudo vim, но на каждом :qфайла я получал похожее сообщение «Не могу записать, viminfo недоступен для записи».

rm ~/.viminfoне разрешил его, а ~/.vim/был пуст.

chmod 666 ~/.viminfoустранено это предупреждающее сообщение при выходе из файла в Vim. Хотя я не уверен, что это лучшее решение? Имеет смысл, почему он остановил предупреждение, поскольку.viminfo раньше был rw ------, и я предполагаю, что он записывается с историями команд vim.

0
27.01.2020, 19:43

По моему сценарию, это было полное отсутствие /root/.viminfoфайла. После того, как я коснулся файла, ошибка прекратилась, и файл был обновлен при выходе из vim. PS :Это линукс, встроенный в Windriver.

0
27.01.2020, 19:43

Теги

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