Это, безусловно, выполнимо в vim. Вы можете использовать протокол scp: // в vim для редактирования удаленных файлов и настроить команду, которая пишет локальную копию. Вы также можете изменить, какую программу использует vim для: make сделать ssh make вместо этого на вашем сервере.
Вам нужно настроить свои ssh-ключи, чтобы сохранить это безболезненно (в противном случае вы будете вводить пароль все время), но это довольно легко.
Другой альтернативой было бы дистанционное репозиционирование как часть вашей команды make, а не дистанционное редактирование.
РЕДАКТИРОВАТЬ:
Во-первых, с использованием протокола scp://
в пределах Vim. Из :help netrw-start
(или вниз страниц из :help scp
)
Netrw поддерживает "прозрачное" редактирование файлов на других машинах, используя URLs (см | netrw прозрачных |). В качестве примера предположим, что у вас есть учетная запись на другой машине; если вы можете использовать scp, попробуйте:
vim scp://hostname/path/to/file
Хотите сделать ssh/scp более легким в использовании? Посмотрите | netrw-ssh-hack |!
Вы также можете использовать scp://
путь в :edit
командах, или действительно где-нибудь, что вы можете использовать обычный путь.
И из упомянутых :help netrw-ssh-hack
, инструкции о том, как настроить SSH ключи:
ПОВЫШЕНИЕ ОБЗОР * netrw-listhack * * netrw-SSH-хак * {{{2
Особенно с удаленным каталогом браузера, постоянно вводя пароль является утомительным.
Для систем Linux/Unix, книга "Linux Server Hacks - 100 промышленных прочность советы & инструменты" Роб Flickenger (O'Reilly, ISBN 0-596-00461-3) дает подсказку для настройки нет -password ssh и scp и обсуждает связанные с ними проблемы безопасности . Раньше он был доступен по адресу http://hacks.oreilly.com/pub/h/66, , но, видимо, этот адрес теперь перенаправляется на какой-то «хакзин». я попытка резюме на основе этой статьи и на связи с Бен Шмидт:
(1) Создание/приватную пару ключей общественности на локальном компьютере (SSH клиент):
ssh-keygen -t rsa
(сохранение файла в ~/.ssh/id_rsa в соответствии с запросом)
(2) Просто нажмите, когда вас попросят ввести парольную фразу (дважды) для no passphrase. Если вы используете кодовую фразу, вам также нужно будет использовать ssh-агент , поэтому вам нужно только ввести парольную фразу один раз за сеанс. Если вы не используете кодовую фразу, просто войти на ваш локальный компьютер или получить доступ к ключевому файлу каким-либо образом будет достаточно для доступа к любым серверам ssh, у которых есть этот ключ, разрешенный для входа.
(3) Это создает два файла:
~/.ssh/id\_rsa
~/.ssh/id\_rsa.pub
(4) На целевой машине (SSH сервер):
cd
mkdir -p .ssh
chmod 0700 .ssh
(5) на локальном компьютере (SSH клиент): (одна линия)
ssh {serverhostname} cat '>>' '~/.ssh/authorized\_keys2' < ~/.ssh/id_rsa.pub
или, для OpenSSH, (одна линия)
ssh {serverhostname} cat '>>' '~/.ssh/authorized\_keys' < ~/.ssh/id_rsa.pub
Вы можете проверить это с
ssh {serverhostname}
и вы должны войти на машину сервера без дальнейшей необходимости набирать ничего.
Если вы решили использовать ключевую фразу, сделайте следующее:
ssh-agent $SHELL
ssh-add
ssh {serverhostname}
Вам будет предложено ввести пароль ключа при использовании SSH-добавить, но не впоследствии, когда вы используете SSH. Для использования с Vim, вы можете использовать
ssh-agent vim
и, когда в следующий раз в Vim, используйте
:!ssh-add
В качестве альтернативы, вы можете применить SSH-агента к терминалу вы планируете на работает Vim в :
ssh-agent xterm &
и делать ssh-add, когда вам нужно.
Для Windows люди в списке рассылки vim упомянули, что Pageant помогает , избегая постоянной необходимости вводить пароль.
Kingston Fung писал о другом пути, чтобы избежать постоянно нуждаясь ввести пароли:
Для того, чтобы избежать необходимости ввести пароль для УПП каждый раз, когда вы обеспечить хак в Документах настройте учетную запись без пароля ssh. Я нашел лучший способ сделать это: я могу использовать обычную учетную запись ssh, которая использует пароль для доступа к материалу без необходимости вводить пароль каждый раз. Это хорошо для безопасности и удобства. Я попробовал открытый ключ ssh авторизация + ssh-agent, реализующий это, и он работает!Вот два ссылки с инструкциями:
Для создания на удаленных системах, необходимо установить makeprg
переменную сделать SSH делает. От :help makeprg
Программа, используемая для команды «: make». См. |: Make_makeprg |. Эта опция может содержать символы «%» и «#», которые расширяются до текущего и альтернативного имени файла. |: _% | |: _ # | Переменные окружения расширяются |: set_env |. См. | Опция-обратная косая черта | о включении пробелов и обратных косых черт.
Обратите внимание, что символ '|' должен быть экранирован дважды: один раз для «: set» и один раз для интерпретация команды. При использовании фильтра под названием «MyFilter» сделать это следующим образом:
:set makeprg=gmake\ \\\|\ myfilter
Заполнитель «$ *» может быть дан (даже несколько раз), чтобы указать , где будут включены аргументы, например:
:set makeprg=latex\ \\\\nonstopmode\ \\\\input\\{$*}
Этот параметр не может быть установлен с | modeline | или в песочнице | для причинам безопасности.
Но я не хочу зависеть от чеков для сборки; Я хочу сначала создать, чтобы убедиться, что это хорошо до регистрации. –