Использование Macvim через ssh


Мой проект включает в себя работу над большой кодовой базой на удаленном сервере. Я постоянно редактируя несколько файлов, так что УПП передоза файлы обратно не представляется возможным. У меня есть локальная настройка Macvim именно так, как мне нравится, с несколькими плагинами, включая ctags.

Можно ли вообще использовать Macvim через ssh таким образом, чтобы я мог легко просматривать и открывать файлы из Macvim, работающего локально?

Получение ctags для работы без его установки на удаленном сервере было бы еще лучше, но я подозреваю, что это невозможно...

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

7 26

7 ответов:

Используйте SSHFS (http://fuse.sourceforge.net/sshfs.html ), версия его поставляется с MacFUSE.

Следующая команда откроет файл в MacVim по ssh:

:e scp://username@host.com/path/to/file
Я подозреваю, что это может быть не совсем то, что вы ищете, так как это даст вам только один файл за один раз.

Если бы вы могли монтировать общий ресурс из целевой системы локально, это также сработало бы.

Одна вещь, которую я часто использовал, состояла в том, чтобы открыть сеанс X-11, затем подключиться к моему удаленному хосту и использовать gvim поверх X. У вас будет полная версия редактора с графическим интерфейсом, он будет выглядеть так, как будто он работает локально, но на самом деле все работает удаленно.

Другой альтернативой является использование VNC для удаленного управления сеансом на удаленном хосте. Существует несколько VNC-клиентов для Mac.

Вы также можете использовать клиент Mac SFTP или FTP для подключения, а затем попросить его отредактировать файл или файлы. Если у вас есть настроил его на использование MacVim в качестве редактора файловый ввод - вывод будет происходить через FTP-соединение прозрачно. Именно так я редактирую удаленные веб-сайты, когда у меня нет возможности ssh.

Однако плагин netrw для MacVim и vim очень эффективен. Если вы не передадите имя файла для редактирования по команде scp://..., vim представит обычный браузер каталогов, позволяющий выбрать файл на удаленной машине и отредактировать его локально. Например, это открывает соединение от моего ноутбука к самому себе через SSH и показывает мне домашний каталог внутри vim:

vim scp://greg@localhost//Users/greg/

MacFUSE, как предлагалось выше, больше не поддерживается. К счастью, есть преемник, OSXFUSE .

Я использую MacVim на OS X 10.9 с OSXFUSE и SSHFS для редактирования кода на удаленном сервере Linux. Я испытываю небольшую задержку (1-3 секунды) при сохранении текстового файла, но помимо этого, это похоже на работу с локальной файловой системой.

Что касается самого .часть вашего вопроса документация утверждает, что параметр -u может помочь вам.

- u {vimrc} файл {vimrc} считывается для инициализации.

СКП для каждого файла будет занозой в заднице.

В то время как SSHFS с MacFuse работает, он может быть очень медленным. Я попробовал его пару раз на работе с огромной трубой к закрытому серверу, и хотя идея сначала казалась элегантной, это был сводящий с ума опыт игры в пляжный мяч.

Как именно происходит настройка сервера? Вы входите в систему как кто-то другой или как вы сами со своим собственным /home/username?

Если позже вы можете легко поместить все ваши Vim-связанные вещи в вашем доме каталог и использовать Vim сервера почти так же, как вы бы использовали MacVim. Вы даже можете построить ctags где-нибудь в вашем домашнем каталоге и использовать его ...

Если вы входите под своим именем, но не имеете домашнего каталога, вы можете поместить свои Vim-файлы туда, где у вас есть доступ на запись, и добавить его путь к мастеру .vimrc с if / else проверяет ваше имя пользователя.

Я не тестировал это решение, но я использую аналогичный метод для загрузки различных настроек, будь то на моем Mac или на моем Ubuntu вставка:

if has("gui_running")

  "various gui settings

  let os=substitute(system('uname'), "\n", "", "")
  if os == "Darwin" || os == "Mac"

    "Mac-specific settings

  elseif os == "Linux"

    "Linux-specific settings

  endif

endif

Может быть, с помощью команды whoami ...

MacFuse версия взрывателя. Но, к сожалению, они больше не поддерживали проект, и у него есть некоторые проблемы со Снежным Барсом, но естьисправление .