Ошибка Vim E138: не удается написать файл viminfo $ HOME / .viminfo!

Боюсь, я столкнулся с чем-то довольно странным. Когда я обычно открываю файл, vim README.txt , все в порядке. Но на sudo vim README.txt файл отображается пустым и дает мне E138: Can't write viminfo file $HOME/.viminfo! ошибка при попытке выхода.

Я подозревал, что файл .viminfo поврежден, поэтому я удалил его. Эта проблема остается. Может ли кто-нибудь помочь?

7 Solutions collect form web for “Ошибка Vim E138: не удается написать файл viminfo $ HOME / .viminfo!”

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

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

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

Как общее правило: не запускайте вещи как root, если это не обязательно.

Надеюсь, это поможет вам!

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

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

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

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

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

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

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

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

 sudo cp -a /etc/skel /home/usernmae && sudo chown -R usernmae:usernmae /home/usernmae 

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

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

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

 chmod o+w ~/.viminfo 
  • Vim - Есть ли способ получить немедленную визуальную обратную связь во время вставки в режиме визуального блока?
  • будет ли тот же pid использоваться после убийства?
  • Файл открывается автоматически в вкладках
  • Vim: поддержка мыши потеряна после использования netrw в xterm
  • Как определить переменную оболочки равной версии Vim, установленной на данный момент?
  • Обтекание текста электронной почты способом, совместимым с форматом = flowed, например, с использованием параметра par
  • Команда Vim, чтобы превратить жесткие завернутые строки в визуально обернутые строки с сохраненным форматированием
  • vim и tmux противоречат друг другу. Как я могу это исправить?
  • В чем разница между vi и vim?
  • Как сопоставить emacs multi-modifier ключи в vim?
  • Как пользователь может редактировать файл, даже когда бит записи отключен в файле
  • Interesting Posts

    Невозможно «набить» команды на созданный «экран» сразу после создания

    Концептуальная разница между Linux и (бесплатно) ядром BSD

    Как выполнить команду оболочки из «стартера»?

    выражение поиска grep и файл переименования

    Могу ли я перенаправить вывод в файл журнала и выполнить фоновый процесс одновременно?

    Захват ввода пользователем при выполнении других действий

    Высокая загрузка процессора с помощью zip-команды

    Почему я не могу использовать клавиши со стрелками в терминале на Debian 6? (некорневой)

    Аутентификация и авторизация D-Bus

    Обновленный до монетного двора 17, клавиатура, застрявшая на неанглийском языке (неправильная компоновка), не может войти в систему

    Странный вывод с подзадачей команд с использованием обратных ссылок в скрипте bash

    Как запустить скрипт kwin из командной строки?

    Цвета в Man Pages

    Синхронизация вызовов umount для завершения любой ожидающей записи

    Отключить SSH-туннель «открыть сбой»

    Linux и Unix - лучшая ОС в мире.