Если Вы делаете a
$ делают справку
в исходном каталоге ядра Вы будете видеть среди других
...
Упаковка ядра:
deb-pkg - Создайте ядро как deb пакет
...
make deb-pkg
сборки несколько связанных с ядром пакетов:
Когда вы запускаете 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, если в этом нет необходимости.
Гораздо более чистый способ создания домашнего каталога будет использовать скелет, который Linux обеспечивает для вас, например.
sudo cp -a /etc/skel /home/usernmae && sudo chown -R usernmae:usernmae /home/usernmae
Я получил ту же ошибку при попытке : WQ
файл на диске, который был полностью заполнен. Если вы получили это сообщение, вы можете проверить ваше доступное дисковое пространство.
Я получаю эту ошибку при каждом выходе. Я не использовал 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.
Нашел это решение здесь .
Скорее всего, это происходит из-за того, что в домашнем каталоге закончилось место на диске, и любая новая операция vim не может выполнить запись в файл .viminfo.
У меня была такая же проблема при обновлении содержимого Makefile. Мне нужна была локальная переменная, и я решил назвать ее HOME
, поэтому я ввел строку HOME = 2.154
. Это приводит к замене параметра vim-HOME
несуществующим каталогом. Не используйте переменную HOME
для других целей.
Для меня проблема заключалась в том, что я изменил свой домашний каталог на расположение внутри монтирования NFS. По какой-то причине это привело к тому, что владельцем каталога стал «никто». Добавление разрешений на запись для «другого» решило проблему, поскольку я явно не владелец файла.
chmod o+w ~/.viminfo
Похоже, вы очистили переменные среды.
Сделай это:
экспорт HOME=/root
Это должно решить вашу проблему.
Не уверен, как я сам столкнулся с этим сценарием, поскольку я не помню, чтобы открывал какие-либо файлы с помощью sudo vim
, но на каждом :q
файла я получал похожее сообщение «Не могу записать, viminfo недоступен для записи».
rm ~/.viminfo
не разрешил его, а ~/.vim/
был пуст.
chmod 666 ~/.viminfo
устранено это предупреждающее сообщение при выходе из файла в Vim. Хотя я не уверен, что это лучшее решение? Имеет смысл, почему он остановил предупреждение, поскольку.viminfo раньше был rw ------, и я предполагаю, что он записывается с историями команд vim.
По моему сценарию, это было полное отсутствие /root/.viminfo
файла. После того, как я коснулся файла, ошибка прекратилась, и файл был обновлен при выходе из vim. PS :Это линукс, встроенный в Windriver.