2

Файлы моих проектов находятся на удаленном сервере Linux. Проект может быть очень большим. Мне нужно найти файлы в проекте при использовании vim. Если я смонтирую удаленную файловую систему на свой локальный компьютер с помощью sshfs, поиск файлов будет очень медленным. Поэтому я должен запустить VIM на удаленном сервере. Но я бы хотел использовать MacVim на моей локальной машине. Можно ли запустить vim на удаленном сервере, который отправляет консоль и команды на мой локальный компьютер через ssh, так что MacVim может показать все, что отправлено с удаленного компьютера?

3 ответа3

4

Здесь нет разделения между клиентом и сервером, как в Emacs, поэтому, если нет доступа к удаленной файловой системе, вам нужно запустить Vim на удаленной системе. Это может быть либо консоль Vim через терминальное приложение Mac OS, либо (если у вас запущен X-сервер), вы можете ssh -Y (пересылка X11) и отобразить удаленный экземпляр GVIM в вашей локальной системе. Это будет Linux GVIM на основе Gnome, а не MacVim, но по функциональности он очень похож.

2

Я сталкиваюсь с той же проблемой, отказался от SSHFS. Это было медленно, немного глючно, и, как и у вас, у меня были проблемы с такими операциями, как git и find. Я был очень счастлив сделать следующее:

# checkout my repo locally:
git clone <path to repo> <dirname>

# open vim edit edit edit
#...
#...

# use rsync to keep everything in sync (except my git files):
cd ..
rsync -avOz --exclude=.git/ <dirname>/ <remote host name>:<remote project dir>/

Вы можете использовать какую-нибудь утилиту для наблюдения за изменением файлов, чтобы автоматически запускать rsync при изменении файла, но я не нашел решения, которое бы хорошо для меня работало ...

Альтернативная идея, с которой я играю: храните мои файлы dotvim в github, чтобы я мог проверить их удаленно (мой dotvim), и используйте Mosh для более быстрого редактирования.

-1

Если использование VCS и локального сервера разработки невозможно, я вижу три пути.

  1. Используйте клиент FTP/SFTP. Все клиенты, доступные в Mac OS X, имеют кнопку или меню « Редактировать в…» , которые можно использовать для… редактирования файлов в MacVim. Я делаю это часто с некоторыми серверами, где по тем или иным причинам мы не можем установить VCS. Я предлагаю YummyFTP, но есть бесплатные альтернативы.

  2. Используйте возможность Vim/MacVim для просмотра и редактирования файлов на удаленных серверах:

    :e scp://user@domain.ext/path/to/dir/
    

    Смотрите :h netrw для получения дополнительной информации. Это немного громоздко на мой вкус, но это работает, и вам никогда не придется покидать любимого редактора.

  3. Отредактируйте файлы прямо на сервере, используя Vim, который уже там. Вы теряете немного интеграции с ОС, но вы получаете скорость и, очевидно, прямой доступ к оболочке сервера. Вы можете почувствовать затруднение из-за отсутствия ваших плагинов и ~/.vimrc но вы можете использовать это как возможность отработать основы Vim.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .