В настоящее время я делаю это с помощью SSHing на сервер и запускаю Vim на сервере. Преимущество этого заключается в том, что вам не приходится иметь дело с громоздким синтаксисом открытия файлов с удаленного сервера через SCP и, что более важно, возможность очень быстро перемещаться по файловой системе сервера. С другой стороны, у него есть задержка, что затрудняет редактирование.
Какой канонический способ редактирования большого количества удаленных файлов?
networking
files
vim
jcora
источник
источник
vim
наблюдается отставание, это, вероятно, указывает на проблему с вашей сетью, а не с вашим рабочим процессом.ssh root@myvps.com vim /etc/somefile
(обратите внимание на отсутствие;
).Ответы:
Вы можете использовать SSHFS для монтирования удаленного дома в локальной папке. Имеет преимущество использования текущей инфраструктуры и низкой задержки локального vim.
источник
Вы можете редактировать удаленно с локальным vim или gvim.
scp
это протокол защищенного копирования . Он аутентифицируется так же, какssh
, поэтому ваш ssh-ключ должен быть доступен и т. Д. Поддерживаются различные другие протоколы (см.:help netrw-externapp
), Но scp, вероятно, самый простой, если вы уже используете ssh в том же месте.Вы можете просматривать каталоги таким образом, просто убедитесь, что путь заканчивается на
/
. В противном случае vim превращает его в новый файл.:w
автоматически записывает файл через scp. Если по какой-либо причине запись не удалась, вы должны это заметить, так как они будут в виде строки типа «оболочка вернулась 1». Однако, будьте осторожны: если вы не заметите, vim не знает, и это может иметь последствия - например, если вы сейчас выйдете, он не предупредит вас. Это особенно легко пропустить, если вы используете:wa
много; | Это единственное предупреждение, которое у меня есть.Для официальных документов, см
:help netrw
.источник
Я бы использовал rsync. Он передает только то, что изменилось. Вот так:
затем редактируйте файлы локально на досуге. Нулевое отставание Вы проверяете все файлы перед тем, как их зафиксировать:
Я предполагаю, что вы сначала создаете свой местный каталог и
cd
в это. Вы также можете сделать так, чтобы он обрабатывал удаление файлов, но будьте очень осторожны с этим, потому что выполнение этого в неправильном каталоге может привести к обнулению всего дерева каталогов.Сначала я запускаю его в «сухом режиме», используя флаг «n», например:
Он сообщит, что бы он сделал, если бы это было на самом деле. Если я доволен сообщаемым списком, я запускаю его снова и удаляю флаг 'n'.
Rsync очень эффективен. Есть и другие флаги. Это довольно сложно.
источник
Может быть, вы назвали наиболее подходящий путь - способ SSH, но все же, в зависимости от самой природы редактируемых файлов, вы можете выделить небольшой раздел, сделать его общим и поместить туда файлы, конечно, если политика безопасности разрешает это действие. Для этого вы можете использовать NFS или Samba наиболее легко, но редактирование тестового файла является общей концепцией в UNIX, и, возможно, вам придется сохранить его таким, каким вы его делаете в настоящее время.
источник