#vim #neovim
#vim #neovim
Вопрос:
Я использую neovim, и файл истории называется «main.shada». Однако, когда я запускаю редактор в режиме sudo, список предыдущих команд отличается; это означает, что они хранятся в разных файлах. Я пробовал искать в Интернете, даже в проводнике, и не могу найти этот конкретный файл. Где находится файл, как он называется?
Комментарии:
1. В будущем рассмотрите возможность использования Vi и Vim Stack Exchange для вопросов по Vim и NeoVim.
Ответ №1:
Когда вы запускаете NeoVim в sudo, он сохраняет свои данные (включая данные истории) в домашнем каталоге root (обычно /root
).
Таким образом, файл все равно должен иметь имя main.shada
, но он находится в каталоге под /root/.local/share/nvim/shada/
вместо соответствующего в вашем домашнем каталоге.
Одна из рекомендаций — избегать использования sudo
команды напрямую в текстовом редакторе, таком как NeoVim. Вместо этого используйте sudoedit
команду (или sudo -e
), которая создаст копию файла, который вы хотите отредактировать, с разрешениями, позволяющими вам читать / записывать в него, затем откройте свой редактор как пользователь, не являющийся пользователем root, и, наконец, перезапишите его, как только вы сохраните файл и закроете редактор. Таким образом, экземпляр NeoVim будет запущен под вашим обычным пользователем и будет использовать вашу обычную конфигурацию NeoVim и подключаемые модули, а также хранить информацию о shada, такую как история, в каталоге shada вашего обычного пользователя.
Ответ №2:
вы можете переопределить местоположение по умолчанию shade-file
(история), чтобы исправить местоположение этого файла с помощью:
set shada ='1000,n/opt/my.shada
не забудьте предоставить пользователю разрешение на этот файл:
sudo chown username:username /opt/my.shada
если вы хотите больше изменить строку истории 1000
на большое число