Файл истории команд Neovim sudo?

#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 на большое число